matlab阻尼振动模拟
matlab阻尼振动模拟
班级 应数0801 姓名 翟伟西 学号 u座机电话号码5
实验目的
通过这个实验能更好的了解学习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; td [td,T];yd [yd,Y end ]; set D,'ydata',Y ;set Q,'xdata',td,'ydata',yd ; 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,':' ; 】
得出动画截图如下:
实验总结 这个实验参照了不少资料,有课本上的,有百度的,中间自己修改了许多,在慢慢的修改和完善中感觉自己对matlab的了解更加深入,更加感兴趣了,这次实验学到了不少。