左除和右除

左除和右除

Matlab中,有两种除法,左除 \ 和右除 /。这两种的结果是不一样的

代数运算

>> [1/2, 1\2]
ans = 
0.5000	2.0000
  • 右除:左边是分子/右边是分母;左除则相反;

求解线性方程组:

AX=b; 则 X=A^(-1)*b  
视 A^(-1)=1/A,则 X=b/A,即 X=A\b
也可以用:X=inv(A)*b

区分

根据Moler(Matlab的主要发明者)的建议:尽量使用左除,而不是inv函数;
根据相关资料,MATLAB会根据矩阵A的形式判断,如果A具有:稀疏和带状,三角(或者简单变换能转化为三角形式),对称,则使用对应的高效算法,例如带状求解器、向后和向前回代,楚列斯基分解等。如果不满足上述条件,再使用完整的高斯消元过程。

猜你喜欢

转载自www.cnblogs.com/rongyupan/p/12662505.html