matlab inverse函数
时间: 2024-01-15 19:19:08 浏览: 100
以下是一个使用Matlab的inverse函数的例子:
```matlab
% 主函数:main.m
% 测试
A = [1 -2 3; 2 3 4; 3 5 7];
b = [-10; 5; 7];
% 调用内置函数
x1 = A\b;
% 调用自定义函数
x = inverse(A, b);
% 输出结果
disp("内置函数结果:");
disp(x1);
disp("自定义函数结果:");
disp(x);
% 函数:inverse.m
% 求可逆矩阵(AX=b)
% 高斯约当法
function x = inverse(A, b)
row = size(A, 1);
% C用于存储A的逆矩阵
C = eye(row);
A = [A C];
row_add = size(A, 2);
for i = 1:row
% 求单列最大元素的行号
[col_max, nmax] = max(abs(A(i:row, i)));
% 交换最大元素那一行和第i行
temp = A(i, :);
A(i, :) = A(nmax + i - 1, :);
A(nmax + i - 1, :) = temp;
for j = 1:row
if(j ~= i)
A(j, :) = A(j, :) - A(j, i) * A(i, :);
end
end
end
% AX=b方程的解
x = A(:, row + 1:row_add) * b;
% A的逆矩阵
C = A(:, row + 1:row_add);
end
```
阅读全文