matlab中弹性碰撞课程设计,完全弹性碰撞matlab.docx

41528d3028836879cd698677c3999917.gif完全弹性碰撞matlab.docx

Matlab设计实验课题名称:完全弹性碰撞一.设计背景:完全弹性碰撞(PerfectElasticCollision):在理想情况下,完全弹性碰撞的物理过程满足动量守恒和能量守恒。如果两个碰撞小球的质量相等,联立动量守恒和能量守恒方程时可解得:两个小球碰撞后交换速度。如果被碰撞的小球原来静止,则碰撞后该小球具有了与碰撞小球一样大小的速度,而碰撞小球则停止。多个小球碰撞时可以进行类似的分析。二.设计意义真实情况下,由于小球间的碰撞并非理想的弹性碰撞,还会有能量的损失,所以最后小球还是要停下来。所以该设计主要用于研究能量守恒中的某些问题。还有就是用于实验演示。三.程序设计该程序主要设置了三个不同颜色的小球,在真空环境下(理想环境下)的碰撞实验演示。该程序可以通过改变各种参数,研究各种情况下的实验数据。程序:pole=1.8;%定义摆线的长度xmax=2;%定义横坐标长度ymax=2;%定义纵坐标长度basew=2.3;%定义图中方框的宽度baseh=2.3;%定义图中方框的高度instant=0.2;%定义摆线间距%三视图的初始设置%第一幅图figure( name , 理想情况下能量守恒定律1 , position ,[500,340,440,320]);%定义第一幅图的标题和位置fill([xmax,xmax,-xmax,-xmax,xmax,xmax-0.05,xmax-0.05,-xmax+0.05,-xmax+0.05,xmax-0.05],[ymax,-ymax,-ymax,ymax,ymax,ymax-0.05,-ymax+0.05,-ymax+0.05,ymax-0.05,ymax-0.05],[0,1,1]);%填充底座背景holdon;%保持当前图形及坐标所有特性fill([xmax-0.05,xmax-0.05,-xmax+0.05,-xmax+0.05],[ymax-0.5,ymax-0.55,ymax-0.55,ymax-0.5], g );%填充方框内横杆背景holdon;%保持当前图形及坐标所有特性text(-0.25,1.7, 1 );text(0,1.7, 2 );text(0.25,1.7, 3 );%在坐标处标识说明文字text(-1.0,1.7, a );text(-1.0,-1.7, b );%在坐标处标识说明文字text(1.0,1.7, 真空容器 );text(-1.8,1.7, 主视图 );%在坐标处标识说明文字axis([-basew,basew,-baseh,baseh]);%定义背景坐标范围在x(-2.3~2.3)Y(-2.3~2.3)之间%axis( off );%覆盖坐标刻度并填充背景theta0=7*pi/6;%摆线1的初始角度x0=pole*cos(theta0);%摆线1末端x坐标y0=pole*sin(theta0)+1.5;%摆线1末端y坐标body1=line([-instant,x0-instant],[1.5,y0], color , r , linestyle , - , erasemode , xor );%设置摆线1head1=line(x0-instant,y0, color , r , linestyle , . , erasemode , xor , markersize ,40);%设置第一个小球颜色,大小theta1=3*pi/2;%摆线2,3的角度x1=pole*cos(theta1);%摆线2,3末端x坐标y1=pole*sin(theta1)+1.5;%摆线2,3末端y坐标body=line([-0.001,x1],[1.5,y1], color , k , linestyle , - , erasemode , xor );%设置摆线2head=line(x1,y1, color , k , linestyle , . , erasemode , xor , markersize ,40);%设置第2个小球颜色,大小body2=line([instant;x1+instant],[1.5;y1], color , b , linestyle , - , erasemode , xor );%设置摆线3head2=line(x1+instant,y1, color , b , linestyle , . , erasemode , xor , markersize ,40);%设置第3个小球颜色,大小theta3=15*pi/6;%第二幅图figure( name , 理想情况下能量守恒定律2 , position ,[500,40,440,320]);%定义第一幅图的标题和位置fill([xmax,xmax,-xmax,-xmax,xmax,xmax-0.05,xmax-0.05,-xmax+0.05,-xmax+0.05,xmax-0.05],[ymax,-ymax,-ymax,ymax,ymax,ymax-0.05,-ymax+0.05,-ymax+0.05,ymax-0.05,ymax-0.05],[0,1,1]);%填充底座背景holdon;%保持当前图形及坐标所有特性fill([xmax-0.05,xmax-0.05,-xmax+0.05,-xmax+0.05],[ymax-0.5,ymax-0.55,ymax-0.55,ymax-0.5], g );%填充方框内第一根横杆背景holdon;%保持当前图形及坐标所有特性fill([xmax-0.05,xmax-0.05,-xmax+0.05,-xmax+0.05],[-ymax+0.55,-ymax+0.5,-ymax+0.5,-ymax+0.55], b );%填充方框内第二根横杆背景holdon;%保持当前图形及坐标所有特性text(-0.25,1.7, 1 );text(0,1.7, 2 );text(0.25,1.7, 3 );%在坐标处标识说明文字text(-1.0,1.7, a );text(-1.0,-1.7, b );%在坐标处标识说明文字text(1.0,1.7, 真空容器 );text(-1.8,1.7, 俯视图 );%在坐标处标识说明文字axis([-basew,basew,-baseh,baseh]);%定义背景坐标范围在x(-2.3~2.3)Y(-2.3~2.3)之间%axis( off );%覆盖坐标刻度并填充背景y01=0;%设置摆球纵坐标值body11=line([-instant,x0-instant],[1.5,y01], color , r , linestyle , - , erasemode , xor );%设置摆线1上摆线body12=line([-instant,x0-instant],[-1.5,y01], color , r , linestyle , - , erasemode , xor );%设置摆线1下摆线head01=line(x0-instant,y01, color , r , linestyle , . , erasemode , xor

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值