2. Example-2
Find y(0.5) for `y'=-2x-y`, `x_0=0, y_0=-1`, with step length 0.1 using Runge-Kutta 3 method (1st order derivative)
Solution: Given `y'=-2x-y, y(0)=-1, h=0.1, y(0.5)=?`
Third order R-K method `k_1=hf(x_0,y_0)=(0.1)f(0,-1)=(0.1)*(1)=0.1`
`k_2=hf(x_0+h/2,y_0+k_1/2)=(0.1)f(0.05,-0.95)=(0.1)*(0.85)=0.085`
`k_3=hf(x_0+h,y_0+2k_2-k_1)=(0.1)f(0.1,-0.93)=(0.1)*(0.73)=0.073`
`y_1=y_0+1/6(k_1+4k_2+k_3)`
`y_1=-1+1/6[0.1+4(0.085)+(0.073)]`
`y_1=-0.9145`
`:.y(0.1)=-0.9145`
Again taking `(x_1,y_1)` in place of `(x_0,y_0)` and repeat the process
`k_1=hf(x_1,y_1)=(0.1)f(0.1,-0.9145)=(0.1)*(0.7145)=0.07145`
`k_2=hf(x_1+h/2,y_1+k_1/2)=(0.1)f(0.15,-0.87878)=(0.1)*(0.57877)=0.05788`
`k_3=hf(x_1+h,y_1+2k_2-k_1)=(0.1)f(0.2,-0.8702)=(0.1)*(0.4702)=0.04702`
`y_2=y_1+1/6(k_1+4k_2+k_3)`
`y_2=-0.9145+1/6[0.07145+4(0.05788)+(0.04702)]`
`y_2=-0.85617`
`:.y(0.2)=-0.85617`
Again taking `(x_2,y_2)` in place of `(x_1,y_1)` and repeat the process
`k_1=hf(x_2,y_2)=(0.1)f(0.2,-0.85617)=(0.1)*(0.45617)=0.04562`
`k_2=hf(x_2+h/2,y_2+k_1/2)=(0.1)f(0.25,-0.83336)=(0.1)*(0.33336)=0.03334`
`k_3=hf(x_2+h,y_2+2k_2-k_1)=(0.1)f(0.3,-0.83511)=(0.1)*(0.23511)=0.02351`
`y_3=y_2+1/6(k_1+4k_2+k_3)`
`y_3=-0.85617+1/6[0.04562+4(0.03334)+(0.02351)]`
`y_3=-0.82242`
`:.y(0.3)=-0.82242`
Again taking `(x_3,y_3)` in place of `(x_2,y_2)` and repeat the process
`k_1=hf(x_3,y_3)=(0.1)f(0.3,-0.82242)=(0.1)*(0.22242)=0.02224`
`k_2=hf(x_3+h/2,y_3+k_1/2)=(0.1)f(0.35,-0.8113)=(0.1)*(0.1113)=0.01113`
`k_3=hf(x_3+h,y_3+2k_2-k_1)=(0.1)f(0.4,-0.82241)=(0.1)*(0.02241)=0.00224`
`y_4=y_3+1/6(k_1+4k_2+k_3)`
`y_4=-0.82242+1/6[0.02224+4(0.01113)+(0.00224)]`
`y_4=-0.81092`
`:.y(0.4)=-0.81092`
Again taking `(x_4,y_4)` in place of `(x_3,y_3)` and repeat the process
`k_1=hf(x_4,y_4)=(0.1)f(0.4,-0.81092)=(0.1)*(0.01092)=0.00109`
`k_2=hf(x_4+h/2,y_4+k_1/2)=(0.1)f(0.45,-0.81038)=(0.1)*(-0.08962)=-0.00896`
`k_3=hf(x_4+h,y_4+2k_2-k_1)=(0.1)f(0.5,-0.82994)=(0.1)*(-0.17006)=-0.01701`
`y_5=y_4+1/6(k_1+4k_2+k_3)`
`y_5=-0.81092+1/6[0.00109+4(-0.00896)+(-0.01701)]`
`y_5=-0.81955`
`:.y(0.5)=-0.81955`
`:.y(0.5)=-0.81955`
This material is intended as a summary. Use your textbook for detail explanation. Any bug, improvement, feedback then
|