杭州锐达数字技术有限公司
查看: 217|回复: 1

[编程技巧] 传递函数计算转子动力学

[复制链接]
发表于 2019-4-17 13:13 | 显示全部楼层 |阅读模式

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

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

x
%%%%%%%%%%%%%%%算例
clc
clear
%等截面轴参数

d=0.03;
%A=pi*d*d/4;
%轮盘参数
D=0.2;
h=1;
%盘轴材料参数(忽略轴的质量)
%a=1;
%u=0.3;
%rou=7800;
E=2.0e11;
%G=E/(2*(1+u));
I=pi*(d^4)/64;
K1=1.5e7;
%v1=6*E*I/(a*G*A*l1*l1);
%mi=rou*pi*D^2/4*h;%轮盘的集质量
%Jp=20*D^2/8;    Jd=Jp/2;
%Ji=Jp-Jd;
%参数的数组形式
L=[0.25 0.5 0.5 0.25 0];
M=[20 20 20 20 20];
K=[K1 0 K1 0 K1];
v=[0 0 0 0 0];
J=[0 0 0 0 0];
k=0;
%tit=['第一阶频率的振型和弯矩图';'第二阶频率的振型和弯矩图';'第三阶频率的振型和弯矩图'];
for w=0:0.01:4000;
for i=1:5;
T(:,:,i)=[1+(L(i)^3)*(1-v(i))*(M(i)*w^2-K(i))/(6*E*I) L(i)+L(i)^2*J(i)*w^2/(2*E*I) L(i)^2/(2*E*I) L(i)^3*(1-v(i))/(6*E*I);
   (L(i)^2)*(M(i)*w^2-K(i))/(2*E*I) 1+L(i)*J(i)*w^2/(E*I) L(i)/(E*I) L(i)^2/(2*E*I);
   L(i)*(M(i)*w^2-K(i)) J(i)*w^2 1 L(i);
   M(i)*w^2-K(i) 0 0 1];
end
H=T(:,:,1);
for i2=2:5;
       H=T(:,:,i2)*H;
end
    F=H(3,1)*H(4,2)-H(3,2)*H(4,1);
    if F*(-1)^k < 0 %求解各阶频率
       k=k+1;
       wi(k)=w;
       w=wi(k)
        ni(k)=wi(k)*30/pi; %求解临界转速
end
end
回复
分享到:

使用道具 举报

头像被屏蔽
发表于 2019-4-23 22:57 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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