简谐振动的matlab
matlab阻尼振动模拟
班级 应数0801 姓名 翟伟西 学号 u200810005
一、实验目的
通过这个实验能更好的了解学习matlab程序语言,了解matlab在仿真方面的应用
二、实验原理
通过把做阻尼振动的小球的运动作投影,更好的观察在阻尼振动过程中,小球的振幅衰弱情况,把阻尼振动简化成较容易的程序设计。
三、实验过程
运行程序,进行观察,和理想的阻尼振动作比较
运行以下程序
【close all;clear;clc;
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,'阻尼振动','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;