simp2.txt

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

TXT
42
字号
Procedure SIMP2(var A:matrx2; M, N, MP, NP:integer; L2:array of integer;
                                 NL2:integer;var IP, KP:integer; Q1:real);
label 1,2;
const
    EPS = 0.000001;
var
    I,J,II,K:integer;  FLAG,Q,QP,Q0:real;
begin
    IP:=0;
    FLAG:=0;
    For I:=1 To NL2 do
    begin
        If A[L2[I] + 1, KP + 1] < -EPS Then FLAG:=1;
        If FLAG = 1 Then goto 1;
    end;
1:  If FLAG = 0 Then Exit;
    Q1:=-A[L2[I] + 1, 1] / A[L2[I] + 1, KP + 1];
    IP:=L2[I];
    For I:=I + 1 To NL2 do
    begin
        II:=L2[I];
        If A[II + 1, KP + 1] < -EPS Then
        begin
            Q:=-A[II + 1, 1] / A[II + 1, KP + 1];
            If Q < Q1 Then
            begin
                IP:=II;
                Q1:=Q;
            end
            Else If Q = Q1 Then
            begin
                For K:=1 To N do
                begin
                    QP:=-A[IP + 1, K + 1] / A[IP + 1, KP + 1];
                    Q0:=-A[II + 1, K + 1] / A[II + 1, KP + 1];
                    If Q0 <> QP Then goto 2;
                end;
2:              If Q0 < QP Then IP:=II;
            end;
        end;
    end;
end;

⌨️ 快捷键说明

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