?? d1r5.txt
字號:
implementation
//PROGRAM D1R5
//Driver for routine MPROVE
uses
unit2;
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
var
A,A1:matrx2;
B,B1,INDX:Array[0..5] of real;
I,J:Integer; D:real;
F:TextFile;
const
s1='%10.1f'; s2='%7.4f'; N = 5;
begin
setlength(A ,6,6);
setlength(A1 ,6,6);
//輸入已知的方程組的系數矩陣
A[1, 1]:=1;A[1, 2]:=2;A[1, 3]:=3;A[1, 4]:=4;A[1, 5]:=5;
A[2, 1]:=2;A[2, 2]:=3;A[2, 3]:=4;A[2, 4]:=5;A[2, 5]:=1;
A[3, 1]:=1;A[3, 2]:=1;A[3, 3]:=1;A[3, 4]:=1;A[3, 5]:=1;
A[4, 1]:=4;A[4, 2]:=5;A[4, 3]:=1;A[4, 4]:=2;A[4, 5]:=3;
A[5, 1]:=5;A[5, 2]:=1;A[5, 3]:=2;A[5, 4]:=3;A[5, 5]:=4;
//輸入已知的方程組的右端向量B
B[1]:=1; B[2]:=1;
B[3]:=1; B[4]:=1;
B[5]:=1;
For I:= 1 To N do
For J:= 1 To N do
A1[I,J]:=A[I,J];
For I:= 1 To N do
B1[I]:= B[I];
LUDCMP(A,N,INDX,D);
LUBKSB(A,N,INDX,B);
//輸出計算結果到文件
AssignFile(F, 'd:\delphi_shu\p1\d1r5.dat');
Rewrite(F);
Writeln(F, '輸出方程組的解');
For I:= 1 To N do
Writeln(F,Format(s1,[B[I]]));
Randomize;
For I:= 1 To N do
B[I]:= B[I] * (1 + 0.2 * Random);
Writeln(F, '輸出干擾后的解');
For I:= 1 To N do
Writeln(F,' ',Format(s2,[B[I]]));
MPROVE(A1,A,N,INDX,B1,B);
Writeln(F, '輸出改善后的解');
For I:= 1 To N do
Writeln(F,Format(s1,[B[I]]));
CloseFile(F);
//屏幕顯示計算結果
memo1.Lines.LoadFromFile('d:\delphi_shu\p1\d1r5.dat');
end;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -