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