ВУЗ:
Составители:
Рубрика:
262
End;
{Процедура общего вида для вычисления постоянных интегрирования}
Procedure GUS (Var Y: Matr; Var C1, C2 :real; Z: Amatr);
Begin
C1:=-Y[2,2]/Y[2,1];
C2:=-C1*Y[1,1]-Y[1,2];
End;
{Процедура общего вида для вычисления правой части уравнения}
Procedure FCT (R: real; Y: Matr; Var P:Matr);
k, i, j : integer;
F, G : Matr;
Begin
For i:=1 to 3 do
For j:= 1 to 3 do
Begin
F[i,j]:=0; G[i,j]:=0;
End;
RP:=1/R;
F[1,2]:=-1;
F[3,3]:=CP*RR;
F[2,2]:=-F[3,3];
F[2,3]:=RR/DD(R);
F[3,2]:=RR*DD(R)*CCP;
G[3,2]:=-R*Q(NS,R);
For j:=1 to 2 do
Begin
For i: = 1 to 3 do
Begin
P[i,j]:=0;
For k:= 1 to 3 do P[i,j]:= P[i,j]+F[i,k]*Y[k,j];
End;
P[i,j]:= P[i,j]+G[i,j];
End;
End;
{Подпрограмма общего вида для интегрирования матричного уравнения методом
Рунге-Кутта}
procedure RKM (Var X:real; Var Y : matr);
Var
i,j: integer;
Y1, P0,P1,P2,P3: matr;
Begin
FCT(X,Y,P0);
For i:= 1 to N do
For j:= 1 to M do Y1[i.j]:=Y[i,j]+H*P0[i,j]/2;
FCT(X+H/2, Y1, P1);
For i:=1 to N do
For j:=1 to M do Y![i,j]:=Y[i,j]+P1[i,j]/2;
FCT(X+H/2, Y1, P2);
For i:=1 to N do
For j:= 1 to M do Y1[i.j]:=Y[i,j]+H*P2[i,j];
FCT(X+H, Y1, P3);
For i:=1 to N do
End; {Процедура общего вида для вычисления постоянных интегрирования} Procedure GUS (Var Y: Matr; Var C1, C2 :real; Z: Amatr); Begin C1:=-Y[2,2]/Y[2,1]; C2:=-C1*Y[1,1]-Y[1,2]; End; {Процедура общего вида для вычисления правой части уравнения} Procedure FCT (R: real; Y: Matr; Var P:Matr); k, i, j : integer; F, G : Matr; Begin For i:=1 to 3 do For j:= 1 to 3 do Begin F[i,j]:=0; G[i,j]:=0; End; RP:=1/R; F[1,2]:=-1; F[3,3]:=CP*RR; F[2,2]:=-F[3,3]; F[2,3]:=RR/DD(R); F[3,2]:=RR*DD(R)*CCP; G[3,2]:=-R*Q(NS,R); For j:=1 to 2 do Begin For i: = 1 to 3 do Begin P[i,j]:=0; For k:= 1 to 3 do P[i,j]:= P[i,j]+F[i,k]*Y[k,j]; End; P[i,j]:= P[i,j]+G[i,j]; End; End; {Подпрограмма общего вида для интегрирования матричного уравнения методом Рунге-Кутта} procedure RKM (Var X:real; Var Y : matr); Var i,j: integer; Y1, P0,P1,P2,P3: matr; Begin FCT(X,Y,P0); For i:= 1 to N do For j:= 1 to M do Y1[i.j]:=Y[i,j]+H*P0[i,j]/2; FCT(X+H/2, Y1, P1); For i:=1 to N do For j:=1 to M do Y![i,j]:=Y[i,j]+P1[i,j]/2; FCT(X+H/2, Y1, P2); For i:=1 to N do For j:= 1 to M do Y1[i.j]:=Y[i,j]+H*P2[i,j]; FCT(X+H, Y1, P3); For i:=1 to N do 262
Страницы
- « первая
- ‹ предыдущая
- …
- 260
- 261
- 262
- 263
- 264
- …
- следующая ›
- последняя »