不要用matlab自带函数,使用matlab自写一个求一个矩阵逆矩阵的函数
时间: 2024-02-07 12:04:07 浏览: 69
你可以使用以下代码来自己编写一个求矩阵的逆矩阵的函数:
```matlab
function invMatrix = myInverse(matrix)
[n, m] = size(matrix);
if n ~= m
error('输入的矩阵不是方阵');
end
identityMatrix = eye(n);
augmentedMatrix = [matrix, identityMatrix];
for i = 1:n
pivot = augmentedMatrix(i, i);
if pivot == 0
error('矩阵不可逆');
end
augmentedMatrix(i, :) = augmentedMatrix(i, :) / pivot;
for j = 1:n
if j ~= i
factor = augmentedMatrix(j, i);
augmentedMatrix(j, :) = augmentedMatrix(j, :) - factor * augmentedMatrix(i, :);
end
end
end
invMatrix = augmentedMatrix(:, n+1:end);
end
```
你可以将上述代码保存在一个以`.m`为扩展名的文件中,然后在 MATLAB 中调用该函数来求矩阵的逆矩阵。例如,假设你有一个矩阵A,你可以使用以下代码来计算它的逆矩阵:
```matlab
A = [1, 2; 3, 4];
invA = myInverse(A);
disp(invA);
```
请注意,此函数的实现使用了高斯-约当消元法。如果输入的矩阵不是方阵或者不可逆,函数将会抛出相应的错误。
阅读全文