📄 bessj.txt
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -