?? d1r9.txt
字號(hào):
implementation
//PROGRAM D1R9
//Driver for routine SPARSE
uses
unit2;
{$R *.DFM}
procedure ASUB(XIN:array of real;var XOUT:array of real);
var
I,N:integer;
begin
N:= 20;
XOUT[1]:=XIN[1] + 2 * XIN[2];
XOUT[N]:=-2 * XIN[N - 1] + XIN[N];
For I:=2 To N - 1 do
XOUT[I]:=-2 * XIN[I - 1] + XIN[I] + 2 * XIN[I + 1];
end;
procedure ATSUB(XIN:array of real;var XOUT:array of real);
var
I,N:integer;
begin
N:=20;
XOUT[1]:=XIN[1] - 2 * XIN[2];
XOUT[N]:=2 * XIN[N - 1] + XIN[N];
For I:=2 To N - 1 do
XOUT[I]:=2 * XIN[I - 1] + XIN[I] - 2 * XIN[I + 1];
end;
procedure TForm1.Button1Click(Sender: TObject);
var
X,B,BCMP:Array[0..20] of real;
I,J:Integer; RSQ:real;
F:TextFile;
const
s1='%10.1f'; s2='%10.6f'; N = 20;
begin
//輸入已知的方程組的系數(shù)矩陣
For I:=1 To N do
begin
X[I]:= 0;
B[I]:= 1;
end;
B[1]:= 3;
B[N]:= -1;
SPARSE(B,N,X,RSQ);
//輸出計(jì)算結(jié)果到文件
AssignFile(F, 'd:\delphi_shu\p1\d1r9.dat');
Rewrite(F);
Writeln(F,'Sum-squared residual: ',Format(s2,[RSQ]));
Writeln(F, '計(jì)算出的方程組的解');
For I:= 1 To 4 do
Writeln(F,Format(s2,[X[1+(I-1)*5]]),Format(s2,[X[2+(I-1)*5]]),
Format(s2,[X[3+(I-1)*5]]),Format(s2,[X[4+(I-1)*5]]),
Format(s2,[X[5+(I-1)*5]]));
Writeln(F, '將計(jì)算出的解B乘以系數(shù)矩陣,以驗(yàn)證計(jì)算結(jié)果正確');
ASUB(X,BCMP);
Writeln(F, '解乘以系數(shù)矩陣',' 方程組的右端向量');
For I:=1 To N do
Writeln(F,Format(s1,[BCMP[I]]),' ',Format(s1,[B[I]]));
CloseFile(F);
//屏幕顯示計(jì)算結(jié)果
memo1.Lines.LoadFromFile('d:\delphi_shu\p1\d1r9.dat');
end;
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -