条件数很大的矩阵如何精确求逆?
条件数很大的矩阵如何精确求逆?[ 本帖最后由 eight 于 2008-3-21 23:20 编辑 ]
回复 楼主 的帖子
条件数和大的矩阵这句话不理解 原帖由 zjj 于 2008-3-21 16:19 发表 http://www.chinavib.com/forum/images/common/back.gif
条件数很大的矩阵如何精确求逆? 发帖时、发帖后,请反复检查你的帖子内容,不要让人摸不着头脑。
你的问题最好看看相关书籍,或者版面搜索看有否收获 用高斯消去法等,或者一些矩阵分解的方法解病态矩阵 条件数比较大时,高斯消去可能不大行。
试试奇异值分解求逆吧=svd(A);
Ainv=V*inv(S)*U'; 晕死,还是老老实实用Matlab的inv()吧。毕竟是matlab优化过的,即便是对于接近病态的矩阵也有比较好的求解结果啊。看下面的实验
1.用inv()A=hilb(30);
cA=cond(A);
Ai1=inv(A);
Er1=norm(Ai1*A-eye(30))求解的误差
Er1 =
31.9350
2.svd分解求解A=hilb(30);
=svd(A);
Ai2=V*inv(S)*U';
Er2=norm(Ai2*A-eye(30))结果
Er2 =
112.0906
这说明inv直接求逆的精度高于用svd求解的。不过,我只做了Hilbert矩阵一种情况,也许这是个特例或者也有可能求解过程有错误?——欢迎指教。
页:
[1]