• ベストアンサー

高階連立常微分方程式の数値計算

4次のルンゲクッタ法を用いた数値計算を勉強しています. 1階連立常微分方程式と高階常微分方程式は理解でき,プログラムも作成することができました. 次に高階の連立常微分方程式を解こうと思ったら,頭が混乱してしまいました. 4次のルンゲクッタ法を用いて高解連立常微分方程式を解く考え方を教えて頂ければ嬉しいです. また何か良い参考書があれば教えて頂きたいと思います. よろしくお願いします.

質問者が選んだベストアンサー

  • ベストアンサー
  • rabbit_cat
  • ベストアンサー率40% (829/2062)
回答No.2

すべての変数の再高階でない微係数を、あらたな変数にしてしまえば、どんな高階の連立常微分方程式も1階連立常微分方程式になります。 たとえば、 x''+2y''+3x'y'=0 x''+4x''+5x'+6y'+7x+8y=0 とかだったら(超適当です)、 z=x' , w=y' とすれば、 z'+2w'+3zw=0 z'+4w'+5z+6w+7x+8y=0 z-x'=0 w-y'=0 と4変数の1階連立常微分方程式になります。

buntan_sanpo
質問者

お礼

わかりやすい説明ありがとうございます.ようやく高階連立方程式の解き方が理解できました.ありがとうございました.

その他の回答 (1)

  • ojisan7
  • ベストアンサー率47% (489/1029)
回答No.1

Runge-Kutta法はどの、数値解析の参考書にも載っていると思います。普通、「Runge-Kuttaの公式」といえば、4次の公式を指します。原理は2次を知れば、4次は推測できるというものです。原理はそんなに難しいものではありません。しかし、数値計算にこの方法は、かなり強力です。 わたしは、かなり古い本ですが、 「数値解析」 森正武著 共立出版 (昭和48年) を使っていました。 まだ確かめていないのですが、ネットにもあると思います。検索してみて下さい。

buntan_sanpo
質問者

お礼

早速図書館に行って調べたいと思います.図書を教えてくださいまして,ありがとうございました.

