1、目录第一章 概述1第二章 基本原理22.1 带电粒子在电磁场中运动的原理22.2质量较大的带电微粒在复合场中的运动2第三章 算法及仿真结果43.1具体算法43.2结果5第四章 结论7参考文献8附录9第一章 概述MATLAB(矩阵实验室)是MATrix LABoratory的缩写,是一款由美国The MathWorks公司出品的商业数学软件。MATLAB是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。除了矩阵运算、绘制函数/数据图像等常用功能外,MATLAB还可以用来创建用户界面及与调用其它语言(包括C,C+和FORTRAN)编写的程序。MATLAB的基本数据
2、单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB具有其他高级语言难以比拟的一些优点,如编写简单、编程效率高、易学易懂等,因此MATLAB 语言也被通俗地称为演算纸式科学算法语言。MATLAB是当今最优秀的科技应用软件之一,它以强大的科学计算与可视化功能、简单易用、开放式可扩展环境,特别是所附带的30 多种面向不同领域的工具箱支持,使得它在许多科学领域中成为计算机辅助设计和分析、算法研究和应用开发的基本工具和首选平台。而其强大的图像绘制功能也使得它广泛用于各种数据背后现象的模拟仿真。计算机
3、数值模拟的研究方法已成为继实验研究和理论分析之外的第三种研究手段,在基础物理学习中适当引入计算机数值方法,有助于将一些高深的物理知识深入浅出、生动形象地学习。随着计算机的普及,MATLAB在基础物理中的应用日益广泛。在控制、通信、信号处理及科学计算等领域中,MATLAB 都被广泛地应用,已经被认为能够有效提高工作效率、改善设计手段的工具软件。9第二章 基本原理2.1 带电粒子在电磁场中运动的原理带电粒子在磁场中运动时会受到洛伦兹力的作用,且随着初始运动方向和磁场分布的不同,其运动轨迹会发生不同的变化。由洛伦兹力的推导公式可知,它垂直于粒子的运动速度,不对运动粒子作功,只改变其运动方向,其大小为
4、: (2-1)因此,综合牛顿运动定律就可以精确确定带电粒子在磁场中的运动轨迹。2.2质量较大的带电微粒在复合场中的运动这里我们只研究垂直射入磁场的带电微粒在垂直磁场的平面内的运动,并分几种情况进行讨论。(1)只受重力和洛仑兹力:此种情况下,要使微粒在垂直磁场的平面内运动,磁场方向必须是水平的。微粒所受的合外力就是重力与洛仑兹力的合力。在此合力作用下,微粒不可能再做匀速圆周运动,也不可能做与抛体运动类似的运动。在合外力不等于零的情况下微粒将做一般曲线运动,其运动加速度遵从牛顿第二定律;在合外力等于零的情况下,微粒将做匀速直线运动。无论微粒在垂直匀强磁场的平面内如何运动,由于洛仑兹力不做功,只有重
5、力做功,因此微粒的机械能守恒,即: (22)(2)微粒受有重力、电场力和洛仑兹力:此种情况下。要使微粒在垂直磁场的平面内运动,匀强磁场若沿水平方向,则所加的匀强电场必须与磁场方向垂直。在上述复合场中,带电微粒受重力、电场力和洛仑兹力。这三种力的矢量和即是微粒所受的合外力,其运动加速度遵从牛顿第二定律。如果微粒所受的重力与电场力相抵消,微粒相当于只受洛仑兹力,微粒将以洛仑兹力为向心力,以射入时的速率做匀速圆周运动。若重力与电场力不相抵,微粒不可能再做匀速圆周运动,也不可能做与抛体运动类似的运动,而只能做一般曲线运动。如果微粒所受的合外力为零,即所受的三种力平衡,微粒将做匀速直线运动。无论微粒在复
6、合场中如何运动,洛仑兹力对微粒不做功。若只有重力对微粒做功,则微粒的机械能守恒;若只有电场力对微粒做功,则微粒的电势能和动能的总和守恒;若重力和电场力都对微粒做功,则微粒的电势能与机械能的总和守恒,用公式表示为: (23)第三章 算法及仿真结果3.1具体算法研究带电粒子在均匀相互垂直的静电场和稳恒磁场中的运动。设带电粒子质量为m,带电量为q。电磁场的电场强度为E,磁感应强度B。分三种情况考虑:1.电场强度和磁感应强度都不为零;2.电场强度为零,磁感应强度不为零;3.电场强度不为零,磁感应强度为零。解:设磁场B沿x方向,电场E沿y方向。初始条件:位置(x0,y0,z0),速度(vx0,vy0,v
7、z0)解得3.2结果图3-1带电粒子在电磁场中运动图3-2带电粒子在磁场中运动(电场为零)图3-3带电粒子在电场中运动(磁场为零)图3-4用axes在不同位置画出的多个图形第四章 结论由于电磁场看不见,摸不着,它不像普通的“三态”物质那样由原子、分子构成,也没有可见的形态,但其具有可以被检测的运动速度、能量和动量,占有空间,是一种真实的客观存在。实验中通过MATLAB 数值模拟模拟带电粒子在恒定磁场中的运动,让我们对带电粒子在磁场中的运动有了更深的感性认识,用MATLAB 画出的立体图也更有利于对此的理解,对于对应知识的理解和吸收有很大的帮助。运用数值模拟方法作出的螺旋线运动和磁聚焦现象的轨迹
8、不仅生动形象,而且结果是建立在定量计算的基础上的, 不是简单的定性的模拟, 因此更具有科学性与说服力。在这一次试验中,我们进一步学习和掌握了MATLAB的使用,相当于是对我们从前学习的一种复习,这也为我们今后工作生活中MATLAB的学习和应用打下了更好的基础。另外通过这次使用MATLAB仿真带电粒子在不同条件下在磁场中的运动,深入且形象的认识了带电粒子在磁场中的运动方式,对其运动规律有了更深刻的印象。在得到较好结果的同时,在实验时我也遇到了不少的问题。首先是不能熟练使用MATLAB软件,出错频率较高,时间也花的比较多。另外由于程序初值的选取不够好,模拟效果不是很好。希望通过这次的学习以及今后的
9、进一步的使用,我能更好的使用MATLAB解决更多实际问题,让MATLAB真正成为我们解决问题的一个好的工具。参考文献1 马文淦等.计算物理学.合肥:中国科学技术大学出版社,1992.2 Steven E. Koonin,秦克诚译.计算物理学.北京:高等教育出版社,1993.3 张志涌.精通MATLAB6.5.北京:北京航空航天大学出版社,2003.4 梁齐,许晓琳,王明虎.光干涉实验的计算机模拟J.大学物理验,2003.5 罗志恒,陆建隆.MATLAB 在普通物理教学中的应用J.物理通报,2003.6 张星辉,钟晓春,张世昌.大学物理教学中引用Matlab图像和动画的实践与思考J.贵州大报,2
10、004.附录程序:m=1;q=1;E=5;B=5;x0=0;y0=0;z0=0;vx0=1;vy0=1;vz0=1;t=0:0.01:10;x=x0+vx0*t;y=m/B*vy0*sin(B/m*t)-m/B*(vz0+E*q/B)*cos(B/m*t)+y0+m/B*(vz0+E*q/B);z=m/B*vy0*cos(B/m*t)+m/B*(vz0+E*q/B)*sin(B/m*t)-E*q/B*t+z0-m/B*vy0;E=0;B=5;x2=x0+vx0*t;y2=m/B*vy0*sin(B/m*t)-m/B*(vz0+E*q/B)*cos(B/m*t)+y0+m/B*(vz0+E*q/B);z2=m/B*vy0*cos(B/m*t)+m/B*(vz0+E*q/B)*sin(B/m*t)-E*q/B*t+z0-m/B*vy0;E=5;B=0;x3=x0+vx0*t;y3=y0+vy0*t+0.5*t.2*E*q/m;z3=z0+vz0*t;plot3(x,y,z)axes(position,0.5,0.6,0.3,0.3)plot3(x2,y2,z2)axes(position,0.3,0.2,0.3,0.3)plot3(x3,y3,z3)