MATLAB与弹簧振子振动动画

MATLAB在机械机构分析和数值理论计算中中应用广泛。今天以弹簧振子为对象,利用matlab脚本文件编写一个弹簧振子简谐运动的动画,在这里暂不考虑能量的损耗。

弹簧振动系统建模和编程

简单点,直入主题,编程如下:
D = plot(x,y);

%画小球
C = 0:0.1:2*pi; r=0.35;
t1 = r sin©;
F1 = fill(13 + r
cos©,2+t1,‘r’ );

%句柄黄线
set(gca,‘ytick’,[0:2:9]);Q = plot(0,3.8,‘color’,‘r’);
set(gca,‘yticklabels’,num2str([-1:3]’));
plot([0,15],[3.3,3.3],‘black’);

H1 = plot([0,13],[3.3,3.3],‘y’);
Q = plot(0,3.8,‘color’,‘r’);

%运动曲线
td = []; yd = [];
T = 0;
text(2,9,‘理想中的弹簧振子简谐振动’,‘fontsize’,16);

set(gcf, ‘doublebuffer’,‘on’);
%运动仿真

while T<12
pause(0.2);
Dy = (3/2-1/2sin(piT))*1/2;
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
运行结果如下:
1.开始简谐运动
MATLAB编程-弹簧振动动画
2.运动结束后:
MATLAB编程-弹簧振动动画

相关文章: