如何准确计算矩阵的逆?

gus*_*che 1 matlab matrix linear-algebra matrix-inverse

我正在尝试计算矩阵的逆P,但如果我乘以inv(P)*P,MATLAB不会返回单位矩阵.它几乎是身份(非对角线值的顺序10^(-12)).但是,在我的应用程序中我需要更高的精度.

在这种情况下我该怎么办?

Adr*_*aan 13

只有在明确需要使用矩阵的逆时inv,否则只需使用反斜杠运算符\.

关于inv明确规定的文件:

x = A\b计算不同于x = inv(A)*b并且推荐用于求解线性方程组.

这是因为反斜杠操作符,或mldivide使用最适合您特定矩阵的任何方法:

x = A\B解决了线性方程组A*x = B.矩阵AB必须具有相同的行数.如果A标记不正确或几乎是单数,MATLAB®会显示警告消息,但无论如何都会执行计算.

只是让您知道MATLAB根据您的输入矩阵选择的算法,这里是他们的文档中提供的完整算法流程图

mldivide解决线性系统的多功能性源于它能够通过调度到适当的求解器来利用问题中的对称性.该方法旨在最小化计算时间.函数的第一个区别是在完整​​(也称为"密集")和稀疏输入数组之间.

在此输入图像描述