Matlab程序设计仿真训练实验报告设计题目:物体碰撞运动建模
专业;通信工程
班级:三班
姓名:张乐
学号:201100805524
报告时间:2012.06
指导老师:蔡益红
实验目的:
了解matlab的基本特点与功能,基本掌握matlab的功能解决数学物理的相关问题。
实验环境
MATLAB 7.9
I、题目:质量为m的小球以速度正面碰撞质量为M的静止小球,假设碰撞是完全弹性的,即没有能量损失,求碰撞后两球的速度,及它们与两球质量比K =M/m的关系并对结果进行分析。II、程序简介
根据小球碰撞过程中的机械能守恒和动量守恒,写出两个方程,然后解出两个小球各自的速度表达式,再把已知参量代入到速度表达式即可求的小球完全弹性碰撞后的速度;其中,跟据两个小球的质量关系K=M/m,可以分析两个
小球的质量跟碰撞后的速度u和v的方向和大小关系。
III、程序依据
(机械能守恒)
0.5*m*V^2-0.5*m*u^2-0.5*M*v^2=0
(动量守恒)
m*V-m*u-M*v=0
求解方程的:
u=V*(m-M)/(m+M);
v=2*V*m/(m+M);
代入K=M/m得:
u=V*(1-k)/(1+k);
v=2*V/(1+k);
IV、程序代码
syms u v;
>>
[x,y]=solve('0.5*m*V^2-0.5*m*u^2-0.5*M*v^2=0','m*V-m*u-M*v=0'); >> x=vpa(x,4);
>> y=vpa(y,4);
>>
>> clear
>> syms u v;
>>
[x,y]=solve('0.5*m*V^2-0.5*m*u^2-0.5*M*v^2=0','m*V-m*u-M*v=0'); >> x=vpa(x,4)
x =
V
-(1.0*(M*V - 1.0*V*m))/(M + m)
>> y=vpa(y,4)
y =
(2.0*V*m)/(M + m)
当以K=M/m计算时:
syms u v;
>> [u,v]=solve('V-u-K*v=0','V^2-u^2-K*v^2=0');
>> u=vpa(u,4)
u =
V
(V - 1.0*K*V)/(K + 1.0)
>> v=vpa(v,4)
v =
(2.0*V)/(K + 1.0)
VI、函数图象
x=0.1:0.1:10;
>> y=2./(1+x)-1;
>> z=2-2./(1+x);
>>
plot(x,y,x,z)
V、数据分析
当K=1时,两小球的质量相等,由公式的V1=0,V2=V0,即碰撞后质量为m的小球
静止,质量为M的小球以速度大小V0,方向不变往前运动;
当K>1时,碰后由速度表达式的V1为负,即速度反向,V2沿速度V0的方向运动;当K<1时,碰后由速度表达式得,两个小球均沿V0的方向运动,且V1的速度小于V2的速度。
实验总结:
Matlab的功能很强大,对物理、数学的帮助很大。大大简便了物理,数学问题的难度。让我们更直观,更清楚地理解科学。尤其是对图形的处理,让我们直接将想象不出的图形清楚地展现在眼前。