Runge-Kutta method: Difference between revisions

no edit summary
(rearranges in order of the language.)
No edit summary
Line 303:
y(9.00) = 451.56245928 Error = 9.0182772312e-8
y(10.0) = 675.99994902 Error = 7.5419063100e-8
</pre>
 
=={{header|ERRE}}==
<lang ERRE>
PROGRAM RUNGE_KUTTA
 
CONST DELTA_T=0.1
 
FUNCTION Y1(T,Y)
Y1=T*SQR(Y)
END FUNCTION
 
BEGIN
Y=1.0
FOR I%=0 TO 100 DO
T=I%*DELTA_T
 
IF T=INT(T) THEN ! print every tenth
ACTUAL=((T^2+4)^2)/16 ! exact solution
PRINT("Y(";T;")=";Y;TAB(20);"Error=";ACTUAL-Y)
END IF
 
K1=Y1(T,Y)
K2=Y1(T+DELTA_T/2,Y+DELTA_T/2*K1)
K3=Y1(T+DELTA_T/2,Y+DELTA_T/2*K2)
K4=Y1(T+DELTA_T,Y+DELTA_T*K3)
Y+=DELTA_T*(K1+2*(K2+K3)+K4)/6
END FOR
END PROGRAM</lang>
{{out}}
<pre>
Y( 0 )= 1 Error= 0
Y( 1 )= 1.5625 Error= 2.384186E-07
Y( 2 )= 3.999999 Error= 7.152558E-07
Y( 3 )= 10.5625 Error= 1.907349E-06
Y( 4 )= 25 Error= 3.814697E-06
Y( 5 )= 52.56249 Error= 7.629395E-06
Y( 6 )= 100 Error= 0
Y( 7 )= 175.5625 Error= 0
Y( 8 )= 289 Error= 0
Y( 9 )= 451.5625 Error= 0
Y( 10 )= 676.0001 Error=-6.103516E-05
</pre>
 
Anonymous user