mmid.txt

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

TXT
28
字号
procedure MMID(Y, DYDX:array of real; NVAR:integer; XS, HTOT:real;
                                    NSTEP:integer;var YOUT:array of real);
var
    YM, YN:array[0..10] of real;  I,N:integer;  H,X,H2,SWAP:real;
begin
    H:=HTOT / NSTEP;
    For I:=1 To NVAR do
    begin
        YM[I]:=Y[I];
        YN[I]:=Y[I] + H * DYDX[I];
    end; 
    X:=XS + H;
    DERIVS(X, YN, YOUT);
    H2:=2 * H;
    For N:=2 To NSTEP do
    begin
        For I:=1 To NVAR do
        begin
            SWAP:=YM[I] + H2 * YOUT[I];
            YM[I]:=YN[I];
            YN[I]:=SWAP;
        end; 
        X:=X + H;
        DERIVS(X, YN, YOUT);
    end; 
    For I:=1 To NVAR do
        YOUT[I]:=0.5 * (YM[I] + YN[I] + H * YOUT[I]);
end;

⌨️ 快捷键说明

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