各位大侠帮忙看看传递矩阵程序问题
m1=1.9213;%单位:Kgm2=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=;
%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=;
%Z7=T*Z1L;
A=T(3:4,3:4);
h=det(A);
w=solve('h=0') 本人是初学者啊,向给位大师求助啦。 专业部分不懂,学习中, 仅就matlab提出疑问
m1~m7都已经给值了, 为何还用符号?
(syms m1 m2 m3 m4 m5 m6 m7)
.
不动matlab,但看起来问题不是很复杂呀,就几个传递阵,简单的首先检查输入数据是不是都输入进去,然后可以将各个传递阵表达看看是不是正确,再就是检查一下状态矢量是不是正确,最后就是传递连乘喽..
一步一步检查,一定能检查出来的... {:{46}:} 回复 3 # ChaChing 的帖子
这个是想算出符号矩阵,也没用,太复杂。 回复 1 # zp814 的帖子
看着像是转子动力学里面用传递矩阵法计算临界转速哦;
det(A)非连续函数,有奇点存在,不能采用一般的多项式求根方法;
建议试试频率扫描法求解。
页:
[1]