机械振动 发表于 2012-3-27 16:25

求助高手关于符号矩阵求逆的问题

程序每次遇到一个符号矩阵求逆的时候都会卡,显示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??{:{17}:}

机械振动 发表于 2012-3-27 16:26

矩阵C有点复杂,是一个自变量为阻尼比的振动微分方程的阻尼矩阵

ChaChing 发表于 2012-3-28 01:52

个人时间/专业有限, 无法试执行LZ的程序看看多慢
大约看下, LZ的矩阵都为数值, 有需要一定使用符号吗?

机械振动 发表于 2012-3-28 11:00

回复 3 # ChaChing 的帖子

对,C矩阵为符号矩阵,程序大概意思就是求一个评价指标与富豪ksi的关系,所以C是未知的,是个符号矩阵
页: [1]
查看完整版本: 求助高手关于符号矩阵求逆的问题