常微分方程式の数値解法at SIM常微分方程式の数値解法 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト69:名無しさん@5周年 06/07/30 15:32:42 ちょっと微分っぽく戻して dx/dt =f1(x, y, z) dy/dt =f2(x, y, z) z=f3(x, y) これらを差分にする xの数列をx[n-1], x[n], x[n+1] yの数列をy[n-1], y[n], y[n+1] zの数列をz[n-1], z[n], z[n+1] などとおく。 時間差を⊿tとする 前進差分なら z[n]=f3(x[n], y[n]) x[n+1]=x[n]+⊿t*f1(x[n], y[n], z[n]) y[n+1]=y[n]+⊿t*f2(x[n], y[n], z[n]) これを順次代入し続ければ良い。これは>>65方式。 70:名無しさん@5周年 06/07/30 15:42:25 で、後退差分なら z[n]=f3(x[n], y[n]) x[n]=x[n-1]+⊿t*f1(x[n], y[n], z[n]) y[n]=y[n-1]+⊿t*f2(x[n], y[n], z[n]) ↓ x[n]-⊿t*f1(x[n], y[n], z[n]) = x[n-1] y[n]-⊿t*f2(x[n], y[n], z[n]) = y[n-1] ってやるのが本来で、これを連立方程式の形にして 行列にぶち込んで解きたい所だが、 これじゃ解けないから、f1(x[n], y[n], z[n])を テーラー展開してf1(x[n-1], y[n-1], z[n-1])と1次 差分項くらいで弄り回す必要が出てくるなあ やっぱ後退ダメだなw 前進でも2次のホイン法あたりで解こう 最後は4次のルンゲクッタ、4次におまけがついた ルンゲクッタジルでも使うか 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch