第5章MATLAB在电磁学中的应用237§5-3带电粒子在电场和磁场中的运动带电粒子在电场和磁场中的运动及其规律具有重要的应用价值,本节利用MATLAB讨论几个具体实例,读者可以参考这些例子来学习和掌握有关内容。5.3.1带电粒子在电场中的运动电量为q的粒子在电场强度为E的静电场中所受的电场力为qFE该力将使质量为m的带电粒子产生一加速度mFa若带电粒子的初速度为v0,在加速电压U作用下,其动能变化为2201122kEmvmvqU式中,v为被加速后粒子的末速度。●题目(ex5311)在示波器的竖直偏转系统中加电压于两极板,在两极板之间产生均匀电场E,设电子质量为m,电荷为-e,它以速度v0射进电场中,v0与E垂直,试讨论电子运动的轨迹。●解题分析电子在两极板间电场中的运动和物体在地球重力场中的平抛运动相似。作用在电子上的电场力为F=-eE,电子的偏转方向与E相反(设为负y方向)。电子在垂直方向的加速度为emEa。在水平方向和垂直方向电子的运动方程分别为0xvt;221122eEyattm为了讨论电子运动轨迹与初速度及电场的关系,使用了input函数供读者输入E和v0,以观察不同电场和初速度情况下电子的运动轨迹。●程序(ex5311)clear,clf,238MATLAB及其在大学物理课程中的应用E=input('E=','s');%输入电场强度与时间的函数关系e=1.6e-19;m=9.1e-31;%给定电子电荷和质量的数值v0=input('v0=');%输入电子的水平初速度t=0:0.01:10;%给定时间数组x=v0.*t;E1=eval(E);%运算输入的字符串Ey=-1./2.*e.*E1.*t.^2./m;plot(x,y,x,0,'r-'),gridon,holdon运行该程序,在提示后键入E的表达式。例如,取E=100,或E=100cos(5t),便分别得到图5-3-1和图5-3-2。从图中可以看出,通过改变极板间的电场可控制带电粒子的运动轨迹。如果在水平方向再加一对极板,则可实现水平和垂直两个方向上的控制,此即示波器的原理。●题目(ex5312)一电子二极管由半径r1=0.50mm的圆柱形阴极K和套在阴极外面的同轴圆筒状阳极A构成。阳极半径R=0.45cm,阳极电势比阴极高300V。设电子从阴极发射出来时的速度很小(可忽略不计),试求:①电子从K向A走过2.0mm时的速度;②电子到达A时的速度。●解题分析阴极与阳极之间的电位差为1102dd4rrAKRRUUrrEl已知UA-UK=300V,可由此解得单位长度上所带电量λ。图5-3-1恒定电场下的电子运动轨迹图5-3-2变化电场下的电子运动轨迹第5章MATLAB在电磁学中的应用239设距阴极2mm的点为B点,用积分法可求出B点和K点之间的电位差UB-Uk(用UBK表示)。然后,利用21()2BBKmveUU和21()2AAKmveUU求得vB和vA。●程序(ex5312)%(ex53121)计算UA-UK和UB-UK,分别用UAK和UBK表示symslambdaC0rRr1;E=-2.*lambda.*C0./r;UAK=simplify(int(E,'r',R,r1))UBK=simplify(int(E,'r',2.5,0.5))运行结果:UAK=-2*lambda*C0*(log(r1)-log(R))UBK=2*lambda*C0*log(5)%(ex53122)计算单位长度上所带电量lambda,B点的速度VB和到达A点时的速度VAsymsVBVAmelambdaRr1;R=0.0045;r1=0.5;m=9.1e-31;e=1.6e-19;C0=9e9;lambda=solve('-2*lambda*C0*(log(r1)-log(R))=300','lambda');lambda1=vpa(subs(lambda),3)UBK=-2*lambda*C0*log(5);UBK1=vpa(subs(UBK),3);UAK=300;%已知条件,阳极电势比阴极高300VVB=(2*e*UBK1/m)^(1/2);VB1=vpa(subs(VB),3)VA=(2*e*UAK/m)^(1/2);VA1=vpa(subs(VA),3)运行结果:lambda1=-.692e-8VB1=.841e7VA1=.103e8即,电子从K向A走过2.0mm时的速度vB以及电子到达A时的速度vA分别为8.4×106和1.03×107m/s。5.3.2带电粒子在电磁场中的运动如果一个带电粒子在既有电场又有磁场的区域里运动,则其受到的电磁力为()qFEvB240MATLAB及其在大学物理课程中的应用这里,我们进一步讨论既有电场又有磁场情况下带电粒子的运动情况。●题目(ex5321)设质量为m,带电量为q的粒子在磁感应强度为B,电场强度为E的电磁场中运动,建立和求解该问题的微分方程,并分E≠0,B≠0;E=0,B≠0和E≠0,B=0三种情况画出带电粒子在电磁场中的运动轨迹。●解题分析质量为m,带电量为q的粒子在电磁场中的运动微分方程为22ddmqqtrEvB选场中某点为原点,以E为O-y方向,B沿O-z方向,建立坐标系Oxyz。令qBm,上式的投影方程为222222ddddddddd0dxyttyqExtmtzt令y1=x,y2=dx/dt,y3=y,y4=dy/dt,y5=z,y6=dz/dt,上述方程可改写为下列一阶微分方程组:31224456426ddd;;dddddd;;0dddyyyyyytttyyyqEyytmtt●程序(ex5321)%%①(ex53211)符号法求粒子运动微分方程的特解并绘图clearsymswxyztBEmq;E=input('E=');B=input('B=');%输入E和B值[x,y,z]=dsolve('D2x=q*B/m*Dy','D2y=q*E/m-q*B/m*Dx','D2z=0','x(0)=0','y(0)=0','z(0)=0','Dx(0)=0.01','Dy(0)=6','Dz(0)=0.01');第5章MATLAB在电磁学中的应用241%初始条件取x(0)=y(0)=z(0)=0,Dx(0)=0.01,Dy(0)=6,Dz(0)=0.01q=1.6e-2;m=0.02;X=subs([xyz]);x=X(1),y=X(2),z=X(3),ezplot3(X(1),X(2),X(3))运行上述程序,例如,取E=4,B=8可得下列特解并给出图5-3-4(a)。x=-15/16*cos(32/5*t)-49/640*sin(32/5*t)+1/2*t+15/16y=15/16*sin(32/5*t)-49/640*cos(32/5*t)+49/640z=1/100*t下面我们给出一段用数值方法求解该问题的程序,以便读者比较和练习。%②ex5322采用数值方法求解并绘制粒子运动轨迹q=1.6e-2;m=0.02;B=[2;2;0];E=[1;0;1];figurestrd{1}='E\neq0,B\neq0';strd{2}='E=0,B\neq0';strd{3}='E\neq0,B=0';fori=1:3[t,y]=ode23('ex5322f',[0:0.1:20],[0,0.01,0,6,0,0.01],[],q,m,B(i),E(i));axes('unit','normalized','position',[0.0293+(i-1)*0.3250.0620.280.658]);plot3(y(:,1),y(:,3),y(:,5),'linewidth',2);gridontitle(strd{i},'fontsize',12,'fontweight','demi');view([-51,18]);(a)E=4,B=8(b)E=0.01,B=8(c)E=8,B=0图5-3-3带电粒子在电磁场中的运动242MATLAB及其在大学物理课程中的应用end函数文件是一个独立的文件,文件名为ex5322f.mfunctionydot=ex5322f(t,y,flag,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];运行该程序,可得到与图5-3-3相同的结果。§5-4电流和磁场如前所述,运动电荷将在其周围产生电磁场,而导体中的电流是由自由电子的定向运动形成的,因此,在载流导体周围也必定有相应的电磁场存在。与电场类似,磁场也遵从叠加原理,所以我们也可将任意形状的载流导体划分成许多电流元;而整个载流导体所产生的磁场就是这些电流元所产生的磁场的叠加。毕奥和萨伐尔在实验的基础上导出了电流元产生的磁感应强度的表达式,称为毕奥-萨伐尔定律。5.4.1毕奥-萨伐尔定律毕奥-萨伐尔定律可表述为:载流回路的任一电流元Idl,在空间任一点P处所产生的磁感应强度dB可表示为03dd4IrlrB其中,r是电流元Idl到场点P的径矢,I为电流。可以看出,dB的方向垂直于Idl与r所在的平面,其指向遵守右手螺旋法则。dB的大小为02dsind4IlBr利用叠加原理,对上式积分,便可求得任意形状的载流导线所产生的磁感应强度,即03dd4LLIrlrBB●题目(ex5411)如图5-4-1所示,求垂直于无限长载流直导线的平面内磁感应强度的分布。●解题分析设场点P的位置为000xyzijk,电流元位置为xyzijk,电流元矢量第5章MATLAB在电磁学中的应用243为d(ddyd)IIxzlijk。由此,场点P相对于电流元的位置矢量为000()()()rxxyyzzijk利用行列式计算Idl×r,可写为000ddddlrxyzxxyyzzijk也可利用MATLAB中的det命令函数来求该行列式,程序如下:symsdxdydzx0xy0yz0z;dl=[dx,dy,dz];r=[x0-x,y0-y,z0-z];d1cr=cross(dl,r)%求dl×r的积运行结果为d1cr=[dy*(z0-z)-dz*(y0-y),dz*(x0-x)-dx*(z0-z),dx*(y0-y)-dy*(x0-x)]即000000d()d()d()d()d()d()dlrzzyyyzxxzzzxyyxxxyijk又,r的大小为222000()()()rxxyyzz设载流导体通过坐标原点垂直于x-y平面放置,电流元Idl沿z轴正向,场点P位于x-y平面上。对本题目而言,dx=dy=0,x=y=0,z0=0,矢量叉乘积为00dddyzxzlrijr的大小为22200rxyz由毕奥-萨伐尔定律03dd4LIrlrB有图5-4-1题目ex5411示意图244MATLAB及其在大学物理课程中的应用002223/200dd4()xIyzBxyz;002223/200dd4()yIxzBxyz002223/200d4()xIyzBxyz;002223/200d4()yIxzBxyz22xyBBB●程序(ex5411)%①用符号运算求B的表达式(ex54111)symsC0Izxyrr0;Bx=C0.*I.*int(-y./(x.^2+y.^2+z.^2).^(3/2),'z',-inf,inf)By=C0.*I.*int(x./(x.^2+y.^2+z.^2).^(3/2),'z',-inf,inf)B=(Bx.^2+By.^2).^0.5运行结果:Bx=-2*C0*I*y/(x^2+y^2)^(3/2)/(1/(x^2+y^2))^(1/2)By=2*C0*I*x/(x^2+y^2)^