📄 d5r4.txt
字号:
implementation
//PROGRAM D5R4
//Driver for routine CHEBFT
uses
unit2;
{$R *.DFM}
Function FUNC(X:real):real;
begin
FUNC:= Sqr(X) * (Sqr(X) - 2) * Sin(X);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
F:TextFile;
C:array[0..40] of real;
X,Y,T0,T1,DUM,FF,TERM:real; I,J,MVAL:integer;
const
s1='%13.6f'; s2='##0';NVAL = 40;
PIO2 = 1.5707963; EPS = 0.000001;
A = -PIO2; B = PIO2;
begin
CHEBFT(A, B, C, NVAL);
//Test result
//输出计算结果到文件
AssignFile(F, 'd:\delphi_shu\p5\d5r4.dat');
Rewrite(F);
Writeln(F, 'How many terms in Chebyshev evaluation?');
//Input MVAL , between 6 and 40, MVAL=0 TO END
MVAL:= 20;
Writeln(F,FormatFloat(s2,MVAL));
If (MVAL <= 0) Or (MVAL > NVAL) Then Exit;
Writeln(F, ' X Actual Chebyshev fit');
For I:= -8 To 8 do
begin
X:= I * PIO2 / 10;
Y:= (X - 0.5 * (B + A)) / (0.5 * (B - A));
//Evaluate Chebyshev polynomial without using
//routine CHEBEV
T0:=1;
T1:=Y;
FF:=C[2] * T1 + C[1] * 0.5;
For J:=3 To MVAL do
begin
DUM:=T1;
T1:=2 * Y * T1 - T0;
T0:=DUM;
TERM:=C[J] * T1;
FF:=FF + TERM;
end;
Writeln(F,Format(s1,[X]),Format(s1,[FUNC(X)]),Format(s1,[FF]));
end;
CloseFile(F);
//屏幕显示计算结果
memo1.Lines.LoadFromFile('d:\delphi_shu\p5\d5r4.dat');
end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -