情報科学概論II(実習) 11回目

  課題は実習日中に提出〆切り (再提出〆切りは来週の13:00まで)
  課題提出はTACTにログインして行うこと
講義資料 スライド

今日やること


講義資料を参考にして、以下の各課題のプログラムをそれぞれ作成し、実行せよ。 TACTを使用した課題の提出については、各設問の指示に従うこと。

課題11-1

原点にある質量Mの物体から引力を受ける質点の運動を調べる。 この時質点の運動は2次元面内にあるとして良く、この運動平面をx-y面と すると質点が受ける力のx,y各成分は以下のようになる。



但しここでGM=1の単位系を用いている。 質点を最初 に置き、いずれの場合においても初速度を(vx,vy)=(0,1) で運動を開始させた。この時の軌道を数値積分により求めよ(参考:講義資料のオイラー法のサンプルプログラム)。 数値積分にはオイラー法を使用すれば良いが、 余裕のある人は、より精度の高い方法を用いても良い。
  1. 数値積分を行ったC言語プログラムのソースコードをTACTで提出せよ。
  2. 中心力ポテンシャル中の運動では、原点周りの角運動量が保存するはずである。数値積分により得られた解軌道を元に、横軸を時間t、縦軸を角運動量Lz としてグラフを描画し、角運動量の値がおおよそ一定値に保たれているか確認せよ。x軸とy軸に適切なラベルをつけること。描画したグラフをTACTで提出せよ。
  3. 4つの初期条件でのx-y平面上の解軌道を図示し、それぞれどうしてそのような軌道になるかを考察せよ。解軌道のグラフ(x軸とy軸に適切なラベルをつけること)と、4つの軌道がそのようになる理由の考察をTACTで提出せよ。

課題11-2

講義資料3章の斜方投射を境界値問題として解く問題のプログラムを、投射角度が30度以外の場合にも適用できるプログラムに書き換えよ。(投射距離と投射角度を入力すると、それらに対応した投射初速度を与えるプログラムにする。)その上で、投射角度を50度にした場合、投射距離を50mとするための投射速度を数値的に求めよ。プログラムのソースと、投射角度を50度にした場合に投射距離が50mとなる初速度の答えをTACTで提出せよ。時間に余裕のある人は、様々な投射距離や投射角度の場合についても考察せよ。

課題11-3 追加問題(必答では無いが取り組んだ場合は加点)

上記の課題11-1もしくは11-2をより精度の高い方法を使用したもの(講義資料1〜2ページ目参照)に書き換え、実行した結果が精度の低い方法の場合と比べ誤差がどのように変化するかを調べよ。