我有一个矩阵B,如下所示.我们怎样才能inv(B)使用MATLAB?
B =[ 1.7511, 0.1891, -1.3523;
1.7511, 0.1891, -1.3523;
1.7511, 0.1891, -1.3523 ];
Run Code Online (Sandbox Code Playgroud)
通过打字 inv(B).这是反向的确切命令.
请注意,此情况下的反转不存在(请参阅@ hdaberts的答案),这就是您收到以下警告的原因:
警告:Matrix的工作精度非常高.
那已经告诉你MATLAB根本无法计算逆.
你会想要更频繁地使用\,因为这会选择最佳策略来计算Ax = c类型的问题,其中x是未知的.x=A\c在这种情况下将是语法.
从以下文档inv:
Y = inv(X)返回方阵的倒数X.如果X标记错误或几乎是单数,则会打印警告消息.实际上,很少需要形成矩阵的显式逆.
inv在求解线性方程组时经常出现误操作Ax = b.解决这个问题的一种方法是x = inv(A)*b.从执行时间和数值精度的角度来看,更好的方法是使用矩阵除法运算符x = A\b.这使用高斯消元产生解,而不形成逆.有关详细信息,请参阅mldivide(\).