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

📄 unit1.pas

📁 《Delphi常用数值算法集》的配书源码
💻 PAS
字号:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Memo1: TMemo;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  F:TextFile;
implementation
//PROGRAM D10R2
//Driver for routine TWOFFT
uses
  unit2;
  {$R *.DFM}
procedure PRNTFT(DATA:array of real;  NN2:integer);
const
  s1 = '%13.6f'; s2 = '#0';
var
  NN,N,M,MM:integer;
begin
  Writeln(F,'   n    Real H(n)     Imag H(n)   Real H(N-n)  Imag H(N-n)');
  Writeln(F,'  ',FormatFloat('0',0),Format(s1,[DATA[1]]),
    Format(s1,[DATA[2]]),Format(s1,[DATA[1]]),Format(s1,[DATA[2]]));
  For NN:=2 To (((NN2 div 2) + 2) div 2) do
  begin
    N:= 2 * NN -1;
    M:= (N-1) div 2;
    MM:=NN2 + 2 - N;
    Writeln(F,'  ',FormatFloat(s2,M),Format(s1,[DATA[N]]),
      Format(s1,[DATA[N+1]]),Format(s1,[DATA[MM]]),Format(s1,[DATA[MM+1]]));
  end;
end;
procedure TForm1.Button1Click(Sender: TObject);
const
  s1='%13.6f'; s2 = '##';
  N = 32;  N2 = 2 * N;  PER = 8;  PI = 3.1415926;
var
  DATA1,DATA2:array[0..32] of real;  FFT1,FFT2:array[0..64] of real;
  I,II,ISIGN,J:integer;    X:real;
begin
  //输出计算结果到文件
  AssignFile(F, 'd:\delphi_shu\p10\d10r2.dat');
  Rewrite(F);
  For I:=1 To N do
  begin
    X:= 2* PI * I / PER;
    DATA1[I]:= Round(Cos(X));
    DATA2[I]:= Round(Sin(X));
  end;
  TWOFFT(DATA1, DATA2, FFT1, FFT2, N);
  Writeln(F, 'Fourier transform of first function:');
  PRNTFT(FFT1, N2);
  Writeln(F, 'Fourier transform of second function:');
  PRNTFT(FFT2, N2);
  //Invert transform
  ISIGN:= -1;
  FOUR1(FFT1, N, ISIGN);
  Writeln(F, 'Inverted transform = first function:');
  PRNTFT(FFT1, N2);
  FOUR1(FFT2, N, ISIGN);
  Writeln(F, 'Inverted transform = second function:');
  PRNTFT(FFT2, N2);
  CloseFile(F);
  //屏幕显示计算结果
  memo1.Lines.LoadFromFile('d:\delphi_shu\p10\d10r2.dat');
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -