Руководство к решению задач по механике материалов и конструкций. Егодуров Г.С - 242 стр.

UptoLike

Рубрика: 

242
end;
{Процедура общего вида для вычисления обратной матрицы}
Procedure MinV(Mat:matr; N:Integer; var Inverse_Mat:Matr);
{Вычисляет обратную матрицу Inverse_Mat для матрицы Mat размерности N.
Uses:det, getMinor, Transponir}
Var
i,j:Byte;
determinant:real;
Minor:Matr;
Begin
Determinant:=det(Mat,N);
If (determinant=0_then begin
Writeln(#10,#13,`Детерминант=0. Вычисление обратной невозможно`);
halt(0);
end
else
for i:=1 to N do
for j=1 to N do begin
getMinor(Mat,N,i,j,Minor);
ifOdd(i+j)thenInverse_Mat[i,j]:=-det(Minor,N-1)/determinant
else Inverse_Mat[i,j]:=det(Minor,N-1)/Determinant
end;
GMTRA(Inverse_Mat,Inverse_Mat,N,N);
End;
Procedure Stop;
Var ch:char;
Begin
While KeyPressed do ch:=ReadKey;
Readln;
End;
BEGIN
Clrscr;
{B1(M,K)-матрица внутренних силовых факторов в расчетных сечениях основной
системы от неизвестных усилий, принятых равных единице.
BP(M)-матрица внутренних силовых факторов в расчетных сечениях рамы от всех
внешних сил}
M:=12;
K:=2;
Writeln(`Введите матрицу B1(M,K)`);
For I:=1 to M do
For J:=1 to K do Read (B1[i,j]);
Writeln(`Матрица B1(M,K)`);
For I:=1 to M do
Begin
For J:=1 to K do Write(B1[i,j]:8:1);
Writeln
End;
Stop;
Writeln(`Введите матрицу BP(M)`);
For I:=1 to M do
Read(BP[i,1]);
Writeln(`Матрица BP(M)`);
      end;
      {Процедура общего вида для вычисления обратной матрицы}
      Procedure MinV(Mat:matr; N:Integer; var Inverse_Mat:Matr);
      {Вычисляет обратную матрицу Inverse_Mat для матрицы Mat размерности N.
      Uses:det, getMinor, Transponir}
      Var
              i,j:Byte;
              determinant:real;
              Minor:Matr;
      Begin
      Determinant:=det(Mat,N);
      If (determinant=0_then begin
      Writeln(#10,#13,`Детерминант=0. Вычисление обратной невозможно`);
              halt(0);
              end
              else
                       for i:=1 to N do
                               for j=1 to N do begin
                                       getMinor(Mat,N,i,j,Minor);
                      ifOdd(i+j)thenInverse_Mat[i,j]:=-det(Minor,N-1)/determinant
                                       else Inverse_Mat[i,j]:=det(Minor,N-1)/Determinant
                       end;
              GMTRA(Inverse_Mat,Inverse_Mat,N,N);
      End;
      Procedure Stop;
      Var ch:char;
      Begin
              While KeyPressed do ch:=ReadKey;
              Readln;
      End;
      BEGIN
      Clrscr;
      {B1(M,K)-матрица внутренних силовых факторов в расчетных сечениях основной
системы от неизвестных усилий, принятых равных единице.
      BP(M)-матрица внутренних силовых факторов в расчетных сечениях рамы от всех
внешних сил}
      M:=12;
      K:=2;
      Writeln(`Введите матрицу B1(M,K)`);
      For I:=1 to M do
      For J:=1 to K do Read (B1[i,j]);
      Writeln(`Матрица B1(M,K)`);
      For I:=1 to M do
              Begin
                       For J:=1 to K do Write(B1[i,j]:8:1);
                       Writeln
              End;
      Stop;
      Writeln(`Введите матрицу BP(M)`);
      For I:=1 to M do
              Read(BP[i,1]);
      Writeln(`Матрица BP(M)`);



                                          242