zjliu 发表于 2005-6-3 14:10

阻尼振动的matlab程序

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

% 阻尼振动
close all
rectangle('position',,'FaceColor',);
axis(); hold on; plot(,,'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',); set(gca,'yticklabels',num2str([-1:3]'));
plot(,,'black'); H1=plot(,,'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=;yd=;
   set(D,'ydata',Y); set(F1,'ydata',Yf,'facecolor',rand(1,3));
   set(H1,'xdata',,'ydata',); 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=; Y=; plot(X,Y,':');
Kx=find(diff(sign(diff(yd)))==2)+1;
X=td(Kx);Y=yd(Kx); X=; Y=[-(yd(1)-4),Y,-(yd(end)-4)]; plot(X,Y,':');

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

AaronSpark 发表于 2005-6-3 14:27

看了一下不错啊,谁模仿这个做个转子的涡动图出来

zjliu 发表于 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 编辑 ]

zjliu 发表于 2005-6-3 15:03

我打不开,你发到我的信箱吧

AaronSpark 发表于 2005-6-3 19:34

估计转子图形不太好画吧

hitwdh 发表于 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],); plot(,[-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=;y=; set(G,'xdata',x,'ydata',y);
   t=t+0.02;
end
figure(gcf);

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

redstar 发表于 2005-6-3 22:19

计及随机噪声的频域多输入多输出模态参数识别
赞,这几个matlab程序太好了。zjliu是matlab的大牛呀,崇拜...

aspen 发表于 2005-6-4 16:26

很不错,我们可以在这个程序的基础上再开发一点,对新手理解转子动力学问题很有帮助

左言 发表于 2010-3-28 09:15

收藏中,真的很不错啊

M一蓑烟雨 发表于 2011-5-8 19:34

好厉害,佩服!
页: [1]
查看完整版本: 阻尼振动的matlab程序