ВУЗ:
Составители:
Рубрика:
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
- …
- следующая ›
- последняя »
