声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 3815|回复: 10

[共享资源] 阻尼振动的matlab程序

[复制链接]
发表于 2005-6-3 14:10 | 显示全部楼层 |阅读模式

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

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

x
发信人: zjliu (秋天的萝卜), 信区: Matlab
标 题: 阻尼振动
发信站: BBS 哈工大紫丁香站 (Fri Jun 3 13:50:30 2005)
% Author's email:zjliu2001@163.com

% 阻尼振动
close all
rectangle('position',[12,8,2,0.3],'FaceColor',[0.1,0.3,0.4]);
axis([0,15,-1,10]); hold on; plot([13,13],[7,8],'r','linewidth',2);
y=2:.2:7;M=length(y); x=12+mod(1:M,2)*2; x(1)=13;x(end-3:end)=13;
D=plot(x,y); % 句柄[弹簧]

C=0:.1:2*pi;r=0.3; t1=r*sin(C); F1=fill(13+r*cos(C),2+t1,'r'); % 句柄[球]
set(gca,'ytick',[0:2:9]); set(gca,'yticklabels',num2str([-1:3]'));
plot([0,15],[2,2],'black'); H1=plot([0,13],[2,2],'g'); % 句柄[绿线]
Q=plot(0,2.5,'color','r'); % 运动曲线;
td=[]; yd=[]; T=0; text(2,8,'damp osillation','fontsize',24); set(gcf,'doublebuffer','on');
while T<12, pause(0.2);
   Dy=1-0.5*exp(-T/4)*cos(pi*T); Y=-(y-2)*Dy+7;
   Yf=Y(end)+t1; td=[td,T];yd=[yd,Y(end)];
   set(D,'ydata',Y); set(F1,'ydata',Yf,'facecolor',rand(1,3));
   set(H1,'xdata',[T,13],'ydata',[Y(end),Y(end)]); set(Q,'xdata',td,'ydata',yd);
   T=T+0.1;
end
Kd=find(diff(sign(diff(yd)))==-2)+1;
X=td(Kd);Y=yd(Kd); X=[0,X,td(end)]; Y=[yd(1),Y,yd(end)]; plot(X,Y,':');
Kx=find(diff(sign(diff(yd)))==2)+1;
X=td(Kx);Y=yd(Kx); X=[0,X,td(end)]; Y=[-(yd(1)-4),Y,-(yd(end)-4)]; plot(X,Y,':');

[ 本帖最后由 ChaChing 于 2010-3-28 23:50 编辑 ]

评分

1

查看全部评分

回复
分享到:

使用道具 举报

发表于 2005-6-3 14:27 | 显示全部楼层
看了一下不错啊,谁模仿这个做个转子的涡动图出来
 楼主| 发表于 2005-6-3 14:48 | 显示全部楼层
啥是涡动图,讲讲我写一下
发表于 2005-6-3 14:58 | 显示全部楼层
萝卜让我们对matlab的使用打开眼界啊,呵呵。
转轴的涡动与太阳、地球、月亮三者的运动类似。由于偏心质量造成的不平衡力的作用,转子在轴承里面围绕平衡位置转动,同时还在自转。一般X方向和Y方向的振幅不同,转子中心的轨迹是个椭圆。

看一下这本书的第一节和第二节就知道了。
http://202.118.250.134/rcount.asp?ssnum=10975882;

[ 本帖最后由 ChaChing 于 2010-3-16 10:56 编辑 ]
 楼主| 发表于 2005-6-3 15:03 | 显示全部楼层
我打不开,你发到我的信箱吧
发表于 2005-6-3 19:34 | 显示全部楼层
估计转子图形不太好画吧
发表于 2005-6-3 22:09 | 显示全部楼层
阻尼涡动的matlab模拟程序
没有不平衡质量作用,仅受初始瞬态激励的时候转子涡动的图形程序。帮萝卜转过来。最后加上不平衡质量的让他自己来转吧。
发信人: zjliu (秋天的萝卜), 信区: Matlab
标 题: 阻尼涡动的matlab模拟程序
发信站: BBS 哈工大紫丁香站 (Fri Jun 3 21:25:14 2005)
% 阻尼涡动
n=1;w=6;ww=sqrt(w^2-n^2);B1=80;B2=-20;
close all; figure; axis([-105,105,-105,105]); hold on
set(gcf,'doublebuffer','on'); G=plot(100,0,'r'); % 句柄[轨迹]
x=100; y=0; r=2; t1=r*sin(0:.1:2*pi); t2=r*cos(0:.1:2*pi);
X=x+r*t1;Y=y+r*t2; Q=fill(X,Y,rand(1,3)); % 句柄[球]
t=0; plot([-100,100],[0,0]); plot([0,0],[-100,100]); k=1;
xlabel('Please press "space" key and stop this program!','fontsize',14,'color','r');
title(['《damp turbination》 ','B1=',num2str(B1),'; B2=',num2str(B2)],'fontsize',14);
while k
   s=get(gcf,'currentkey');
   if strcmp(s,'space'), clc; k=0; end; pause(0.3);
   z=exp(-n*t)*(B1*exp(i*ww*t)+B2*exp(-i*ww*t));
   xp=real(z);yp=imag(z); r=0.5+1.5*exp(-n*t);
   X=xp+t1*r;Y=yp+t2*r; set(Q,'xdata',X,'ydata',Y);
   x=[x,xp];y=[y,yp]; set(G,'xdata',x,'ydata',y);
   t=t+0.02;
end
figure(gcf);

[ 本帖最后由 ChaChing 于 2010-3-28 23:55 编辑 ]

评分

1

查看全部评分

发表于 2005-6-3 22:19 | 显示全部楼层
计及随机噪声的频域多输入多输出模态参数识别
赞,这几个matlab程序太好了。zjliu是matlab的大牛呀,崇拜...
发表于 2005-6-4 16:26 | 显示全部楼层
很不错,我们可以在这个程序的基础上再开发一点,对新手理解转子动力学问题很有帮助
发表于 2010-3-28 09:15 | 显示全部楼层
收藏中,真的很不错啊
发表于 2011-5-8 19:34 | 显示全部楼层
好厉害,佩服!
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-25 17:34 , Processed in 0.074672 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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