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

📄 unit1.pas

📁 数值分析常用算法编程
💻 PAS
字号:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;
type
  matrx2 = array of array of real;
type
  TForm1 = class(TForm)
    Button1: TButton;
    Memo1: TMemo;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation
//PROGRAM D6R7
//Driver for routine HQR
uses
  unit2;
  {$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
var
    A:matrx2;      WR,WI:Array[0..5] of real;
    I,J:Integer;   F:TextFile;
const
    s1='%10.2f';   s2='.#####0e+00';  NP = 5;
begin
  setlength(A,6,6);
  //输入已知的矩阵
  A[1, 1]:=1;  A[1, 2]:=2; A[1, 3]:=0;   A[1, 4]:=0; A[1, 5]:=0;
  A[2, 1]:=-2; A[2, 2]:=3; A[2, 3]:=0;   A[2, 4]:=0; A[2, 5]:=0;
  A[3, 1]:=3;  A[3, 2]:=4; A[3, 3]:=50;  A[3, 4]:=0; A[3, 5]:=0;
  A[4, 1]:=-4; A[4, 2]:=5; A[4, 3]:=-60; A[4, 4]:=7; A[4, 5]:=0;
  A[5, 1]:=-5; A[5, 2]:=6; A[5, 3]:=-70; A[5, 4]:=8; A[5, 5]:=-9;
  //输出计算结果到文件
  AssignFile(F, 'd:\delphi_shu\p6\d6r7.dat');
  Rewrite(F);
  Writeln(F);
  Writeln(F, ' Matrix: ');
  For I:= 1 To NP do
  Writeln(F, Format(s1,[A[I,1]]),Format(s1,[A[I,2]]),Format(s1,[A[I,3]]),
                               Format(s1,[A[I,4]]), Format(s1,[A[I,5]]));
  Writeln(F);
  BALANC(A, NP);
  ELMHES(A, NP);
  HQR(A,NP,WR,WI);
  Writeln(F);
  Writeln(F, ' Eigenvalues: ');
  Writeln(F);
  Writeln(F, '         Real         Imag. ');
  For I:=1 To NP do
  Writeln(F,'     ', FormatFloat(s2,WR[I]),'   ',FormatFloat(s2,WI[I]));
  CloseFile(F);
  //屏幕显示计算结果
  memo1.Lines.LoadFromFile('d:\delphi_shu\p6\d6r7.dat');
end;

end.

⌨️ 快捷键说明

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