matlab使用高斯消去法求逆矩阵
时间: 2023-11-04 11:40:27 浏览: 232
高斯消去法求逆矩阵
以下是使用高斯消去法求逆矩阵的MATLAB代码:
function [invA] = gauss_inv(A)
% 高斯消去法求矩阵A的逆矩阵
% A:原矩阵
% invA:逆矩阵
n = size(A,1);
E = eye(n); % 单位矩阵
for i = 1:n
% 消元
for j = i+1:n
m = A(j,i) / A(i,i);
A(j,:) = A(j,:) - m * A(i,:);
E(j,:) = E(j,:) - m * E(i,:);
end
% 归一
m = A(i,i);
A(i,:) = A(i,:) / m;
E(i,:) = E(i,:) / m;
end
for i = n:-1:2
% 消元
for j = i-1:-1:1
m = A(j,i) / A(i,i);
A(j,:) = A(j,:) - m * A(i,:);
E(j,:) = E(j,:) - m * E(i,:);
end
end
invA = E;
end
注意:该代码只适用于非奇异矩阵。如果原矩阵是奇异矩阵,则无法求出逆矩阵。
阅读全文