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 + -
显示快捷键?