• 締切済み

ルンゲクッタ法による岩石の軌跡を求める

ルンゲクッタ法により、地球の周りの岩石がどのような輪の軌跡で円運動しているのかを求める勉強をしています。 が、プログラムは作成したものの、結果がまったくありえない数字になってしまったのです… バックグラウンドとしては 岩石は地球から500kmの付近を10km/sで移動している。 微分方程式はf(x,v)=v(t) g(x,v)=-GMx(t)/r*r*r これをy成分でも行なう。 そしてxとyの座標をプロットする。 Gは重力定数、Mは地球の重力を表しています。 このxとyの座標が時間(t)によってどのような軌跡を描いて移動するのかがわかればいいのですが…予測される綺麗な円運動とは程遠い結果になってしまいました… どなたか、「この分野だったら任せろ!」「このHPなら詳しくのってるよ~」という方はいらっしゃいませんでしょうか? 私自身が検索しても、振り子の単振動などしか見つけることができませんでした。似たような例が載っているHPなどありましたら是非教えてください。お願いいたします。 長文失礼いたしました。

みんなの回答

回答No.3

 この設定での解析解を求めることは、気の利いた微分方程式の教科書には載っていると思いますが、数値解である必要はあるのでしょうか?  また、逆二乗則の運動方程式を解くのならルンゲクッタより適切な手法があると思いますが、ルンゲクッタでなければならないのでしょうか?

回答No.2

#1です。 申し訳ありません。 見慣れない表記だったもので、勘違いをしました。 微分方程式は、間違いではなく、私の読み違いのようですね。 大変失礼したしました。お詫び申し上げます。プログラムをテストして、適切な刻み幅を選択してみてください。

回答No.1

Runge-Kutta法の問題ではなく、物理の問題になるかと思います。 ・まず、岩石の軌跡はきれいな円運動にはなりません。一般に楕円になります(初期値によっては、きれいな円運動にもなり得ますが)。 ・次に、微分方程式が間違っていますね。万有引力の法則をもう一度見直して下さい。 それでもおかしい場合は、プログラムそのものを疑いましょう。簡単な微分方程式の例題(ご自分で解けるもので十分です)で何回かテストして見て下さい。まあ、本来ならテストは終わっている筈ですけれど。 Runge-Kutta法の話も簡単にしておきましょう。 重力可の運動は、微分方程式に特に困難な点がないため、刻み幅(h)の選択も神経を使う必要はなく、適当に小さい値を固定したまま使って問題ないでしょう。適当な刻み幅で始めてみて、解が安定するまで刻み幅を半分に減らし続けていけば、まあまあ悪くない刻み幅が得られます。今勉強されている範囲であれば、それで十分でしょう。 ご不明の点は、補足でお願いします。

zamax
質問者

お礼

ありがとうございました! 値を全体的に小さくしたらちゃんと円(楕円)になりましたよ! 次に離心率を求めるんですが、これがまた苦労してます。