用Matlab仿真带电粒子在电磁场中的运动

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

用Matlab仿真带电粒子在电磁场中的运动

摘要:如果一个带电粒子在既有电场又有磁场的区域里运动,则其会受到相应的电磁力。这里,运用MATLAB仿真带电粒子在电场中的运动,进一步讨论带电粒子在E≠0,B≠0;E=0,B≠O和E≠0,B=O并用该软件仿真出以上三种轨迹曲线。

关键字:Matlab;电磁学;仿真;电荷

0 引言

Matlab是美国MathWorks公司开发的一套高性能的数值计算和可视化软件。它是一种以矩阵运算为基础的交互式程序语言,其应用范围涵盖了当今几乎所有的工业应用与科学研究领域,集数值分析、矩阵运算、信号处理和图形显示于一体。其丰富的库函数和各种专用工具箱,将使用者从繁琐的底层编程中解放出来。此外Matlab更强大的功能还表现在其有大量的工具箱(Toolbox),如:控制系统、数值模拟、信号处理及偏微分方程等工具箱。因此Matlab已成为大学科学研究中必不可少的工具。

Matlab具有丰富的计算功能和科学计算数据的可视化能力,特别是应用偏微分方程工具箱在大学物理电磁场的数值仿真中具有无比的优势。下文是在利用Matlab 软件仿真带电粒子在不同电磁场中的运动轨迹。

1 带电粒子在均匀电磁场中的运动理论分析

设带电粒子质量为m,带电量为q,电场强度E 沿y方向,磁感应强度B 沿z方向. 则带电粒子在均匀电磁场中的运动微分方程为

则上面微分方程可化作:

2 用Matlab仿真

选择E 和B为参量,就可以分别研究E≠0,B=0和E=0,B≠0和E≠0,B≠0是粒子在电磁场中的运动轨迹。首先编写微分方程函数文件ddlzfun.m,再编写解微分方程的主程序ddlz.m,运行结果如图所示。研究时可以采用不同的初始条件和不同的参量观察不同的现象。例如令E=0,B=2所得结果如图(1)所示;E=1,B=0所得结果如图(2)所示;E=1,B=2所得结果如图(3)所示。

(1)E=0,B=2参数运行结果

图(1)所示是带电粒子在E=0,B=2的电磁场中运动时的轨迹,此时带电粒子只要受到洛仑兹力的作用,因此带电只改变方向不改变大小。粒子在磁场中做圆周运动时而进入另一磁场,使轨道的圆心发生变化而轨道的半径不发生改变。可以看出带电粒子的运动轨迹是半径不变的盘旋轨道。

(2)E=1,B=0参数运行结果

图(2)所示是带电粒子在E=1,B=0的电磁场中运动时的轨迹,此时带电粒子只要受到电场力的作用,因此带电粒子即改变大小又改变方向。带电粒子在电场中做匀变速直线运动且方向时刻变化,可以看出带电粒子的运动轨迹是是一条曲线。

(3)E=1,B=2参数运行结果

如图(3)所示带电粒子在E=1,B=2的电磁场中运动时要受到电场力和洛仑兹力的作用,电场力会改变粒子的速度大小和方向,而洛仑兹力只能改变速度方向.在电场力和洛仑兹力交替作用下,粒子时而在磁场中做圆周运动,时而进入电场做匀变速直线运动,时而进入另一磁场,使轨道的圆心发生变化或轨道的半径发生改变.这样,粒子的运动就在不断地变化、不断地重复进行着。所以粒子在不同的电磁场空间运动将会形成各式各样复杂的运动过程。

3 结论

通过以上仿真可以看出,利用Matlab 强大的求解偏微分方程和可视化功能模拟物理场的实验是成功的。借助偏微分方程工具箱,我们可以通过分析电磁场的原理而建立偏微分方程,经过数值计算模拟电磁场问题。该方法简单而清晰的给出带电粒子在不同电磁场中的运功。因此我认为,将Matlab的偏微分方程工具箱引入计算机模拟带电粒子的运动轨迹是可行和有必要的,而且具有良好的应用前景。

参考文献:

[1]钟麟王峰.MATLAB仿真技术与应用教程

[2]张志涌杨祖樱.MATLAB教程

[3]赵凯华陈熙谋.电磁学(第二版)

附录

ddlzfun.m:

function ydot=ddlzfun(t,y,flag,q,m,B,E) %q,m,B,E为参量

ydot=[ y(2);

q*B*y(4)/m;

y(4);

q*E/m-q*B*y(2)/m;

y(6);

0];

ddlz.m:

B=input('请输入B=');E=input('请输入E='); %为电磁场的磁感强度和电场强度赋值

q=1.6e-2; m=0.02; %为粒子的带电量和质量赋值

[t,y]=ode23('ddlzfun',[0:0.1:20],[0,0.01,0,6,0,0.01],[ ],q,m,B,E); %用 ode23解微分方程组,时间设为20s

%指定初始条件,传递相关参数

plot3(y(:,1),y(:,3),y(:,5),'linewidth',2); %绘出三维空间内粒子运动的轨迹,线宽2磅

grid on %开启坐标网格线

xlabel('x'); ylabel('y'); zlabel('z'); %为坐标轴命名

相关文档
最新文档