📄 unit1.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 + -