ВУЗ:
Составители:
Рубрика:
241
{процедура общего вида для транспонирования матриц}
Procedure GMTRA(A:Matr; Var B: Matr; M;K: Integer);
Begin
For I:=1 to M do
For J:=1 to K do B[j,i]:=A[i,j];
End;
{Процедура общего вида для перемножения матриц}
Procedure GMPRD(A,B: Matr; Var C: Matr; M,N,K: Integer);
Begin
For I:=1 to M do
Begin
For J:=1 to K do
Begin
C[i,j]:=0;
For L:=1 to N do C[i,j]:=C[i,j]+A[i,L]*B[L,j];
End;
End;
{Процедура общего вида для вычисления минора}
Procedure getMinor)var Mat:Matr; N,l,m:integer;var Minor: Matr);
{Выделяет из матрицы Mat размерности N минор Minor, получающийся
вычеркиванием l-й строки и m-го столбца}
var i,j:byte;
begin
for i:=1 to N do
if (i<l) then
for j:=1 to N do
if (j<m) then Minor [i,j]:=Mat[i,j]
else Minor [i,j]:Mat[i,j+1]
else
for j:=1 to N do
if (j<m) then Minor[i,j]:=Mat[i+1j]
else Minor[i,j]:=Mat[i+1,j+1];
end;
{Функция для вычисления определителя матрицы}
function det (Mat:Matr; N:Integer):real;
{Вычисляется детерминант матрицы Mat размерности N.USES: getMinor}
var
i,j:byte;
Minor;Matr;
sum:real;
begin
if (N=1) then det:=Matr[1,1]
else begin
sum:=0;
for i:=1 to N do
begin
getMinor(Mat,N,1,i,Minor);
if Odd(i) then sum:=sum+Mat[1,i]*det(Minor,N-1)
else sum:=sum-Mat[1,i]*det(Minor,N-1);
end;
det:=sum;
end;
{процедура общего вида для транспонирования матриц}
Procedure GMTRA(A:Matr; Var B: Matr; M;K: Integer);
Begin
For I:=1 to M do
For J:=1 to K do B[j,i]:=A[i,j];
End;
{Процедура общего вида для перемножения матриц}
Procedure GMPRD(A,B: Matr; Var C: Matr; M,N,K: Integer);
Begin
For I:=1 to M do
Begin
For J:=1 to K do
Begin
C[i,j]:=0;
For L:=1 to N do C[i,j]:=C[i,j]+A[i,L]*B[L,j];
End;
End;
{Процедура общего вида для вычисления минора}
Procedure getMinor)var Mat:Matr; N,l,m:integer;var Minor: Matr);
{Выделяет из матрицы Mat размерности N минор Minor, получающийся
вычеркиванием l-й строки и m-го столбца}
var i,j:byte;
begin
for i:=1 to N do
if (iСтраницы
- « первая
- ‹ предыдущая
- …
- 239
- 240
- 241
- 242
- 243
- …
- следующая ›
- последняя »
