求解接近奇异的矩阵的逆
请问对于一个接近奇异的矩阵,应该如何去求它的逆矩阵?Matlab自己的inv函数不能给出准确的结果,运行之后给出如下提示
Warning: Matrix is close to singular or badly scaled.
Results may be inaccurate. RCOND = 7.828442e-018.
也试过用pinv求逆,效果也不是很好,计算结果的精度很差。不知道还有其他好的方法吗? 求逆就是解方程
试试消去法解方程
你也可以把方程贴出来,让大家试试 我的数据比较麻烦一些,它是由刚度和质量矩阵组合成的动力刚度矩阵,随频率的变化而改变。以下是求动力刚度矩阵的分块矩阵的逆的程序。希望大家能帮忙解决,谢谢!
function Waveguide()
clear all;
close all;
format short e
load stiffmass;
freq=;
for m=1:length(freq)
w=2*pi*freq(m);
D=K-w^2*M;
D_LL=D(1:nrow,1:nrow);
D_LR=D(1:nrow,nrow+1:2*nrow);
D_RL=D(nrow+1:2*nrow,1:nrow);
D_RR=D(nrow+1:2*nrow,nrow+1:2*nrow);
invD_LR=inv(D_LR); %%% heere is the problem for solving for inverse matrix
end
[ 本帖最后由 xinglong-liu 于 2008-7-28 16:11 编辑 ]
回复 2楼 的帖子
个人认为直接的消去法对于条件数这么小的矩阵是不可行的,会导致结果的误差非常大。 请问一下楼上的,问题解决了吗? xinglong-liu 发表于 2008-7-28 16:08 static/image/common/back.gif我的数据比较麻烦一些,它是由刚度和质量矩阵组合成的动力刚度矩阵,随频率的变化而改变。以下是求动力刚度 ...
楼主解决了么,哎哟,就是遇到这个问题了。 mxlzhenzhu 发表于 2013-7-14 22:39 static/image/common/back.gif
楼主解决了么,哎哟,就是遇到这个问题了。
I had not found good method for this problem until now! xinglong-liu 发表于 2013-7-15 09:23 static/image/common/back.gif
I had not found good method for this problem until now!
possibly no answer after all.
页:
[1]