Вычисление обратной матрицы размерности n
Пусть имеется матрица obr размерности
kol. Для нахождения матрицы, обратной obr, требуется выполнить следующий
код:
var k, i, j: integer;
b: array[0..300, 0..300] of real;
begin
for k:=0 to kol - 1 do
begin
for i:=0 to kol - 1 do
for j:=0 to kol - 1 do
begin
if (i=k) and (j=k) then
b[i,j] := 1/obr[i,j];
if (i=k) and (j<>k) then
b[i,j] := -obr[i,j]/obr[k,k];
if (i<>k) and (j=k) then
b[i,j] := obr[i,k]/obr[k,k];
if (i<>k) and (j<>k) then
b[i,j] := obr[i,j] - obr[k,j] * obr[i,k]/obr[k,k];
end;
for i:= 0 to kol - 1 do
for j:= 0 to kol - 1 do obr[i, j]:= b[i, j];
end;
end;
В результате матрица obr и есть искомая обратная матрица.
Ниже Вашему вниманию представлены
блок-схема нерекурсивного алгоритма нахождения обратной матрицы размерности
n, а также исходники программы, реализующей данный алгоритм.
Блок-схема
алгоритма нахождения обратной матрицы размерности n
Скачать
пример программы на Delphi7
|
|