買書捐殘盟

2010年4月27日 星期二

Runge Kutta Method order 2

微分方程式y'=y; y(0)=1

Ans:

使用Runge Kutta Method order 2:

Runge-Kutta Method通式:

y'=f(x,y)

xi=x0+ih,i=0,1,2…

yk+1=yk+(1/2).(k1+k2)

其中

k1=h.f(xk,yk)

k2=h.f(xk+h,yk+k1)

假設h=0.5(漸進步距)

所以:

y'=f(x,y)=y

y(0)=1,換句話說y0=1

x1=x0+i×h=0+1×0.5=0.5

k1=h×f(x0,y0)=0.5×f(0,1)=0.5×1=0.5

k2=h×f(x0+h,y0+k1)=0.5×f(0+0.5,1+0.5)=0.5×f(0.5,1.5)=0.5×1.5=0.75

其中f(x,y)=y,帶入x=0,y=1進f(x,y)中,得f(0,1)=1

--> y1=y0+(1/2)×(k1+k2)=1+(1/2)×(0.5+0.75)=1.625

x2=x0+i×h=0+2×0.5=1.0

k1=h×f(x1,y1)=0.5×f(0.5,1.625)=0.5×1.625=0.8125

k2=h×f(x1+h,y1+k1)

=0.5×f(0.5+0.5,1.625+0.8125)

=0.5×f(1,2.4375)=0.5×2.4375=1.2188

-->y2=y1+(1/2)×(k1+k2)=1.625+(1/2)×(0.8125+1.2188)=2.6406

對正式解而言,前述y’=y,y(0)=1的通解是y=ex:

1. y(0)=1

2. y(0.5)=1.6487,經由Runge-Kutta方法計算的y1=1.625,

誤差率=(1.6487-1.625)/1.625=1.46%

3.y(1)=2.71828,經由Runge-Kutta方法計算的y2=2.6406,

誤差率=(2.71828-2.6406)/2.6406=2.94%

沒有留言:

張貼留言