d14r5.txt
来自「VB常用数值算法集 内含有解线性代数方程组」· 文本 代码 · 共 41 行
TXT
41 行
Private Sub Command1_Click()
'PROGRAM D14R5
'Driver for routine MMID
NVAR = 4
X1 = 1#
HTOT = 0.5
Dim Y(4), YOUT(4), DYDX(4)
Y(1) = BESSJ0(X1)
Y(2) = BESSJ1(X1)
Y(3) = BESSJ(2, X1)
Y(4) = BESSJ(3, X1)
DYDX(1) = -Y(2)
DYDX(2) = Y(1) - Y(2)
DYDX(3) = Y(2) - 2# * Y(3)
DYDX(4) = Y(3) - 3# * Y(4)
XF = X1 + HTOT
B1 = BESSJ0(XF)
B2 = BESSJ1(XF)
B3 = BESSJ(2, XF)
B4 = BESSJ(3, XF)
Print Tab(5); "First four Bessl functions"
For I = 5 To 50 Step 5
Call MMID(Y(), DYDX(), NVAR, X1, HTOT, I, YOUT())
Print Tab(5); "X= "; X1; " to "; X1 + HTOT; " in "; I; " steps"
Print Tab(3); "Integration BESSJ"
Print Tab(5); Format$(YOUT(1), ".#####0");
Print Tab(18); Format$(B1, ".#####0")
Print Tab(5); Format$(YOUT(2), ".#####0");
Print Tab(18); Format$(B2, ".#####0")
Print Tab(5); Format$(YOUT(3), ".#####0");
Print Tab(18); Format$(B3, ".#####0")
Print Tab(5); Format$(YOUT(4), ".#####0");
Print Tab(18); Format$(B4, ".#####0")
Next I
End Sub
Sub DERIVS(X, Y(), DYDX())
DYDX(1) = -Y(2)
DYDX(2) = Y(1) - (1# / X) * Y(2)
DYDX(3) = Y(2) - (2# / X) * Y(3)
DYDX(4) = Y(3) - (3# / X) * Y(4)
End Sub
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?