関連するQ&A

  • 常微分方程式の数値計算

    実験で常微分方程式の数値計算をしました y'(x)=2xy,y(0)=1.0(解はy=ex2)←eのx二乗の微分方程式できざみ幅h=0.1、区間〔0,2〕の条件で オイラー法と改良オイラー法とルンゲクッタ法を使って 表計算ソフトを使って求めよとあるのですが、 表計算で近似値のy座標とか Δt後のxの変化分K1とか求めるのですが、全然意味がわからなくて、 何かいい方法はないでしょうか?

  • 連立常微分方程式の問題。。。

    手元の参考書などを調べても、連立された微分方程式について書いていなくて困っています。 以下の問題なのですが、どのように進めていけばよいのでしょうか?? ------------------------------------------------------- 問) dx/dt + 2x - 3y = exp(t) dy/dt - 3x + 2y = exp(2t) について、以下の問に答えなさい。 (1)x に関する2階の非同次常微分方程式を求めなさい。 (2)(1)を解き、x の一般解を求めなさい。 (3)(2)を用い、y の一般解を求めなさい。 -------------------------------------------------------- 基本的なものなのかもしれませんが、連立微分方程式について、 一般的にどのように取り組んだらよいのかわからず困っています。 お手数ですが、よろしくお願いします。

  • 常微分方程式を解くプログラム教えて下さい

    今、数値解析という授業で4次のルンゲクッタ法で1階と2階の常微分方程式を解くプログラムをつくれという課題がでています。 RLC回路を解くという課題なのですが、RLC回路は解こうとすると微分方程式になりますので。 ネットで色々調べてみたのですが、どれもよくわかりませんでした。 問題として基礎式と初期条件、実験データというのが与えられています。 ネットでは実験データを利用するようなプログラムはありませんでした。 使わなくてもできるようなものなのでしょうか?それすらもわかりません。 私はプログラムが苦手で、そのプログラムが理解できないのでそれを参考に作ろうとしても皆目見当がつきません。 とりあえず、プログラムを理解するところから始ようと思うので、このURLのプログラムの解説をお願いします。 http://www.math.meiji.ac.jp/~mk/labo/studying-C/Programing-in-C/node45.html とりあえず基礎式や初期条件がどれなのかよくわかりません。 また、基礎式や実験データを使う場合どのようにプログラムに組みこめばよいかも教えていただけると嬉しいです。

  • 偏微分方程式の数値計算について

    偏微分方程式の解の数値計算の仕方についての質問です。 例えば、偏微分方程式の解が以下のような形だったとします。 T(x,y)=Σ(A1n*x^n+A2n*x^(-n))*cos(ny) nは変数分離定数です。A1n,A2nが積分定数です。またn=1~∞とします。 今、あるxにおけるTとyの数値計算をするとします。 つまりxを定数として扱います。 そして、上式を条件に代入して解を求めるのですが、 n=3の場合の結果が欲しい場合は、 n=1,2,3のとき連立方程式をそれぞれで解いて、 数値結果は、 (n=1の結果)+(n=2の結果)+(n=3の結果) という考え方であってますか? アドバイスをお願いします。 プログラムで数値計算をするのですがなかなかうまくいかずこまっています。

  • 数値解析 微分方程式

    数値解析における常微分方程式を解くために用いる手法についてです。 オイラー公式、ホルン公式、ルンゲクッタ、ルンゲクッタ4次、有限差分法の関係 違いがよくわからなのでどなたか教えてください また常微分方程式を有限差分で解くとなったとき、結局オイラー公式などを使うと言う認識で間違いないでしょうか?それとも有限差分だけで解けるのでしょうか

  • 微分方程式をオイラー法でときたい

    高階常微分方程式 y” =f(x、y) y(0)=yo y’(0)=y’o この式と初期値でオイラー法を使って解きたいのですが... オイラー法を二回使えばよい、一階の連立方程式に なおせばよい。という意味がいまいちつかめません。 教えていただけると助かります。お願いします。

  • ルンゲクッタの連立常微分の解き方が分かりません。

    「スライディングモード制御」という制御システムの基本的な考え方である、 次の連立常微分方程式をルンゲクッタ法で解いて、さらにC++でのプログラムを 作るのですが、インターネットや書籍で色々調べてもうまく分かりません。 どなたかお教えください。よろしくお願いします。 (式) x’=y y’=2y-x+u u=-φx フィードバックゲイン φ= 4   σ(x、y)>0                  -4   σ(x、y)<0 σ(x、y)=xS,S=0.5x+y 閉ループシステム? 以上が与えられている情報です。 初期値や刻み幅hなどの指定がないため余計に混乱しています。 (自分で適当な値を決めればいいのでしょうか?) ルンゲクッタの解き方だけでもわかればプログラムもなんとかできるかもしれないので、 どうかよろしくお願いします。

  • この方程式、stiffなんでしょうか・・・

    僕は以下のような連立微分方程式を数値計算で解こうと試みています。 現在微分方程式の解を級数展開と変数変換とルンゲクッタ法で求めようとしています。 しかし、どのように初期値をいじっても必ず解が発散してしまいます。 色々と自分で調べてみる過程で微分方程式を数値計算で解くときにstiff問題というものが生じることがあると知りました。 解の挙動が急に変わる場合や境界条件に大きく依存する場合などで途中からルンゲクッタ法などで数値計算できなくなり、解が発散してしまうという条件がぴったり自分の場合と一致しました。 以下の連立微分方程式はstiffなのでしょうか? (x-1)^4*f ''(x)+(2x-1)(x-1)^3/x*f '(x)-{ ((x-1)/x+A(x))^2+f^2-1 }f=0, (x-1)^4*A''(x)+(2x-1)(x-1)^3/x*A'(x)-(x-1)^2/x^2A(x)-f^2(A+(x-1)/x)=0 stiffだとルンゲクッタ法は使えなくなってしまうんですよね・・・・?

  • 常微分方程式、4次のルンゲクッタ法

    (d^2x/dt^2)-2(dy/dt)=f(x) (d^2y/dt^2)+2(dx/dt)=g(y) この連立常微分方程式を4次のルンゲクッタ法で解くためにはどうすればいいのでしょうか?

  • 常微分方程式の問題

    微分方程式x'=x^2-t-1で初期値がx(0)=1の問題で、 オイラー法とルンゲクッタ法は出せたのですが、 それらと比較するために出す解析解がわかりません。 どなたかよろしくお願いします。