声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 813|回复: 4

[编程技巧] 请高手帮忙解决一个自由振动问题

[复制链接]
发表于 2008-6-26 16:31 | 显示全部楼层 |阅读模式

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

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

x
自由振动方程为:M*X''+K*X=0,M阵和K阵都是对称矩阵,所以K阵在此仅写出上三角阵.u(t)从1到8,步长为1.请教高手如何用matlab画出u(t)变化时,频率的曲线.真诚请教!
分,K为对称矩阵.具体K阵M阵见附件. 请教.m (24.91 KB, 下载次数: 12)

  1. M*X''+K*X=0
  2. V=[5.43 5.43 6.29 2.35 2.35 3.00 0.4 0.4 0.39 0.66 0.66 0.610 0.66 0.66 0.610 0.66 0.66 0.610 0.66 0.66 0.610];
  3. M=diag(V);
  4. K=[              1e8+4*u(t)*1*10^8            0                   0                        0                                    0                           0                         0                           0                                0                       -(1)*u(t)*1*10^8                                                                             (0)*u(t)*1*10^8                                                                                0                                                                       -(0)*u(t)*1*10^8                                                                              (1)*u(t)*1*10^8                                                                                0                                                              -(-1)*u(t)*1*10^8                                                                             (0)*u(t)*1*10^8                                                                               0                                                            -(0)*u(t)*1*10^8                                                                            (-1)*u(t)*1*10^8                                                                                  0;
  5.                  0                    1e8+4*u(t)*1*10^8           0                        0                                    0                           0                         0                           0                                0                       -(0)*u(t)*1*10^8                                                                              -(1)*u(t)*1*10^8                                                                              0                                                                       -(1)*u(t)*1*10^8                                                                              -(0)*u(t)*1*10^8                                                                               0                                                              -(0)*u(t)*1*10^8                                                                              -(-1)*u(t)*1*10^8                                                                             0                                                            -(-1)*u(t)*1*10^8                                                                           -(0)*u(t)*1*10^8                                                                                  0;
  6.                  0                    0                   0+4*u(t)*1*10^8                0                                    0                           0                         0                           0                                0                       0                                                                                    -1*u(t)*1*10^8                                                                                0                                                                       0                                                                                    -1*u(t)*1*10^8                                                                                 0                                                              0                                                                                    -1*u(t)*1*10^8                                                                                0                                                              0                                                                                 -1*u(t)*1*10^8                                                                                   0;
  7.                  0                    0                   0                        1e8                                  0                           0                         0                           0                                0                        -0.374*0.374*5e8                                                            0.374*0.9274*5e8                                                                             0.374*5e8                                                                 -0.9274*0.374*5e8                                                             0.9274*0.9274*5e8                                                                      0.9274*5e8                                                            -(-0.374)*0.374*5e8                                                            (-0.374)*0.9274*5e8                                                                  (-0.374)*5e8                                                         -(-0.9274)*0.374*5e8                                                     (-0.9274)*0.9274*5e8                                                                       (-0.9274)*5e8;
  8.                  0                    0                   0                        0                                    1e8                         0                         0                           0                                0                       0.9274*0.374*5e8                                                              -0.9274*0.9274*5e8                                                                       -0.9274*5e8                                                                  (-0.374)*0.374*5e8                                                         -(-0.374)*0.9274*5e8                                                                     -(-0.374)*5e8                                                          (-0.9274)*0.374*5e8                                                          -(-0.9274)*0.9274*5e8                                                                  -(-0.9274)*5e8                                                        0.374*0.374*5e8                                                            -0.374*0.9274*5e8                                                                         -0.374*5e8;
  9.                  0                    0                   0                        0                                    0                           1e9+4*5e8                 0                           0                                0                       0.374*5e8                                                                       -0.9274*5e8                                                                                 -1*5e8                                                                     0.374*5e8                                                                       -0.9274*5e8                                                                              -1*5e8                                                               0.374*5e8                                                                       -0.9274*5e8                                                                        -1*5e8                                                              0.374*5e8                                                                     -0.9274*5e8                                                                                 -1*5e8;
  10.                  0                    0                   0                        0                                    0                           0                         1e8                         0                                0                        (-0.374)*0.374*5e8                                                              (-0.374)*0.9274*5e8                                                                     -(-0.374)*5e8                                                             0.9274*0.374*5e8                                                              0.9274*0.9274*5e8                                                                          -0.9274*5e8                                                             0.374*0.374*5e8                                                           0.374*0.9274*5e8                                                                       -0.374*5e8                                                            (-0.9274)*0.374*5e8                                                  (-0.9274)*0.9274*5e8                                                                       -(-0.9274)*5e8     ;                                                                  
  11.                  0                    0                   0                        0                                    0                           0                         0                           1e8                              0                         -0.9274*0.374*5e8                                                           -0.9274*0.9274*5e8                                                                        0.9274*5e8                                                                   -0.374*0.374*5e8                                                           -0.374*0.9274*5e8                                                                             0.374*5e8                                                              -(-0.9274)*0.374*5e8                                                   -(-0.9274)*0.9274*5e8                                                                     (-0.9274)*5e8                                                      -(-0.374)*0.374*5e8                                                       -(-0.374)*0.9274*5e8                                                                     (-0.374)*5e8;
  12.                  0                    0                   0                        0                                    0                           0                         0                           0                                0+4*5e8                 -0.374*5e8                                                                      -0.9274*5e8                                                                                 1*5e8                                                                     -0.374*5e8                                                                     -0.9274*5e8                                                                                 1*5e8                                                            -0.374*5e8                                                                    -0.9274*5e8                                                                           1*5e8                                                                -0.374*5e8                                                                 -0.9274*5e8                                                                                1*5e8;
  13.                 0                    0                   0                        0                                    0                           0                         0                           0                                0                         u(t)*1*10^8+5e8*0.1399+5e8*0.86                                                       5e8*0.374*0.9274-5e8*0.374*0.9274                                                          -5e8*0.374-5e8*0.374                                                       0                                                                                       0                                                                                 0                                                              0                                                                                   0                                                                                      0                                                                 0                                                                           0                                                                                         0;
  14.                 0                    0                   0                        0                                    0                           0                         0                           0                                0                           0                                                                             u(t)*1*10^8+5e8*0.86+5e8*0.1399                                                                   -5e8*0.9274+5e8*0.9274                                                    0                                                                                       0                                                                                 0                                                              0                                                                                   0                                                                                      0                                                                 0                                                                           0                                                                                         0;
  15.                 0                    0                   0                        0                                    0                           0                         0                           0                                0                           0                                                                                    0                                                                                   5e8+5e8                                                                  0                                                                                       0                                                                                 0                                                              0                                                                                   0                                                                                      0                                                                 0                                                                           0                                                                                         0 ;
  16.                 0                    0                   0                        0                                    0                           0                         0                           0                                0                           0                                                                                    0                                                                                   0                                                                         u(t)*1*10^8+5e8*0.1399+5e8*0.86                                                       5e8*0.374*0.9274-5e8*0.374*0.9274                                                          -5e8*0.374-5e8*0.374                                           0                                                                                   0                                                                                      0                                                                 0                                                                           0                                                                                         0;                        
  17.                 0                    0                   0                        0                                    0                           0                         0                           0                                0                           0                                                                                    0                                                                                   0                                                                         0                                                                             u(t)*1*10^8+5e8*0.86+5e8*0.1399                                                                   -5e8*0.9274+5e8*0.9274                                          0                                                                                   0                                                                                      0                                                                 0                                                                           0                                                                                         0  ;                                                                                                                                                                                                                                                                                                                                
  18.                 0                    0                   0                        0                                    0                           0                         0                           0                                0                           0                                                                                    0                                                                                   0                                                                         0                                                                                    0                                                                                   5e8+5e8                                                        0                                                                                   0                                                                                      0                                                                 0                                                                           0                                                                                         0            ;                                                                                                                                                                                                                                                                                                                                                      
  19.                 0                    0                   0                        0                                    0                           0                         0                           0                                0                           0                                                                                    0                                                                                   0                                                                         0                                                                                     0                                                                                   0                                                              u(t)*1*10^8+5e8*0.1399+5e8*0.86                                                       5e8*0.374*0.9274-5e8*0.374*0.9274                                                          -5e8*0.374-5e8*0.374                                               0                                                                           0                                                                                         0 ;
  20.                 0                    0                   0                        0                                    0                           0                         0                           0                                0                           0                                                                                    0                                                                                   0                                                                         0                                                                                     0                                                                                   0                                                                0                                                                             u(t)*1*10^8+5e8*0.86+5e8*0.1399                                                                   -5e8*0.9274+5e8*0.9274                                             0                                                                           0                                                                                         0  ;
  21.                 0                    0                   0                        0                                    0                           0                         0                           0                                0                           0                                                                                    0                                                                                   0                                                                         0                                                                                     0                                                                                   0                                                                 0                                                                                    0                                                                                   5e8+5e8                                                           0                                                                           0                                                                                         0    ;
  22.                 0                    0                   0                        0                                    0                           0                         0                           0                                0                           0                                                                                    0                                                                                   0                                                                         0                                                                                     0                                                                                   0                                                                 0                                                                                0                                                                                       0                                                               u(t)*1*10^8+5e8*0.1399+5e8*0.86                                                       5e8*0.374*0.9274-5e8*0.374*0.9274                                                          -5e8*0.374-5e8*0.374 ;
  23.                 0                    0                   0                        0                                    0                           0                         0                           0                                0                           0                                                                                    0                                                                                   0                                                                         0                                                                                     0                                                                                   0                                                                 0                                                                                0                                                                                       0                                                                0                                                                             u(t)*1*10^8+5e8*0.86+5e8*0.1399                                                                   -5e8*0.9274+5e8*0.9274 ;                                                                        
  24.                 0                    0                   0                        0                                    0                           0                         0                           0                                0                           0                                                                                    0                                                                                   0                                                                         0                                                                                     0                                                                                   0                                                                 0                                                                                0                                                                                       0                                                                 0                                                                                    0                                                                                   5e8+5e8];                                                                           
  25. %K仅写出上三角部分,K为对称矩阵
