声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 4564|回复: 4

[综合讨论] 病态矩阵如何求解??

[复制链接]
发表于 2006-4-8 12:20 | 显示全部楼层 |阅读模式

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

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

x
用matlab求解A×x=I的矩阵,
A=[-4.7619 4.7619 0 0; 4.7619 -6.5163 1.7544 0; 0 1.7544 -1.7544 0.0000; 0 0 0.0000 -0.0000]
I=[-1;0;1;0];

A是个病态矩阵,虽然A\I的结果差强人意,但是总有warning!另外,用pinv的话,结果差很远!而且,这个A矩阵只是一个简单4×4阵,以后还要遇到比维度更大的矩阵!

求教高手,具体到这类方程该怎么求解?(尤其不要让他提示Warning: Matrix is close to singular or badly scaled.Results may be inaccurate. RCOND = 2.935338e-017.)
我不是数学专业的,只是学习中遇到这样的矩阵运算,请高手帮忙解释清楚,否则我可能读不懂!!

[ 本帖最后由 ChaChing 于 2010-6-17 16:29 编辑 ]
回复
分享到:

使用道具 举报

发表于 2006-4-8 14:35 | 显示全部楼层

回复:(banditxue)病态矩阵如何求解??

试一下GS迭代或者SOR迭代
 楼主| 发表于 2006-4-8 15:34 | 显示全部楼层
教授先生,你所说的GS迭代和SOR迭代是matlab内置的函数么?要不要另外编写了啦??<BR><BR>matlab内部的inv是用什么方法求出来的?用迭代的方法计算阶数比较大的矩阵,会不会导致计算时间太长的问题?????
发表于 2006-4-9 16:05 | 显示全部楼层

回复:(banditxue)病态矩阵如何求解??

GS迭代和SOR迭代自己写一下,不难<BR><BR>GS迭代时间肯定长,SOR要看你的松弛因子选的怎么样了<BR><BR>inv具体用什么算得还真没仔细看过,你可以调出它的m文件来看看
发表于 2006-5-29 19:50 | 显示全部楼层

lkc

矩阵A和b存在的微小扰动δA和δb,会引起方程组Ax=b解的很大变化,则称Ax=b为病态方程组,称矩阵A为病态矩阵
若数据没抄错,则A显然是一奇异矩阵,而非病态矩阵,
方程组Ax=b不可用x=A\I表示其解,只因A的维数rank(A)=3,其逆不存在,方程组Ax=I有无穷多解.可用迭代法求一解,或先求一特解,再求其基础解系,得全部解.
另外,令B=[-4.7619 4.7619 0;4.7619 -6.5163 1.7544;0 1.7544 -1.7544],记x0=B\I,则方程组Ax=I的解为
x=[x0;0]+[0 0 0 t]',其中t为任意常数.


[ 本帖最后由 ChaChing 于 2010-6-17 16:01 编辑 ]

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-9-25 15:24 , Processed in 0.061078 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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