Runge-Kutta method: Difference between revisions

Runge-Kutta method in various BASIC dialents (QBasic and True BASIC)
(Added Hare)
(Runge-Kutta method in various BASIC dialents (QBasic and True BASIC))
Line 509:
180 LET Y=Y+.1*(K1+2*(K2+K3)+K4)/6
190 NEXT</lang>
 
==={{header|QBasic}}===
{{works with|QBasic|1.1}}
{{works with|QuickBasic|4.5}}
<lang qbasic>y! = 1
FOR i = 0 TO 100
t = i / 10
 
IF t = INT(t) THEN
actual! = ((t ^ 2 + 4) ^ 2) / 16
PRINT USING "y(##) = ###.###### Error = "; t; y;
PRINT actual - y
END IF
 
k1! = t * SQR(y)
k2! = (t + .05) * SQR(y + .05 * k1)
k3! = (t + .05) * SQR(y + .05 * k2)
k4! = (t + .1) * SQR(y + .1 * k3)
y = y + .1 * (k1 + 2 * (k2 + k3) + k4) / 6
NEXT i</lang>
 
==={{header|True BASIC}}===
{{works with|QBasic}}
<lang qbasic>LET y = 1
FOR i = 0 TO 100
LET t = i / 10
 
IF t = INT(t) THEN
LET actual = ((t ^ 2 + 4) ^ 2) / 16
PRINT "y("; STR$(t); ") ="; y ; TAB(20); "Error = "; actual - y
END IF
 
LET k1 = t * SQR(y)
LET k2 = (t + 0.05) * SQR(y + 0.05 * k1)
LET k3 = (t + 0.05) * SQR(y + 0.05 * k2)
LET k4 = (t + 0.10) * SQR(y + 0.10 * k3)
LET Y = Y + 0.1 * (k1 + 2 * (k2 + k3) + k4) / 6
NEXT i
END</lang>
 
 
=={{header|C}}==
2,139

edits