plgndr.txt
来自「1.г函数、贝塔函数、阶乘及二项式系数 2.不完全г函数、误差函数 3.不完」· 文本 代码 · 共 38 行
TXT
38 行
Function PLGNDR(L, M:integer; X:real):real;
var
PMM,SOMX2,FACT,PMMP1,PLL:real;
I,LL:integer;
begin
If (M < 0) Or (M > L) Or (Abs(X) > 1) Then
ShowMessage('bad arguments');
PMM:=1;
If M > 0 Then
begin
SOMX2:=Sqrt((1 - X) * (1 + X));
FACT:=1;
For I:=1 To M do
begin
PMM:=-PMM * FACT * SOMX2;
FACT:=FACT + 2;
end;
end;
If L = M Then
PLGNDR:=PMM
Else
begin
PMMP1:=X * (2 * M + 1) * PMM;
If L = M + 1 Then
PLGNDR:=PMMP1
Else
begin
For LL:= M + 2 To L do
begin
PLL:=X * (2 * LL - 1) * PMMP1 - (LL + M - 1) * PMM;
PLL:=PLL / (LL - M);
PMM:=PMMP1;
PMMP1:=PLL;
end;
PLGNDR:=PLL;
end;
end;
end;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?