sinft.txt
来自「《Delphi常用数值算法集》的配书源码」· 文本 代码 · 共 33 行
TXT
33 行
Procedure SINFT(var Y:array of real; N:integer);
var
I,J,M,JJ:integer; THETA,WR,WI,WPR,WPI,WTEMP,Y1,Y2,SUM:real;
begin
THETA:=3.14159265358979 / N;
WR:=1;
WI:=0;
WPR:=-2 * Sqr(Sin(0.5 * THETA));
WPI:=Sin(THETA);
Y[1]:=0;
M:=N div 2;
For J:=1 To M do
begin
WTEMP:=WR;
WR:=WR * WPR - WI * WPI + WR;
WI:=WI * WPR + WTEMP * WPI + WI;
Y1:=WI * (Y[J + 1] + Y[N - J + 1]);
Y2:=0.5 * (Y[J + 1] - Y[N - J + 1]);
Y[J + 1]:=Y1 + Y2;
Y[N - J + 1]:=Y1 - Y2;
end;
REALFT(Y, M, 1);
Sum:=0;
Y[1]:=0.5 * Y[1];
Y[2]:=0;
For JJ:=1 To M do
begin
J:= 2 * JJ - 1;
SUM:=SUM + Y[J];
Y[J]:=Y[J + 1];
Y[J + 1]:=SUM;
end;
end;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?