📄 unit2.pas
字号:
unit Unit2;
interface
Function BESSJ1(X:real):real;
implementation
Function BESSJ1(X:real):real;
var
AAA,BBB,CCC,AX,Z,Y,XX,SGN:real;
const
R1 = 72362614232; R2 = -7895059235;
R3 = 242396853.1; R4 = -2972611.439;
R5 = 15704.4826; R6 = -30.16036606;
S1 = 144725228442; S2 = 2300535178;
S3 = 18583304.74; S4 = 99447.43394;
S5 = 376.9991397; S6 = 1;
P1 = 1; P2 = 0.00183105;
P3 = -0.3516396496e-4; P4 = 0.000002457520174;
P5 = -0.240337019e-6;
Q1 = 0.04687499995; Q2 = -0.2002690873e-3;
Q3 = 0.8449199096e-5; Q4 = -0.88228987e-6;
Q5 = 0.105787412e-6;
begin
If Abs(X) < 8 Then
begin
Y:=X * X;
AAA:=R1 + Y * (R2 + Y * (R3 + Y * (R4 + Y * (R5 + Y * R6))));
BBB:=S1 + Y * (S2 + Y * (S3 + Y * (S4 + Y * (S5 + Y * S6))));
BESSJ1:=X * AAA / BBB;
end
Else
begin
AX:=Abs(X);
Z:=8 / AX;
Y:=Z * Z;
XX:=AX - 2.356194491;
AAA:=P1 + Y * (P2 + Y * (P3 + Y * (P4 + Y * P5)));
BBB:=Q1 + Y * (Q2 + Y * (Q3 + Y * (Q4 + Y * Q5)));
CCC:=Sqrt(0.636619772 / AX);
if X > 0 Then
SGN:= 1
ELSE
SGN:= -1;
BESSJ1:=CCC * (Cos(XX) * AAA - Z * Sin(XX) * BBB * Sgn);
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -