在matlab中直接用逆运算常常会提示,建议用矩阵的左除或右除替换,因为inv(A)*b速度更慢且准确度更低。
matlab中部分详细信息:为了求解线性方程组,矩阵的逆主要是理论值。 切勿使用矩阵的逆 ,即 x = inv(A)*b 来求解线性系统 Ax = b,因为它缓慢且不准确。
1、两个元素
(1)用 A\b 替换 inv(A)*b
% 用 A\b 替换 inv(A)*b
A = [1 2;
3 4];
b = [5;
6];
a1 = inv(A)*b;
a2 = A\b;
文章图片
(2) 用 b/A 替换 b*inv(A)
% 用 b/A 替换 b*inv(A)
A = [1 2;
3 4];
b = [5 6];
a1 = b*inv(A);
a2 = b/A;
文章图片
2、三个元素P.s.:注意 加括号
% 用 A*(B\C) 替换 A*inv(B)*CA = [1 2;
3 4];
B = [7 8;
5 6];
C = [5 6;
1 2];
a1 = A*inv(B)*C;
a2 = A/B*C;
a3 = A*B\C;
% 结果错误 必须加括号a4 = A*(B\C);
% 加括号后结果正确
【Matlab(用矩阵的除法替代逆运算的操作(inv))】
文章图片
推荐阅读
- 最优化问题|改进交叉算子的自适应人工蜂群黏菌算法
- matlab|嵌入均衡池的黏菌优化算法
- 最优化问题|加入领导者的黏菌优化算法
- MATLAB图形界面|基于Matlab的汽车出入库计时计费系统
- Matlab旅程|MATLAB的结构化程序设计
- matlab 内存管理 清理内存
- matlab中使用colormap没有效果
- Matlab|圆柱绕流
- MATLAB|Splart-Allmaras湍流模型及MATLAB编程~
- regionprops统计被标记的区域的面积分布,显示区域总数。