声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1571|回复: 3

[编程技巧] 求助高手关于符号矩阵求逆的问题

[复制链接]
发表于 2012-3-27 16:25 | 显示全部楼层 |阅读模式

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

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

x
程序每次遇到一个符号矩阵求逆的时候都会卡,显示matlab  正busy着呢,怎么样可以改善这个现象,加快运算速度呢?程序在之前已经给矩阵都设定了存储空间了。
M=
  1.0e+004 *

    1.0800         0         0         0         0         0         0         0
         0    3.4101         0         0         0         0         0         0
         0         0    0.0080         0         0         0         0         0
         0         0         0    0.0080         0         0         0         0
         0         0         0         0    0.0080         0         0         0
         0         0         0         0         0    0.0080         0         0
         0         0         0         0         0         0    0.0080         0
         0         0         0         0         0         0         0    0.0080

K=K =

  1.0e+006 *

    1.7055   -0.5260   -0.2842   -0.2842   -0.2842   -0.2842   -0.2842   -0.2842
   -0.5260    4.1428   -0.5513   -0.2954   -0.0368    0.2190    0.4760    0.7145
   -0.2842   -0.5513    1.1242         0         0         0         0         0
   -0.2842   -0.2954         0    1.1242         0         0         0         0
   -0.2842   -0.0368         0         0    1.1242         0         0         0
   -0.2842    0.2190         0         0         0    1.1242         0         0
   -0.2842    0.4760         0         0         0         0    1.1242         0
   -0.2842    0.7145         0         0         0         0         0    1.1242

C=[           (4663193830682809*ksi)/8589934592,                       -(43148532515308031677*ksi)/257698037760000,         -(4663193830682809*ksi)/51539607552,         -(4663193830682809*ksi)/51539607552,        -(4663193830682809*ksi)/51539607552,        -(4663193830682809*ksi)/51539607552,       -(4663193830682809*ksi)/51539607552,      -(4663193830682809*ksi)/51539607552]
[ -(43148532515308031677*ksi)/257698037760000, (19130300762153264699516231621423*ksi)/14507109835375550096474112, -(45218990576131198873*ksi)/257698037760000, -(24234618338058558373*ksi)/257698037760000, -(3017086408451777423*ksi)/257698037760000, (17967285829620863077*ksi)/257698037760000, (13014973981435719919*ksi)/85899345920000, (7325877508002692939*ksi)/32212254720000]
[         -(4663193830682809*ksi)/51539607552,                       -(45218990576131198873*ksi)/257698037760000,          (4663193830682809*ksi)/51539607552,                                           0,                                          0,                                          0,                                         0,                                        0]
[         -(4663193830682809*ksi)/51539607552,                       -(24234618338058558373*ksi)/257698037760000,                                           0,          (4663193830682809*ksi)/51539607552,                                          0,                                          0,                                         0,                                        0]
[         -(4663193830682809*ksi)/51539607552,                        -(3017086408451777423*ksi)/257698037760000,                                           0,                                           0,         (4663193830682809*ksi)/51539607552,                                          0,                                         0,                                        0]
[         -(4663193830682809*ksi)/51539607552,                        (17967285829620863077*ksi)/257698037760000,                                           0,                                           0,                                          0,         (4663193830682809*ksi)/51539607552,                                         0,                                        0]
[         -(4663193830682809*ksi)/51539607552,                         (13014973981435719919*ksi)/85899345920000,                                           0,                                           0,                                          0,                                          0,        (4663193830682809*ksi)/51539607552,                                        0]
[         -(4663193830682809*ksi)/51539607552,                          (7325877508002692939*ksi)/32212254720000,                                           0,                                           0,                                          0,                                          0,                                         0,       (4663193830682809*ksi)/51539607552]
    B=i*w*C-w^2*M+K;
A =

  1.0e+005 *

        0         
        0         
   8.4000         
   4.4115 - 7.1484i
  -3.8511 - 7.4652i
  -8.3753 - 0.6433i
  -4.9152 + 6.8118i
   2.6729 + 7.9634i
Hw=inv(B)*A;
就是在最后一行的时候,matlab运行的无与伦比的慢,并且运行结果是错的,如果把最后一行程序改为Hw=B\A,那么就根本运行不出来

求助各位大侠,怎样修改这个程序,可以准确无误的求出Hw??
回复
分享到:

使用道具 举报

 楼主| 发表于 2012-3-27 16:26 | 显示全部楼层
矩阵C有点复杂,是一个自变量为阻尼比的振动微分方程的阻尼矩阵
发表于 2012-3-28 01:52 | 显示全部楼层
个人时间/专业有限, 无法试执行LZ的程序看看多慢
大约看下, LZ的矩阵都为数值, 有需要一定使用符号吗?
 楼主| 发表于 2012-3-28 11:00 | 显示全部楼层
回复 3 # ChaChing 的帖子

对,C矩阵为符号矩阵,程序大概意思就是求一个评价指标与富豪ksi的关系,所以C是未知的,是个符号矩阵
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-29 08:55 , Processed in 0.069728 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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