数値解析法及び演習 第九回

常微分方程式II: ケプラーの法則
  1. 運動方程式
  2. ケプラーの法則
  3. 第二法則を発見しよう
  4. 第三法則を発見しよう
  5. 第一法則を発見しよう
  6. 今日の宿題

[1] 運動方程式

質点mが力Fを受けてx軸上を運動するときの運動方程式は以下のようにかける.


\begin{displaymath}
m{d^2x\over dt^2}=F
\end{displaymath} (1)

この二階常微分方程式は次の連立微分方程式に変換することができる.


\begin{displaymath}
m{dv\over dt}=F
\end{displaymath} (2)


\begin{displaymath}
{dx\over dt}=v
\end{displaymath} (3)

練習問題1

先週の課題を参考に,次の運動方程式(太陽からの重力を受ける惑星の運動:二次元の二階常微分方程式)をルンゲクッタ法で解くプログラムを作成せよ.


$\displaystyle {d^2x\over dt^2}$ $\textstyle =$ $\displaystyle -{x\over (x^2+y^2)^{3/2}}$  
$\displaystyle {d^2y\over dt^2}$ $\textstyle =$ $\displaystyle -{y\over (x^2+y^2)^{3/2}}$ (4)

変数がx,yと二つあることに注意せよ.t=0でx=1, y=0, vx=0, vy=1とすること.時刻,x座標,y座標と並べてファイルに出力し,gnuplotで以下のコマンドを実行することでアニメーションを観察すること.
gnuplot> n=1
gnuplot> load 'anim.txt'
ここで,anim.txtの中身は以下のとおり.
  set xrange [-1:1]
  set yrange [-1:1]

  if (n>ループ回数) exit

  plot "ファイル名" using 2:3 every 1:1:n:0:n:0 with points pt 7 ps 2,\
 "zero" with points pt 6 ps 3 

  pause 0.05

  n=n+1

  reread

"ファイル名"に結果を出力したファイル名を記入すること.時間ループの回数を"ループ回数"に記入すること.また,ファイル"zero"は,今の場合動かない太陽の位置を表し,内容は
0.D0 0.D0
としておくこと.

[2] ケプラーの法則

ケプラーの法則は、1619年にヨハネス・ケプラーによって解明 された惑星の運動に関する法則である。ケプラーは、ティコ・ブラーエの観測 記録から、太陽に対する火星の運動を推定し、以下のように定式化した。


[3] 第二法則を発見しよう

練習問題2

nステップ目の座標(xn,yn),n+1ステップ目の座標(xn+1,yn+1),および原点(0,0)からなる三角形の面積を求めよ.時間とともにどう変化するかgnuplotを用いてグラフを作成せよ.

[4] 第三法則を発見しよう

練習問題3

惑星の初期x座標を変化させて計算を行え.惑星が太陽の周りを一周するのにかかる時間(周期),および軌道長半径((初期x座標-軌道を半周したときのx座標)/2)を求めよ.横軸に周期,縦軸に軌道長半径をとりグラフを作成せよ.軌道長半径は周期の何乗に比例しているか?


[5] 第一法則を発見しよう

練習問題4

惑星の初期x座標を1とせよ.初期速度vyを変化させよ.どの速度で惑星は無限遠方に飛んでいってしまうか? またそれはなぜか?

練習問題5

練習問題4で求めた速度よりも小さい初期速度vyで計算を行え.ケプラーの第一法則により軌道は楕円になっているはずである.

二つの点(焦点)からの距離の和が一定になる点の集合が楕円である.今の場合,一方の焦点は原点(太陽),もう一方の焦点のx座標は(初期x座標+軌道を半周したときのx座標)で与えられる.一度軌道計算を行うと,焦点のx座標を求めることができる.同じ条件で再度計算を行い,二つの焦点からの距離の和が一定になっていることを確かめよ.


[6] 今日の宿題 (12/1日まで)

プログラムと,練習問題3の結果を送付すること.




日程表へ戻る <<