Runge-Kutta method: Difference between revisions
Content added Content deleted
m (→{{header|REXX}}: added whitespace, optimized a function, simplified some code.) |
m (added whitespace.) |
||
Line 6: | Line 6: | ||
This equation has an exact solution: |
This equation has an exact solution: |
||
:<math>y(t) = \tfrac{1}{16}(t^2 +4)^2</math> |
:<math>y(t) = \tfrac{1}{16}(t^2 +4)^2</math> |
||
;Task |
;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. |
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) |
* 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. |
* 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 |
;Method summary |
||
Starting with a given <math>y_n</math> and <math>t_n</math> calculate: |
Starting with a given <math>y_n</math> and <math>t_n</math> calculate: |
||
Line 19: | Line 23: | ||
:<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>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> |
:<math>t_{n+1} = t_n + \delta t\quad</math> |
||
<br><br> |
|||
=={{header|Ada}}== |
=={{header|Ada}}== |