d1r3.txt

来自「《Delphi常用数值算法集》的配书源码」· 文本 代码 · 共 56 行

TXT
56
字号
implementation
//PROGRAM D1R3
//Driver for routine TRIDAG
uses
  unit2;
  {$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
var
    A1:matrx2;
    A,B,C,R,U,X:Array[0..3] of real;
    I,J:Integer;
    F:TextFile;
const
    s1='%10.1f'; N = 3;
begin
  setlength(A1,4,4);
  //输入已知的方程组的系数矩阵
  A1[1, 1]:=1;   A1[1, 2]:=2;   A1[1, 3]:=0;
  A1[2, 1]:=2;   A1[2, 2]:=2;   A1[2, 3]:=3;
  A1[3, 1]:=0;   A1[3, 2]:=3;   A1[3, 3]:=3;
  //输入已知的方程组的右端向量B
  R[1]:=1;
  R[2]:=2;
  R[3]:=3;
  //输出计算结果到文件
  AssignFile(F, 'd:\delphi_shu\p1\d1r3.dat');
  Rewrite(F);
  Writeln(F, '已知的方程组的右端向量');
  For I:= 1 To 3 do
    Writeln(F,Format(s1,[R[I]]));
  For I:=1 To N do
    begin
      For J:=1 To 3 do
        A[I]:=A1[I, I-1];
    end;
  For I:=1 To N-1 do
    C[I]:=A1[I+1, I];
  For I:=1 To N do
    B[I]:=A1[I, I];
  TRIDAG(A, B, C, R, U, N);
  Writeln(F, '计算出的方程组的解');
  For I:= 1 To 3 do
    Writeln(F,Format(s1,[U[I]]));
  Writeln(F, '将计算出的解B乘以系数矩阵,以验证计算结果正确');
  For I:=1 To N do
    begin
      X[I]:=0;
      For J:=1 To N do
        X[I]:=X[I] + A1[I, J] * U[J];
    end;
  For I:= 1 To 3 do
    Writeln(F,Format(s1,[X[I]]));
  CloseFile(F);
  //屏幕显示计算结果
  memo1.Lines.LoadFromFile('d:\delphi_shu\p1\d1r3.dat');
end;

⌨️ 快捷键说明

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