プロが教えるわが家の防犯対策術!

dy/dx+y=x+1

という一階微分方程式を逐次近似法で解きたいのですが、残念ながらやり方が解りません。
どなたか説明していただけないでしょうか。

夜も遅いですが、どうかよろしくお願いいたします。

A 回答 (2件)

具体的な初期条件が与えられていませんか? x = 0 のとき y = 1 とか


初期条件を一般化して計算すると面倒な式になります。

Tacosan の逐次近似法とは以下の手順で y(x) の近似式を次々に求める方法です。
(1) 求めたい関数 y(x) の初期条件を y0 = y(x0) とする( x = x0 のとき y = y0 )
(2) 微分方程式を dy/dx = の形に変形する。
    dy/dx + y = x + 1 なら
    dy/dx = -y + x + 1
(3) f( x, y) = dy/dx という関数 f を定義する
   問題の微分方程式では f( x, y ) = dy/dx = -y + x + 1
(4) y(x) の第1近似式を次式で求める
      y1(x) = y0 + ∫[ t = x0~x ] f( t, y0 ) dt
   問題の微分方程式では
      y1(x) = y0 + ∫[ t = x0~x ] ( -y0 + t + 1 ) dt
          = y0 + ( 1 - y0 )*( x - x0 ) + ( x^2 - x0^2 )/2
(5) さらに高次の近似式を次式で逐次求めていく
      y2(x) = y0 + ∫[ t = x0~x ] f( t, y1(t) ) dt
      y3(x) = y0 + ∫[ t = x0~x ] f( t, y2(t) ) dt
      ・・・・・
      y[n](x) = y0 + ∫[ t = x0~x ] f( t, y[n-1](t) ) dt

【具体的な初期条件が与えられている場合の近似式と厳密解の比較】
(近似式)
具体的な初期条件が与えられている場合、例えば y(0) = 1 ならば、x0 = 0、y0 = 1 なので
      y1(x) = y0 + ∫[ t = x0~x ] ( -y0 + t + 1 ) dt
          = 1 + ∫[ t = 0~x ] ( -1 + t + 1 ) dt
          = 1 + ∫[ t = 0~x ] t dt
          = 1 + (1/2)x^2
      y2(x) = y0 + ∫[ t = x0~x ] f( t, y1(t) ) dt
          = 1 + ∫[ t = 0~x ] [ -{ 1 + (1/2)t^2 } + t + 1 ] dt
          = 1 + [ t = 0~x ] { t - (1/2)*t^2 } dt
          = 1 + (1/2)*x^2 - (1/6)*x^3
      y3(x) = y0 + ∫[ t = x0~x ] f( t, y2(t) ) dt
          = 1 + ∫[ t = 0~x ] [ -{ 1 + (1/2)*x^2 - (1/6)*x^3 } + t + 1 ] dt
          = 1 + [ t = 0~x ] { t - (1/2)*t^2 + (1/6)*t^3 } dt
          = 1 + (1/2)*x^2 - (1/6)*x^3 + (1/24)*x^4
(厳密解)
dy/dx + y = x + 1 の解は
     y = x + ( y0 - x0 )*exp( x0 - x )
ですが、x0 = 0, y0 = 1 ならば
     y = x + exp(-x)
が解となります。これを x = 0 (初期値)の周囲で級数展開すると
     y = 1 + (1/2)*x^2 - (1/6)*x^3 + (1/24)*x^4 - (1/120)*x^5 + (1/720)*x^6 - ・・・
なので、近似式の次数を増やすほど厳密解に近づいていくことが分かります。
    • good
    • 0

え~と....


ちょいと調べればやり方は見付かると思いますが....
「ピカールの逐次近似」って名前があるんですね.
    • good
    • 2

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