复制代码

[ 本帖最后由 sogooda 于 2008-6-27 09:37 编辑 ]
回复
分享到:

使用道具 举报

发表于 2008-6-27 09:36 | 显示全部楼层
问题看不明白。
u(t)是啥?u和频率的关系曲线?
发表于 2008-6-27 09:47 | 显示全部楼层
哥们儿,你这个问题用不着matlab高手,基本上自己找本书看看就解决了。自己运行一下看结果吧
  1. V=[5.43 5.43 6.29 2.35 2.35 3.00 0.4 0.4 0.39 0.66 0.66 0.610 0.66 0.66 0.610 0.66 0.66 0.610 0.66 0.66 0.610];
  2. M=diag(V);
  3. u=1:8;
  4. for i=1:8
  5.     K=[              1e8+4*u(i)*1*10^8            0                   0                        0                                    0                           0                         0                           0                                0                       -(1)*u(i)*1*10^8                                                                             (0)*u(i)*1*10^8                                                                                0                                                                       -(0)*u(i)*1*10^8                                                                              (1)*u(i)*1*10^8                                                                                0                                                              -(-1)*u(i)*1*10^8                                                                             (0)*u(i)*1*10^8                                                                               0                                                            -(0)*u(i)*1*10^8                                                                            (-1)*u(i)*1*10^8                                                                                  0
  6.                      0                    1e8+4*u(i)*1*10^8           0                        0                                    0                           0                         0                           0                                0                       -(0)*u(i)*1*10^8                                                                              -(1)*u(i)*1*10^8                                                                              0                                                                       -(1)*u(i)*1*10^8                                                                              -(0)*u(i)*1*10^8                                                                               0                                                              -(0)*u(i)*1*10^8                                                                              -(-1)*u(i)*1*10^8                                                                             0                                                            -(-1)*u(i)*1*10^8                                                                           -(0)*u(i)*1*10^8                                                                                  0
  7.                      0                    0                   0+4*u(i)*1*10^8                0                                    0                           0                         0                           0                                0                       0                                                                                    -1*u(i)*1*10^8                                                                                0                                                                       0                                                                                    -1*u(i)*1*10^8                                                                                 0                                                              0                                                                                    -1*u(i)*1*10^8                                                                                0                                                              0                                                                                 -1*u(i)*1*10^8                                                                                   0
  8.                      0                    0                   0                        1e8                                  0                           0                         0                           0                                0                        -0.374*0.374*5e8                                                            0.374*0.9274*5e8                                                                             0.374*5e8                                                                 -0.9274*0.374*5e8                                                             0.9274*0.9274*5e8                                                                      0.9274*5e8                                                            -(-0.374)*0.374*5e8                                                            (-0.374)*0.9274*5e8                                                                  (-0.374)*5e8                                                         -(-0.9274)*0.374*5e8                                                     (-0.9274)*0.9274*5e8                                                                       (-0.9274)*5e8
  9.                      0                    0                   0                        0                                    1e8                         0                         0                           0                                0                       0.9274*0.374*5e8                                                              -0.9274*0.9274*5e8                                                                       -0.9274*5e8                                                                  (-0.374)*0.374*5e8                                                         -(-0.374)*0.9274*5e8                                                                     -(-0.374)*5e8                                                          (-0.9274)*0.374*5e8                                                          -(-0.9274)*0.9274*5e8                                                                  -(-0.9274)*5e8                                                        0.374*0.374*5e8                                                            -0.374*0.9274*5e8                                                                         -0.374*5e8
  10.                      0                    0                   0                        0                                    0                           1e9+4*5e8                 0                           0                                0                       0.374*5e8                                                                       -0.9274*5e8                                                                                 -1*5e8                                                                     0.374*5e8                                                                       -0.9274*5e8                                                                              -1*5e8                                                               0.374*5e8                                                                       -0.9274*5e8                                                                        -1*5e8                                                              0.374*5e8                                                                     -0.9274*5e8                                                                                 -1*5e8
  11.                      0                    0                   0                        0                                    0                           0                         1e8                         0                                0                        (-0.374)*0.374*5e8                                                              (-0.374)*0.9274*5e8                                                                     -(-0.374)*5e8                                                             0.9274*0.374*5e8                                                              0.9274*0.9274*5e8                                                                          -0.9274*5e8                                                             0.374*0.374*5e8                                                           0.374*0.9274*5e8                                                                       -0.374*5e8                                                            (-0.9274)*0.374*5e8                                                  (-0.9274)*0.9274*5e8                                                                       -(-0.9274)*5e8                                                                     
  12.                      0                    0                   0                        0                                    0                           0                         0                           1e8                              0                         -0.9274*0.374*5e8                                                           -0.9274*0.9274*5e8                                                                        0.9274*5e8                                                                   -0.374*0.374*5e8                                                           -0.374*0.9274*5e8                                                                             0.374*5e8                                                              -(-0.9274)*0.374*5e8                                                   -(-0.9274)*0.9274*5e8                                                                     (-0.9274)*5e8                                                      -(-0.374)*0.374*5e8                                                       -(-0.374)*0.9274*5e8                                                                     (-0.374)*5e8
  13.                      0                    0                   0                        0                                    0                           0                         0                           0                                0+4*5e8                 -0.374*5e8                                                                      -0.9274*5e8                                                                                 1*5e8                                                                     -0.374*5e8                                                                     -0.9274*5e8                                                                                 1*5e8                                                            -0.374*5e8                                                                    -0.9274*5e8                                                                           1*5e8                                                                -0.374*5e8                                                                 -0.9274*5e8                                                                                1*5e8
  14.                     0                    0                   0                        0                                    0                           0                         0                           0                                0                         u(i)*1*10^8+5e8*0.1399+5e8*0.86                                                       5e8*0.374*0.9274-5e8*0.374*0.9274                                                          -5e8*0.374-5e8*0.374                                                       0                                                                                       0                                                                                 0                                                              0                                                                                   0                                                                                      0                                                                 0                                                                           0                                                                                         0
  15.                     0                    0                   0                        0                                    0                           0                         0                           0                                0                           0                                                                             u(i)*1*10^8+5e8*0.86+5e8*0.1399                                                                   -5e8*0.9274+5e8*0.9274                                                    0                                                                                       0                                                                                 0                                                              0                                                                                   0                                                                                      0                                                                 0                                                                           0                                                                                         0
  16.                     0                    0                   0                        0                                    0                           0                         0                           0                                0                           0                                                                                    0                                                                                   5e8+5e8                                                                  0                                                                                       0                                                                                 0                                                              0                                                                                   0                                                                                      0                                                                 0                                                                           0                                                                                         0
  17.                     0                    0                   0                        0                                    0                           0                         0                           0                                0                           0                                                                                    0                                                                                   0                                                                         u(i)*1*10^8+5e8*0.1399+5e8*0.86                                                       5e8*0.374*0.9274-5e8*0.374*0.9274                                                          -5e8*0.374-5e8*0.374                                           0                                                                                   0                                                                                      0                                                                 0                                                                           0                                                                                         0                        
  18.                     0                    0                   0                        0                                    0                           0                         0                           0                                0                           0                                                                                    0                                                                                   0                                                                         0                                                                             u(i)*1*10^8+5e8*0.86+5e8*0.1399                                                                   -5e8*0.9274+5e8*0.9274                                          0                                                                                   0                                                                                      0                                                                 0                                                                           0                                                                                         0                                                                                                                                                                                                                                                                                                                                 
  19.                     0                    0                   0                        0                                    0                           0                         0                           0                                0                           0                                                                                    0                                                                                   0                                                                         0                                                                                    0                                                                                   5e8+5e8                                                        0                                                                                   0                                                                                      0                                                                 0                                                                           0                                                                                         0                                                                                                                                                                                                                                                                                                                                                               
  20.                     0                    0                   0                        0                                    0                           0                         0                           0                                0                           0                                                                                    0                                                                                   0                                                                         0                                                                                     0                                                                                   0                                                              u(i)*1*10^8+5e8*0.1399+5e8*0.86                                                       5e8*0.374*0.9274-5e8*0.374*0.9274                                                          -5e8*0.374-5e8*0.374                                               0                                                                           0                                                                                         0
  21.                     0                    0                   0                        0                                    0                           0                         0                           0                                0                           0                                                                                    0                                                                                   0                                                                         0                                                                                     0                                                                                   0                                                                0                                                                             u(i)*1*10^8+5e8*0.86+5e8*0.1399                                                                   -5e8*0.9274+5e8*0.9274                                             0                                                                           0                                                                                         0  
  22.                     0                    0                   0                        0                                    0                           0                         0                           0                                0                           0                                                                                    0                                                                                   0                                                                         0                                                                                     0                                                                                   0                                                                 0                                                                                    0                                                                                   5e8+5e8                                                           0                                                                           0                                                                                         0   
  23.                     0                    0                   0                        0                                    0                           0                         0                           0                                0                           0                                                                                    0                                                                                   0                                                                         0                                                                                     0                                                                                   0                                                                 0                                                                                0                                                                                       0                                                               u(i)*1*10^8+5e8*0.1399+5e8*0.86                                                       5e8*0.374*0.9274-5e8*0.374*0.9274                                                          -5e8*0.374-5e8*0.374
  24.                     0                    0                   0                        0                                    0                           0                         0                           0                                0                           0                                                                                    0                                                                                   0                                                                         0                                                                                     0                                                                                   0                                                                 0                                                                                0                                                                                       0                                                                0                                                                             u(i)*1*10^8+5e8*0.86+5e8*0.1399                                                                   -5e8*0.9274+5e8*0.9274                                                                        
  25.                     0                    0                   0                        0                                    0                           0                         0                           0                                0                           0                                                                                    0                                                                                   0                                                                         0                                                                                     0                                                                                   0                                                                 0                                                                                0                                                                                       0                                                                 0                                                                                    0                                                                                   5e8+5e8];                                                                           
  26.     %K仅写出上三角部分,K为对称矩阵
  27.     K=(K+K.')/2;
  28.     [v,d]=eig(K,M);
  29.     w(i,:)=sqrt(diag(d));
  30. end
  31. for i=1:8
  32.    figure; plot(abs(w(:,i)))
  33. end
复制代码

评分

1

查看全部评分

 楼主| 发表于 2008-6-27 10:23 | 显示全部楼层
非常感谢您的解答,u(t)的变化范围是从1到8,所以当u(t)变化时,它后面乘以了1*10^8, 在矩阵中整个项" u(t)*1*10^8"是刚度项,所以刚度项也发生了变化啊,u(t)每取一个步长值,刚度也有个对应值,解出每个刚度值对应的矩阵的特征值就可以得到21阶频率,我就想把每阶频率的变化绘制曲线,最近刚j接触了matlab,觉得用这个工具解特征值很方便,但水平太低,清您不吝指教啊!
发表于 2008-6-27 10:58 | 显示全部楼层
把最后一点儿改成
for i=1:21
   figure; plot(abs(w(:,i)))
end
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-9-23 07:34 , Processed in 0.072371 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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