声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 3121|回复: 7

[编程技巧] 求解接近奇异的矩阵的逆

[复制链接]
发表于 2008-7-28 13:50 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

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

使用道具 举报

发表于 2008-7-28 14:24 | 显示全部楼层
求逆就是解方程

试试消去法解方程

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

评分

1

查看全部评分

 楼主| 发表于 2008-7-28 16:08 | 显示全部楼层
我的数据比较麻烦一些,它是由刚度和质量矩阵组合成的动力刚度矩阵,随频率的变化而改变。以下是求动力刚度矩阵的分块矩阵的逆的程序。希望大家能帮忙解决,谢谢!

function Waveguide()
clear all;
close all;
format short e
load stiffmass;
freq=[5e3:0.5e3:150e3];
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 编辑 ]

stiffmass.mat

2.68 KB, 下载次数: 4

发表于 2008-7-29 12:55 | 显示全部楼层

回复 2楼 的帖子

个人认为直接的消去法对于条件数这么小的矩阵是不可行的,会导致结果的误差非常大。
发表于 2012-3-21 22:39 | 显示全部楼层
请问一下楼上的,问题解决了吗?
发表于 2013-7-14 22:39 | 显示全部楼层

楼主解决了么,哎哟,就是遇到这个问题了。
 楼主| 发表于 2013-7-15 09:23 | 显示全部楼层
mxlzhenzhu 发表于 2013-7-14 22:39
楼主解决了么,哎哟,就是遇到这个问题了。

I had not found good method for this problem until now!
发表于 2013-7-15 12:29 | 显示全部楼层
xinglong-liu 发表于 2013-7-15 09:23
I had not found good method for this problem until now!

possibly no answer after all.
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-15 18:58 , Processed in 0.065714 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表