20 lines
1.4 KiB
Plaintext
20 lines
1.4 KiB
Plaintext
Given the example Differential equation:
|
||
:<math>y'(t) = t \times \sqrt {y(t)}</math>
|
||
With initial condition:
|
||
:<math>t_0 = 0</math> and <math>y_0 = y(t_0) = y(0) = 1</math>
|
||
This equation has an exact solution:
|
||
:<math>y(t) = \tfrac{1}{16}(t^2 +4)^2</math>
|
||
;Task
|
||
Demonstrate the commonly used explicit [[wp:Runge–Kutta_methods#Common_fourth-order_Runge.E2.80.93Kutta_method|fourth-order Runge–Kutta method]] to solve the above differential equation.
|
||
* Solve the given differential equation over the range <math>t = 0 \ldots 10</math> with a step value of <math>\delta t=0.1</math> (101 total points, the first being given)
|
||
* Print the calculated values of <math>y</math> at whole numbered <math>t</math>'s (<math>0.0, 1.0, \ldots 10.0</math>) along with error as compared to the exact solution.
|
||
;Method summary
|
||
Starting with a given <math>y_n</math> and <math>t_n</math> calculate:
|
||
:<math>\delta y_1 = \delta t\times y'(t_n, y_n)\quad</math>
|
||
:<math>\delta y_2 = \delta t\times y'(t_n + \tfrac{1}{2}\delta t , y_n + \tfrac{1}{2}\delta y_1)</math>
|
||
:<math>\delta y_3 = \delta t\times y'(t_n + \tfrac{1}{2}\delta t , y_n + \tfrac{1}{2}\delta y_2)</math>
|
||
:<math>\delta y_4 = \delta t\times y'(t_n + \delta t , y_n + \delta y_3)\quad</math>
|
||
then:
|
||
:<math>y_{n+1} = y_n + \tfrac{1}{6} (\delta y_1 + 2\delta y_2 + 2\delta y_3 + \delta y_4)</math>
|
||
:<math>t_{n+1} = t_n + \delta t\quad</math>
|