bessj.txt
来自「VB常用数值算法集 内含有解线性代数方程组」· 文本 代码 · 共 47 行
TXT
47 行
Function BESSJ(N, X)
IACC = 40
BIGNO = 10000000000#
BIGNI = 0.0000000001
If N < 2 Then
Form1.Print "bad argument N in BASSJ"
Exit Function
End If
AX = Abs(X)
If AX = 0 Then
BESSJ = 0#
ElseIf AX > CSng(N) Then
TOX = 2# / AX
BJM = BESSJ0(AX)
BJ = BESSJ1(AX)
For J = 1 To N - 1
BJP = J * TOX * BJ - BJM
BJM = BJ
BJ = BJP
Next J
BESSJ = BJ
Else
TOX = 2# / AX
M = 2 * Int(((N + Int(Sqr(IACC * N)))) / 2)
BESJ = 0#
JSUM = 0
Sum = 0#
BJP = 0#
BJ = 1#
For J = M To 1 Step -1
BJM = J * TOX * BJ - BJP
BJP = BJ
BJ = BJM
If Abs(BJ) > BIGNO Then
BJ = BJ * BIGNI
BJP = BJP * BIGNI
BESJ = BESJ * BIGNI
Sum = Sum * BIGNI
End If
If JSUM <> 0 Then Sum = Sum + BJ
JSUM = 1 - JSUM
If J = N Then BESJ = BJP
Next J
Sum = 2# * Sum - BJ
BESSJ = BESJ / Sum
End If
End Function
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?