xinglong-liu 发表于 2008-7-28 13:50

求解接近奇异的矩阵的逆

请问对于一个接近奇异的矩阵,应该如何去求它的逆矩阵?Matlab自己的inv函数不能
给出准确的结果,运行之后给出如下提示
Warning: Matrix is close to singular or badly scaled.
Results may be inaccurate. RCOND = 7.828442e-018.
也试过用pinv求逆,效果也不是很好,计算结果的精度很差。不知道还有其他好的方法吗?

messenger 发表于 2008-7-28 14:24

求逆就是解方程

试试消去法解方程

你也可以把方程贴出来,让大家试试

xinglong-liu 发表于 2008-7-28 16:08

我的数据比较麻烦一些,它是由刚度和质量矩阵组合成的动力刚度矩阵,随频率的变化而改变。以下是求动力刚度矩阵的分块矩阵的逆的程序。希望大家能帮忙解决,谢谢!

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 编辑 ]

sogooda 发表于 2008-7-29 12:55

回复 2楼 的帖子

个人认为直接的消去法对于条件数这么小的矩阵是不可行的,会导致结果的误差非常大。

hrbeu221 发表于 2012-3-21 22:39

请问一下楼上的,问题解决了吗?

mxlzhenzhu 发表于 2013-7-14 22:39

xinglong-liu 发表于 2008-7-28 16:08 static/image/common/back.gif
我的数据比较麻烦一些,它是由刚度和质量矩阵组合成的动力刚度矩阵,随频率的变化而改变。以下是求动力刚度 ...

楼主解决了么,哎哟,就是遇到这个问题了。

xinglong-liu 发表于 2013-7-15 09:23

mxlzhenzhu 发表于 2013-7-14 22:39 static/image/common/back.gif
楼主解决了么,哎哟,就是遇到这个问题了。

I had not found good method for this problem until now!

mxlzhenzhu 发表于 2013-7-15 12:29

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]
查看完整版本: 求解接近奇异的矩阵的逆