作者:桂。
時間: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