System of Two Differential Equations, Runge Kutta 4th Order
Casio fx-9750GIII and fx-CG50: System of Two Differential Equations, Runge Kutta fourth Order
Presentation
The program TWORK4 utilizations the Runge Kutta fourth Order strategy to illuminate the accompanying arrangement of differential conditions:
dx/dt = f(t, x, y)
dy/dt = g(t, x, y)
with beginning conditions x0 = x(t0) and y0 = y(t0)
The subsequent stage is determined with step h from:
x1 ≈ x0 + (k1 + 2 * k2 + 2 * k3 + k4)/6
y1 ≈ y0 + (l1 + 2 * l2 + 2 * l3 + l4)/6
k1 = h * f(t0, x0, y0)
l1 = h * g(t0, x0, y0)
k2 = h * f(t0 + h/2, x0 + k1/2, y0 + l1/2)
l2 = h * g(t0 + h/2, x0 + k1/2, y0 + l1/2)
k3 = h * f(t0 + h/2, x0 + k2/2, y0 + l2/2)
l3 = h * g(t0 + h/2, x0 + k2/2, y0 + l2/2)
k4 = h * f(t0 + h, x0 + k3, y0 + l3)
l4 = h * g(t0 + h, x0 + k3, y0 + l3)
For the following stage set t0 = t0 + h, x0 = x1, and y0 = y1.
Information sources:
DX/DT: Enter dx/dt as an element of T, X, and Y. T is the autonomous variable.
DY/DT: Enter dy/dt as an element of T, X, and Y. T is the free factor.
T0, X0, Y0: Enter the underlying conditions
STEP: Enter the progression size
Cycles: Enter the quantity of emphasess desired. This permits you to compute a far point in one leap. Example, if your underlying condition is to = 0 and you need to discover the moment that t = 1 utilizing the progression size of 0.1, enter 0.1 for STEP and 10 for ITERATIONS.
Casio fx-9750GIII and fx-CG 50 Program: TWORK4
Notes:
* Although the code for the two adding machines are the equivalent, the projects should be modified on every number cruncher independently.
* The slice character (/) is gotten to from the CHAR submenu. The submenu appears at the high level menu which would peruse:
TOP/BOTTOM/SEARCH/MENU/A ←→ a/CHAR
* fn1 and fn2 are put away as capacity recollections.
“2020-06-18 EWS”
Rad
“DX/DT=”? → fn1
“DY/DT=”? → fn2
“T0”? → U
“X0”? → A
“Y0”? → B
“STEP?” → H
4 → Dim List 25
4 → Dim List 26
Lbl 0
“Emphasess”? → N
For 1 → I To N
A → X: B → Y: U → T
H * fn1 → List 25[1]
H * fn2 → List 26[1]
A + List 25[1] ÷ 2 → X
B + List 26[1] ÷ 2 → Y
U + H ÷ 2 → T
H * fn1 → List 25[2]
H * fn2 → List 26[2]
A + List 25[2] ÷ 2 → X
B + List 26[2] ÷ 2 → Y
H * fn1 → List 25[3]
H * fn2 → List 26[3]
A + List 25[3] → X
B + List 26[3] → Y
U + H → T
H * fn1 → List 25[4]
H * fn2 → List 26[4]
A + (List 25[2] + List 25[3] + Sum List 25) ÷ 6 → A
B + (List 26[2] + List 26[3] + Sum List 26) ÷ 6 → B
U + H → U
Next
ClrText
“(T, X, Y)”
{U, A, B} ◢
Menu “NEXT?”, “YES”, 0, “NO”, 1
Lbl 1
“DONE”
Model
dx/dt = x sin y
dy/dt = y^2/500 + y/3 – y
Beginning conditions: x(0) = 0.1, y(0) = 0.1, h = 0.1
T0 = 0
STEP = 0.1
Emphasess: 10
Results: (T, X, Y): (1, 0.1075645239, 0.05134921355)
Emphasess: 10
Results: (T, X, Y): (2, 0.1116714419, 0.02636554462)