matlab制作完全非弹性碰撞演示完全稿.doc
完全非弹性碰撞的演示
院系:物理与机电
工程
路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理
学院 班级:08物师班 学号:20084052003 一、分析:假设两个小球在一个空间里面发生完全非弹性碰撞,小球1以一定的速度碰另一个小球2,那么小球1将会停在小球2的位置,小球2它将在空间里如图所示反弹。
2
1
如果空间是完全封闭的,那么小球将无休止的在空间中反弹,经过若干次之后肯定会又转到小球1。这个给
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
带来了难度,所以为了设计方便令空间不完全封闭,即使其有缺口,并且缺口大小略大于小球,当小球反弹路线经过缺口时,那么小球就会离开空间,不再发生碰撞反弹,如下图所示:。
程序设计:
axis([-2,13,-2,11]);
grid;
hold on;
plot([0,12],[10,10],'black','linewidth',5)
plot([12,12],[-1,10],'black','linewidth',5)
plot([-1,12],[-1,-1],'black','linewidth',5);
plot([-1,-1],[-1,9],'black','linewidth',5);%
hold on;
ball1=line(0,5,'color','r','marker','.','erasemode','xor','markersize
',60);
ball2=line(8,9,'color','g','marker','.','erasemode','xor','markersize
',60);
title('08物师 薛顺钦 20084052003', 'color','black','fontsize',15);%专
学号 业,姓名
text(2.5,10.5,'完全非弹性碰撞','fontsize',16,'color','r'); %显示该演示的内容
pause(1)
t=0;dt=0.005;
while t<7.2
t=t+dt;
y=1/2*t+5;
set(ball1,'xdata',t,'ydata',y)
drawnow;
end
while t<8.8
t=t+dt;
y=1/2*t+5;
set(ball2,'xdata',t,'ydata',y)
drawnow;
end
while t<11.5
t=t+dt;
y=-1/2*t+14.3;
set(ball2,'xdata',t,'ydata',y)
drawnow;
end%
while t>-0.5
t=t-dt;
y=1/2*t+2.90;
set(ball2,'xdata',t,'ydata',y)
drawnow;
end%结束
while t<6
t=t+dt;
y=-1/2*t+2.40;
set(ball2,'xdata',t,'ydata',y)
drawnow;
end
while t<11.5
t=t+dt;
y=1/2*t-3.0;
set(ball2,'xdata',t,'ydata',y)
drawnow;
end
while t>-2
t=t-dt;
y=-t*7.65/12.9+9.57;
set(ball2,'xdata',t,'ydata',y)
drawnow;
end