作者:桂。
时间:2017-06-03 11:06:45
链接:http://www.cnblogs.com/xingshansi/p/6936740.html
一、病态矩阵
A-问题描述
现在有线性系统: Ax = b, 解方程
很容易得到解为: x1 = -100, x2 = -200. 如果在样本采集时存在一个微小的误差,比如,将 A 矩阵的系数 400 改变成 401:
则得到一个截然不同的解: x1 = 40000, x2 = 79800.
当解集 x 对 A 和 b 的系数高度敏感,那么这样的方程组就是病态的 (ill-conditioned).
病态矩阵的详细分析,感兴趣可以点击这里。
B-现象分析
为什么会出现上面的问题?主要是两个向量可以互相近似线性表达(如[401 -201]与[-800 401]),从而另一项近似残差项,这样微小的扰动带来大的扰动。
二、条件数
如何判断矩阵是不是ill-conditioned matrix?条件数是一个思路。
虽然是近似,直接用秩判断是无效的,除非严格线性:rank.
因此可以有两个思路:rcond(A)或者min(svd(A)). 以rcond为例:
if( rcond(A) < 1e-12 ) % This matrix doesn't look good end
参考
http://www.cnblogs.com/daniel-D/p/3219802.html