關於部落格
  • 127036

    累積人氣

  • 30

    今日人氣

    0

    追蹤人氣

IVP.2階方程組的RungeKutta計算

我們可以假設 z=[u1 u2]', F=[f1,f2]' 則可以得到
z' = F( t, z)
的微分方程式

對於初始值問題(IVP)
u1'(t)=f1(t,u1,u2), a<t<b
u2'(t)=f2(t,u1,u2)
u1(a)=alpha1
u2(a)=alpha2
經過轉換就變成
z'=F(t,z), a<t<b
z(a)=alpha, alpha=[alpha1,alpha2]'
於是就可以用RungeKutta法對他做計算

二階常微分方程數值計算--->化作一階常微分方程
對於問題 y''=f(t,y,y') 作法是設
u1=y --- z(1), u2=y' --- z(2)
所以
f1=u1'=y'=z(2), f2=u2'=y''=f(t,y,y')=f(t,z(1),z(2))
依照上面的方法一樣可以化成
z'=f(t,z)
的形式, 所以轉換後就可以使用 RungeKutta 法來計算了

範例:
y''-2y'+2y=exp(2t)sin(t), 0<t<1
y(0)=-0.4, y'(0)=-0.6

經過移項得到 y''=f(t,y,y')=2y'-2y+exp(2t)sin(t)

設 z=[y y']' 則
F=z'=[y' y'']'=[y' 2y'-2y+exp(2t)sin(t)]'=[z(2) 2z(2)-2z(1)+exp(2t)sin(t)]'

z(0)=[-0.4, -0.6]'

程式碼範例:
1.matlab,
; 2.maple, ; 3.C語言, .

相簿設定
標籤設定
相簿狀態