アプリ版:「スタンプのみでお礼する」機能のリリースについて

ニュートン法を用いてケプラー問題を解くプログラムを作りたいのですが、正直全然わかりません。

問題は、θ(t)に対する非線型方程式
  f(θ)=θ - e*sinθ - t = 0 を解くというものです。
ここではe = 0.5としてニュートン法を用いてθを求めるんですが、
どうプログラムを書いていけばいいか見当がつきません。
どなたか教えてください・・・
宜しくお願いします。

A 回答 (2件)

>.... 問題は、θ(t)に対する非線型方程式


>  f(θ)=θ - e*sinθ - t = 0 を解くというものです。
>ここではe = 0.5としてニュートン法を用いてθを求める....

ニュートン法を用いて f(θ) の零点を勘定するのでしたら、下記参照。
 http://www-utap.phys.s.u-tokyo.ac.jp/~fujii/m1se …
>ケプラー方程式 / 2 二体問題
>u = L + e sin u  (2.228)

ふつうのニュートン法にすぎませんが..... 。
  xn+1 = xn - f(xn)/f'(xn)  (2.234)
 
    • good
    • 0

ニュートン法は


θ=θ(t)のθ=0とするtの近似値を数値計算で求めるものですが、

質問の問題はθを求めたいようですので、ニュートン法を適用できる問題ではないと思いますが如何でしょう。

何をしたいかが、今ひとつわかりかねます。
問題を整理して補足いただけませんか?

この回答への補足

省略しすぎでした・・すみません。
問題を全部書くと↓のようになります。

ケプラー問題で相対距離r=(x、y)は次の運動方程式に従う。
 d^2r/dt^2 = -r/r^3 (両辺の分子にあるrはどちらもベクトルで、右辺の分母のrはスカラーです。)
運動の保存量は全エネルギーE=v^2/2 - 1/r と
角運動量l=r^2*(dφ/dt)である。
簡単のためE=-1/2とすると質点の楕円軌道の長径は1になる。
また楕円軌道の離心率をeとするとl = (1-e^2)^(1/2)となる。
ここで新しい座標θを導入する。(θは楕円軌道上の1点と中心を結んだ線分とx軸のなす角。)
x = cosθ - e , y = {(1-e^2)^(1/2)}*sinθとなる。
ここで角運動量の保存則をθで表し、θ(0)=0の初期条件で1回積分すると  θ - e*sinθ = t  を得る。
離心率eを与え、時刻tを決めるとθ(t)に対する非線形方程式
 f(θ)=θ- e*sinθ - tを解く問題となる。

(1)Newton法を用いてθを求めよ。ただしe = 0.5とする。


こんな感じです。これについてのプログラムをC言語を使って作るというものです。長々とすみません。

補足日時:2008/12/11 23:18
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!