⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 d5r4.txt

📁 《Delphi常用数值算法集》的配书源码
💻 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 + -