奇异矩阵
Posted rongyupan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了奇异矩阵相关的知识,希望对你有一定的参考价值。
奇异矩阵
- |A|=0;
- A可逆 <=> |A| != 0,即A是非奇异矩阵
用inv进行矩阵求逆时,出现矩阵奇异的情况。报错:Warning: Matrix is singular to working precision.
只需将inv替换为pinv求伪逆即可。
特点
- 对于方阵A,如果为非奇异方阵,则存在逆矩阵inv(A)
- 对于奇异矩阵或者非方阵,并不存在逆矩阵,但可以使用pinv(A)求其伪逆;
很多时候你不需要求逆矩阵,例如:
inv(A)*B
实际上可以写成 AB;B*inv(A)
实际上可以写成B/A;
这样比求逆之后带入精度要高。
关于 inv
和 或 /
;
inv
Y=inv(X)
返回方阵X的逆矩阵,如果X病态或者高度奇异,则会显示警告信息。
实际上,很少需要真的把矩阵的逆求出来,常见的使用失误主要出现在求解线性方程组AX=b。一种求解方法为x=inv(A)*b
,但如要达到更快,更稳定,就得用X=A
。这个算法使用高斯消去法,因此不产生逆矩阵。
矩阵左除
- 如果A是方阵,
AB
近似等于inv(A)*B
,只是他们的算法不一样; - 如果A是 nxn 的方阵,B是 nx1 的列向量,或 nxn 的矩阵,那么
X=AB
是AX=B
的解; - 如果A很病态或者很奇异,很会显示警告信息;用
AEYE(SIZE(A))
计算A的逆,参见mldivide,可得到更多信息; - 如果A是 mxn 的矩阵,m != n,B是 mx1 或 mxn 的列向量,那么 X=AB 就是线性方程组 AX=B(超定或者欠定)的最小二乘解;
- Asolution X is computed that has at most k nonzero componentspercolumn;如果K<N,结果通常和
pinv(A)*B
不一样,后者是最小范数解。AEYE(SIZE(A))
用来求解A的广义逆。
以上是关于奇异矩阵的主要内容,如果未能解决你的问题,请参考以下文章