24小时热门版块排行榜    

CyRhmU.jpeg
查看: 5594  |  回复: 5
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

aagiler

金虫 (小有名气)

[求助] 在matlab中如何提高矩阵求逆的运算精度?已有4人参与

在matlab下,如何提高矩阵求逆的运算精度。目前用inv求逆得到的结果与理论值还有些差别,不知道有何方法可以提高运算精度。以6阶矩阵为例,要求矩阵Q的逆,该矩阵具有如下结构:
Q=[C;
     C*A;
     C*A*A;
     C*A*A*A;
     C*A*A*A*A;
     C*A*A*A*A*A]
其中
C=[1,0,1,0,1,0];
a1=2*pi*0.001;
a2=4*pi*0.001;
a3=6*pi*0.001;
A=[cos(a1) -sin(a1) 0 0 0 0;
   sin(a1)  cos(a1) 0 0 0 0;
   0 0 cos(a2) -sin(a2) 0 0;
   0 0 sin(a2)  cos(a2) 0 0;
   0 0 0 0 cos(a3) -sin(a3);
   0 0 0 0 sin(a3)  cos(a3)];
明显,A^-1的特征值均在单位圆上
D=[1;0;0;0;0;0;]
P=[Q^-1*D A*Q^-1*D A*A*Q^-1*D A*A*A*Q^-1*D A*A*A*A*Q^-1*D A*A*A*A*A*Q^-1*D]
-1表示矩阵的逆
但目前P^-1*A^-1*P的特征值与1还有些差别。
谢谢先
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cooooldog

铁杆木虫 (著名写手)

ส็็็

【答案】应助回帖

精度要求高,而且问题比较简单,当然是用符号计算了;
符号计算mathematica更加擅长一些; matlab凑合能用;
ส็็็็็็็็็็็็็็็็็็็็
3楼2014-07-07 21:56:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 6 个回答

RT_Fem

铜虫 (正式写手)

【答案】应助回帖

根据矩阵相乘满足结合律,那么矩阵Q应该就是=[C;C;C;C;C;C],从而不可求逆的吧。
No sacrifice, no victory.
2楼2014-07-07 21:26:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ayismas

木虫 (正式写手)

【答案】应助回帖

用矩阵的分解方法,应该求的比较快,特别是对于矩阵的行列数比较大的时候非常有效。

[ 发自手机版 http://muchong.com/3g ]
4楼2014-07-07 22:36:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mathstudy

金虫 (正式写手)

【答案】应助回帖

1. 利用左除运算
2.根据你矩阵是否具有特殊的结构,尝试矩阵分解
3.从网上查一查matlab的高精度工具箱试试
5楼2014-07-08 09:51:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见