📄 funcion.bas
字号:
Attribute VB_Name = "modFuncion"
Option Explicit
Public Function fx(ByVal x As Double) As Double
fx = bessj0(x)
End Function
Public Function func(ByVal x As Double) As Double
func = bessj0(x)
End Function
Public Function bessj0(ByVal x As Double) As Double
Dim ax As Double, z As Double, aux1 As Double, aux2 As Double
Dim xx As Double, y As Double, ans As Double, ans1 As Double, ans2 As Double
ax = Abs(x)
If ax < 8# Then
y = x * x
aux1 = -11214424.18 + y * (77392.33017 + y * (-184.9052456))
ans1 = 57568490574# + y * (-13362590354# + y * (651619640.7 + y * aux1))
aux2 = 59272.64853 + y * (267.8532712 + y * 1#)
ans2 = 57568490411# + y * (1029532985# + y * (9494680.718 + y * aux2))
ans = ans1 / ans2
Else
z = 8# / ax
y = z * z
xx = ax - 0.785398164
aux1 = -0.000002073370639 + y * 2.093887211E-07
ans1 = 1# + y * (-0.001098628627 + y * (0.00002734510407 + y * aux1))
aux2 = -0.000006911147651 + y * (7.621095161E-07 - y * 9.34945152E-08)
ans2 = -0.01562499995 + y * (0.0001430488765 + y * aux2)
ans = Sqr(0.636619772 / ax) * (Cos(xx) * ans1 - z * Sin(xx) * ans2)
End If
bessj0 = ans
End Function
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -