声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1305|回复: 6

[线性振动] 各位大侠帮忙看看传递矩阵程序问题

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

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

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

x
m1=1.9213;%单位:Kg
m2=0.3409;
m3=0;
m4=0.1671;
m5=0.7782;
m6=0;
m7=0.08;
l1=24.25*10^-3;%单位:m
l2=10.25*10^-3;
l3=14.25*10^-3;
l4=61.43*10^-3;
l5=47.12*10^-3;
l6=6.94*10^-3;
I1=5.96*10^-7;%单位:m^4
I2=5.96*10^-7;
I3=1.296*10^-7;
I4=8.7*10^-8;
I5=8.7*10^-8;
I6=5.14*10^-8;
E=206*10^9;%单位:Pa
M1=0;
Q1=0;
M7=0;
Q7=0;
k3=5.79*10^9;%单位:N/m
k6=4.9*10^9;
c3=0;
c6=0;
syms m1 m2 m3 m4 m5 m6 m7
syms l1 l2 l3 l4 l5 l6
syms I1 I2 I3 I4 I5 I6
syms E
syms y1 a1 y7 a7 M1 Q1 M7 Q7 w;
syms k3 k6 c3 c6
p1=[1 0 0 0;
    0 1 0 0;
    0 0 1 0;
    m1*w^2 0 0 1];
%Z1L=[y1;a1;M1;Q1];
%Z1R=p1*Z1L;
T2=[1 l1 l1^2/(2*E*I1) l1^3/(6*E*I1);
    0 1 l1/(E*I1) l1^2/(2*E*I1);
    0 0 1 l1;
    w^2*m2 w^2*m2*l1 w^2*m2*l1/(2*E*I1) 1+w^2*m2*l1^3/(6*E*I1)];
%Z2R=T2*Z1R;
T3L=[1 l2 l2^2/(2*E*I2) l2^3/(6*E*I2);
    0 1 l2/(E*I2) l2^2/(2*E*I2);
    0 0 1 l2;
    0 0 0 1];
T3R=[1 0 0 0;
     0 1 0 0;
     0 0 1 0;
     (m3*w^2-3*c3*w-k3) 0 0 1];
T3=T3L*T3R;
%Z3R=T3*Z2R;
T4=[1 l3 l3^2/(2*E*I3) l3^3/(6*E*I3);
    0 1 l3/(E*I3) l3^2/(2*E*I3);
    0 0 1 l3;
    w^2*m4 w^2*m4*l3 w^2*m4*l3/(2*E*I3) 1+w^2*m4*l3^3/(6*E*I3)];
%Z4R=T4*Z3R;
T5=[1 l4 l4^2/(2*E*I4) l4^3/(6*E*I4);
     0 1 l4/(E*I4) l4^2/(2*E*I4);
     0 0 1 l4;
     w^2*m5 w^2*m5*l4 w^2*m5*l4/(2*E*I4) 1+w^2*m5*l4^3/(6*E*I4)];
%Z5R=T5*Z4R;
T6L=[1 l5 l5^2/(2*E*I5) l5^3/(6*E*I5);
     0 1 l5/(E*I5) l5^2/(2*E*I5);
     0 0 1 l5;
     0 0 0 1];
T6R=[1 0 0 0;
     0 1 0 0;
     0 0 1 0;
     (m6*w^2-3*c6*w-k6) 0 0 1];
T6=T6L*T6R;
%Z6R=T6*Z5R;
T7=[1 l6 l6^2/(2*E*I6) l6^3/(6*E*I6);
     0 1 l6/(E*I6) l6^2/(2*E*I6);
     0 0 1 l6;
     w^2*m7 w^2*m7*l6 w^2*m7*l6/(2*E*I6) 1+w^2*m7*l6^3/(6*E*I6)];
%Z7R=T7*Z6R;
T=T7*T6*T5*T4*T3*T2*p1;
Z7=[y7;a7;M7;Q7];
%Z7=T*Z1L;
A=T(3:4,3:4);
h=det(A);
w=solve('h=0')
回复
分享到:

使用道具 举报

 楼主| 发表于 2012-4-21 21:26 | 显示全部楼层
本人是初学者啊,向给位大师求助啦。
发表于 2012-4-22 19:28 | 显示全部楼层
专业部分不懂,学习中, 仅就matlab提出疑问
m1~m7都已经给值了, 为何还用符号?
(syms m1 m2 m3 m4 m5 m6 m7)
发表于 2012-4-22 19:43 | 显示全部楼层
.
   不动matlab,但看起来问题不是很复杂呀,就几个传递阵,简单的首先检查输入数据是不是都输入进去,然后可以将各个传递阵表达看看是不是正确,再就是检查一下状态矢量是不是正确,最后就是传递连乘喽..

   一步一步检查,一定能检查出来的...
 楼主| 发表于 2012-4-22 20:35 | 显示全部楼层
 楼主| 发表于 2012-4-22 20:36 | 显示全部楼层
回复 3 # ChaChing 的帖子

这个是想算出符号矩阵,也没用,太复杂。
发表于 2012-4-22 21:58 | 显示全部楼层
回复 1 # zp814 的帖子

看着像是转子动力学里面用传递矩阵法计算临界转速哦;
det(A)非连续函数,有奇点存在,不能采用一般的多项式求根方法;
建议试试频率扫描法求解。
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-5-24 07:49 , Processed in 0.057239 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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