Casio50 » fx-3x50P » Programs 程式集 » Differential Equations 微分方程 »

Fourth Order Runge-Kutta Method
四階 Runge-Kutta 計算法

本式可以四階 Runge-Kutta 計算法計算微分方程

<SD>
Goto 3 : Lbl 0 : f(X,Ans) → C :
A = 1 => Goto 4 : A = 2 => Goto 5 : A = 3 => Goto 6 : Goto 2 :
Lbl 3 : ? → X : ? → Y : ? → B : ? → M :
. 5 M -1 ( B – X → D :
Lbl 1 : 0 → A : StatClear : Y : Goto 0 :
Lbl 2 : C DT : 1 → A : X + D → X : Y + C D : Goto 0 :
Lbl 4 : 2 C DT : 2 → A : Y + C D : Goto 0 :
Lbl 5 : 2 C DT : 3 → A : X + D → X : Y + 2 C D : Goto 0 :
Lbl 6 : C DT : Y + D Σx ÷ 3 → Y
B > X => Goto 1 : Y
>169 Bytes

操作方法

一般操作 例子

y(xn)
其中:
dy/dx = f(x,y); y(x0) = y0

y(5)
其中:
dy/dx = ln|y^2-x|; y(2)=1
整體程式為:
<COMP>
Goto 3 : Lbl 0 : ln √ ( Ans ² – X ) ² → C :
A = 1 => Goto 4 : A = 2 => Goto 5 : A = 3 => Goto 6 : Goto 2 :
Lbl 3 : ? → X : ? → Y : ? → B : ? → M :
. 5 M -1 ( B – X → D :
Lbl 1 : 0 → A : StatClear : Y : Goto 0 :
Lbl 2 : C DT : 1 → A : X + D → X : Y + C D : Goto 0 :
Lbl 4 : 2 C DT : 2 → A : Y + C D : Goto 0 :
Lbl 5 : 2 C DT : 3 → A : X + D → X : Y + 2 C D : Goto 0 :
Lbl 6 : C DT : Y + D Σx ÷ 3 → Y
B > X => Goto 1 : Y
100 Bytes

註:
Ans 是代表 y(x) 的變量而 X 則代表 x.
x² 是指取 x 的絕對值.
啟動程式 Prog 1
輸入數據
x0 EXE y0 EXE xn EXE n EXE
2 EXE 1 EXE 5 EXE 36 EXE (分成36份)
顯示答案
y(xn)
1.918257604
(正確答案 = 1.9182575899)

記憶體

A 3
B xn
C K4/h
D h/2
X xn
Y y(xn)
M n

相關程式

  1. Euler’s Method / 歐拉計算法
  2. Second Order Runge-Kutta Method / 二階 Runge-Kutta 計算法
Hosted by www.Geocities.ws

1