MATLAB计算INV错误(对于奇异矩阵)

-1 matlab

MATLAB有时计算INV错误:

看这个例子

[ 8617412867597445*2^(-25), 5859840749966268*2^(-28)]
[ 5859840749966268*2^(-28), 7969383419954132*2^(-32)]
Run Code Online (Sandbox Code Playgroud)

如果你把它放在MATLAB中它没有逆,但在s计算器中它有一个.

到底是怎么回事?

小智 9

请阅读每个科学家应该了解浮点运算的内容

接下来,无论如何都不要计算逆.几乎不需要逆矩阵,除了在教科书中,它便于编写.遗憾的是,许多作者无论如何都不理解这一事实,因为他们从教科书中学到了其他人,他们也不理解逆矩阵一般是坏事.

由于该矩阵在双精度算术中是数字奇异的,因此该矩阵的逆是没有意义的.

使用matlab反斜杠操作符通常会比反向操作更好更快.或者使用pinv,它会对问题更加健壮.