MATLAB在电磁学中的应用.doc
电磁学一、1、点电荷的电场研究真空中,两个带正电的点电荷,在电量相同和电量不同情况下的电场分布。V=V1+V2=+,E=-V2、程序实现主程序文件名为point.mclear allep0=8.85*le-12;%真空中的电容率c0=1/(4*pi*ep0);e=1.6e-10;h=0.018;x=-0.5:h:0.5;y=-0.5:h:0.5;str1=两同号等量点电荷;str2=两同号不等量点电荷;X,Y=meshgrid(x,y);q=e;1.9*e;for i=1:2V=c0*e./sqrt(X+0.2).2+Y.2)+c0.*q(i)./sqrt(X-0.2).2+Y.2);%求电势Ex,Ey=gradient(-V,h);%求电场figure(i)counter(X(:,:,1),Y(:,:,1),V,%等势面20,-20,19,-19,18,-18,17,-17,16,-16,15,-15,14,-14,13,-13,12,-12,11,-11,10,-10,r);Axis(-0.38,0.38,-0.28,0.28)hold onphi=0:pi/17:2*pi;%以下画电场线sx1=0.2+0.01*cos(phi);sy1=0.01*sin(phi);streamline(X(:,:,1),Y(:,:,1),Ex,Ey,sx1,sy1);hold onsx2=-0.2+0.01*cos(phi);sy2=0.01*sin(phi);streamline(X(:,:,1),Y(:,:,1),Ex,Ey,sx2,sy2);title(str(i)text(-0.215,0,+,fontsize,20);%标示点电荷text(0.185,0,+,fontsize,20);end二、带电细棒的电场1、若电荷Q均匀分布在长为L的细棒上,求真空中,带电细棒的电场在xy平面内的分布情况。点电荷产生的电位可表示为 是一个标量。其中r为电荷到测量点的距离。线电荷所产生的电位可用积分或叠加的方法来求。为此把线电荷分为N段,每段长为dL。每段上电荷为q*dL,看作集中在中点的点电荷,它产生的电位为然后对全部电荷求和即可。把xy平面分成网格,因为xy平面上的电位仅取决于离原点的垂直距离R,所以可以省略一维,只取R为自变量。把R从0到10米分成Nr+1点,对每一点计算其电位。2、程序实现 matlab程序clear all;L=input('线电荷长度L:');N=input('分段数N:');Nr=input('分段数Nr:');q=input('电荷密度q=:');E0=8.85e-12;C0=1/4/pi/E0;L0=linspace(-L,L,N+1);L1=L0(1:N);L2=L0(2:N+1);Lm=(L1+L2)/2;dL=2*L/N;R=linspace(0,10,Nr+1);for k=1:Nr+1 Rk=sqrt(Lm.2+R(k)2);Vk=C0*dL*q./Rk;V(k)=sum(Vk);endmax(V),min(V)plot(R,V)三、带电圆环的电场1、真空中,一个半径为R的圆形细环上,均匀分布电荷Q,求其电场强度的分布。主程序的文件名为ering.m2、程序clear alllam=1e-9;%带电环的电荷线密度ep0=8.85*1e-12;%真空中的电容率c0=lam/(4*pi*ep0);%归并常数R=1.2;%带电环半径y=-6:0.1:6;z=-6:0.1:6;phi=0:pi/60:2*pi;Y,Z,PHI=meshgrid(y,z,phi);r=sqrt(R*cos(PHI).2+Y-R*sin(PHI).2+Z.2);dv=c0./r;V=pi/40*trapz(dv,3);%求电势Ey,Ez=gradient(-V,0.2);%求电场figureaxis(-5 5 -5 5);line(R,0,'marker','.','markersize',25,'color','k');%画带电环的yz截面line(-R,0,'marker','.','markersize',25,'color','k');hold oncontour(Y(:,:,1),Z(:,:,1),V,2,4,6,8,10,12,14,16,18,20,22,24,28,30,32,'g')%画电势分布hold onsz=0.1;sy=0.3:0.15:1.5;Sy,Sz=meshgrid(sy,sz);%计算电场线分布streamline(Y(:,:,1),Z(:,:,1),Ey,Ez,Sy,Sz);streamline(-Y(:,:,1),Z(:,:,1),-Ey,Ez,-Sy,Sz);streamline(-Y(:,:,1),-Z(:,:,1),-Ey,-Ez,-Sy,-Sz);streamline(Y(:,:,1),-Z(:,:,1),Ey,-Ez,Sy,-Sz);streamline(Y(:,:,1),Z(:,:,1),Ey,Ez,0,0);streamline(Y(:,:,1),-Z(:,:,1),Ey,-Ez,0,0);streamline(Y(:,:,1),Z(:,:,1),Ey,Ez,1.5,0);streamline(Y(:,:,1),Z(:,:,1),Ey,Ez,-1.5,0);xlabel('y');ylabel('z');title('带电圆环的电势及电场分布')四、平面上N个电荷之间的库仑引力建模: 由库仑定律: 其分量的公式可以写成: 编写程序时,先输入电荷的数目,各电荷的坐标及电荷量,再选一个电荷,求其它电荷对它的作用力,叠加求合力。再选下一个电荷,依次类推。Matlab程序:clear all;N = input('输入电荷数目N=:');for ic = 1:N %输入给定条件 fprintf('-/n对电荷#%gn',ic); rc = input('输入电荷位置x,y(米):'); x(ic) = rc(1); %电荷ic的x坐标 y(ic) = rc(2); %电荷ic的y坐标 q(ic) = input('输入电荷量(库仑):');endE0 = 8.85e-12; %真空中的常数C0 = 1/(4*pi*E0); %合并常数for ic = 1:N %循环计每个电荷所受的力 Fx = 0.0;Fy = 0.0; for jc = 1:N if(ic = jc) xij = x(ic)-x(jc);yij = y(ic)-y(jc); Rij = sqrt(xij2+yij2); Fx = Fx+C0*q(ic)*q(jc)*xij/Rij3; Fy = Fy+C0*q(ic)*q(jc)*yij/Rij3; end endfprintf('其它电荷作用在电荷#%g上的合力为:n',ic); fprintf('x-分量:%gNn',Fx); fprintf('y-分量:%gNn',Fy);end 本程序注意学会循环提示并输入参数的方法,以及用双循环解决较复杂的计算过程的编程问题。练习:一、载流圆环的磁场1、在真空中,在一个半径为R的载流导线,通过的电流I,试求此载流圆环磁感强度B的空间分布。clear allR=1.5;I0=100;mu0=4*pi*1e-7;C0=mu0/(4*pi);N=20;%电流环分段x=linspace(-3,3,N);y=x;%观察点范围theta0=linspace(0,2*pi,1+N);%环的圆周角分段theta1=theta0(1:N);y1=R*cos(theta1);z1=R*sin(theta1);%环隔断矢量起始坐标y1,z1theta2=theta0(2:N+1);y2=R*cos(theta2);z2=R*sin(theta2);%终点坐标y2,z2xc=0;yc=(y2+y1)./2;zc=(z2+z1)./2;%计算环隔断矢量中点的三个坐标分量dlx=0;dly=y2-y1;dlz=z2-z1;for i=1:N%循环计算B(x,y)的值 for j=1:N rx=x(j)-xc;ry=y(i)-yc;rz=0-zc;%r的3个长度分量,r在z=0平面 r3=sqrt(rx.2+ry.2+rz.2).3; dlXr_x=dly.*rz-dlz.*ry; dlXr_y=dlz.*rx-dlx.*rz; Bx(i,j)=sum(C0*I0.*dlXr_x./r3);%把环各段参数的磁场分量累加 By(i,j)=sum(C0*I0.*dlXr_y./r3); B=(Bx.2+By.2).0.5; endendsubplot(1,2,1),quiver(x,y,Bx,By),%画矢量图hold onplot(0,1.5,'ro',0,-1.5,'bo'),xlabel('x'),ylabel('y'),axis(-3,3,-3,3),subplot(1,2,2)mesh(x,y,B),axis(-3,3,-3,3,0,1e-4)%画磁场大小分布图xlabel('x'),ylabel('y'),zlabel('B')结果:二、带电粒子在电磁场中的运动1、有均匀电场E和均匀磁场B两者方向互相垂直,分三种情况研究带电粒子在其中的运动情况。(1)电场强度和磁感应强度都不为零;(2)电场强度为零,磁感应强度不为零;(3)电场强度不为零,磁感应强度为零。代码:m=1;Bz=1;q=1;Ey=1;Ez=1;vx=1;vy=1;vz=1;%电场强度和磁场强度都不为0a=q*Bz/m;t=1:0.01:100; x=Ey/Bz*t+vy/a-vy/a*cos(a*t)+(vx-Ey/Bz)/a*sin(a*t);y=vy/a*sin(a*t)+(vx-Ey/Bz)/a*cos(a*t)-(vx-Ey/Bz)/a; z=vz*t+a*t.2/2; axes('Position',0.3,0.6,0.4,0.4);plot3(x,y,z,'g'); xlabel('X');ylabel('Y');zlabel('Z');m=1;q=1;Ey=1;Ez=1;vx=1;vy=1;vz=1;%磁场强度为0,电场强度不为0. t=linspace(0,100,10000); x=vx*t; y=q*Ez/(2*m)*t.2+vy*t; z=vz*t; axes('Position',0.6,0.1,0.4,0.4);plot3(x,y,z); xlabel('X');ylabel('Y');zlabel('Z'); m=1;Bz=1;q=1;Ey=0;Ez=0;vx=1;vy=1;vz=1; %电场强度为0,磁场强度不为0.a=q*Bz/m; t=1:0.01:100; x=Ey/Bz*t+vy/a-vy/a*cos(a*t)+(vx-Ey/Bz)/a*sin(a*t);y=vy/a*sin(a*t)+(vx-Ey/Bz)/a*cos(a*t)-(vx-Ey/Bz)/a; z=vz*t+a*t.2/2; axes('Position',0.1,0.1,0.4,0.4); plot3(x,y,z,'k'); xlabel('X');ylabel('Y');zlabel('Z');结果:三、三个电荷量相等的电荷q固定在一边长a=1米的等边三角形的顶点上试编写一段计算机程序,画出三电荷系统x轴线上的电势分布。代码:clear alla=1;%边长e0=8.85*10(-12);q=1.6e-10; %电量qpi=3.14;x=0.1:0.01:6;V=(q/(4*pi*e0)*(2./sqrt(a2)/4+(x-(a/2)*sqrt(3).2)-1./x);%求电势plot(x,V,'b',0,6,0,0,'k') %画轴线上的电势曲线xlabel('x/m');ylabel('V/V')grid结果:四、在zOy平面上有一半径为R的圆环,均匀带有电荷量q。试用作图的方法求圆环轴线(Ox轴)上的电场强度和电势的分布,并讨论在什么位置它们有极大值。代码:R=0.1;x=(-8:0.001:8)*R; %轴线上的位置E=x./(R2+x.2).(3/2); %轴线上的电场强度分布V=1./sqrt(R2+x.2); %计算轴线的电势分布subplot(2,1,1)plot(x,E,-0.8 0.8,0 0,'k',0 0,-40 40,'k') %画轴线上的电场强度曲线xlabel('x/m');ylabel('E/V/m'); subplot(2,1,2)plot(x,V,0 0,0 15) %画轴线上的电势曲线xlabel('x/m');ylabel('V/V');Em,n1=max(E);Exm=R*(n1-1)*0.001-8) %输出电场强度极大值的位置Vm,n2=max(V);Vxm=R*(n2-1)*0.001-8) %输出电势极大值位置结果:1.电场强度和电势的分布2极大值位置Exm = 0.0707Vxm = 0由输出可知电场强度极大值x=0.0707(m) 电势极大值位置x=013 = 大极 .大强知 0 0 位值分势和果位大极% -0* ()( =位的极场输 0) () ) ;/( 曲电上画 0 , ( ; ' ' 曲曲的轴% , , ,', 0- , 分分轴算 .+ .分强场轴 ) /位的轴 * 0:- .码值大们么论,的和场上)(环法图。量有匀的 半面 果 '/' ' (曲曲线% )00', (电求 ) /() * 0 量%;- ) -*.边边 码布布上轴系出,程一编顶角等 长一 电量荷果) ' ; ( ;', ;.,.' ' . *; / ( ) (* */)* *) (+ * /+ ;:. ;*0不强,度场 ; ; ; =;)'() ')( ; ) ,0,00 ' ;* * / ; ;000,( .为度场度磁; ; =) )( ;)' ;', )0., 0' '/ *; ) */ -+*(*/) (* /- ( -/+ ;0 0 为不场度场; =; ; = = 码零零应零不电(;度磁为度 ;都应和场)况运其子究况种垂向两场和场均运的磁粒果''( )' )' 布布磁 , , ,( ) ) )')', 0 ' ( 量量) , , ( 0. .( ) / ) 累累的段把;/_ 00 ) * . * -* _ ;) 平0 量个的;- ;- ( : 的)(计% = =0=分坐的中断计;/ (;) ( 坐终) * ( )+ 坐起隔 *; (*;( =分周环;,*, =范点% ) - 分流电) /0; =0 . 布布的感圆流,电过线载为一,磁磁习题程程计复决环用,参并提会注 ) , 量 ) ' :- ) 为的%荷在它( () = *+ ) )- ;)- : = 00 的的个每 : 常合 ) ( 常中% - ):仑荷入 ) 标 荷 ; =(标标 % ; ()'),置电输 ) ,%荷 -( 条给% = ):目电' 序 推类依个选力叠,它荷求电选,及坐各数电先序:写可:律库模引仑的个 '分及势电( )'( ) )0 ,:):( ), , ,: )00-,:-, ), ,(,( ) ,-,:(), ) - ,(, ,- ) ,),(,: ) ,: , 分场算% ( ,. 0 0 分电%'0, 0, , , : , )'' ,' ' -截 的画 ' ' ,' ,0 ) - 电%. ( ,电求,( */ /) . * ) ) ,( = 0 0= : :0半环带;常归0 容电空 密线的带- 程. 名布的强求 电,细圆 个空电环 ()( , ) ) /* )( ( + = ) 0 ;)+() 0 )()+ -( 0/ ):度电 )' 段 ):段()度电' 程 实实位其点对 米0 量为取,省以 垂原于位的平因网成可可电对后电它电的中看 *上。为每 分把。法方分用电产电距点到电其标是示可电况情的 场的细,棒的布分电电细 ) ,+, 0电示; , ( ) ) , , ):( ) .=) *. .= ) , ):, ) =) =场电% : 0 -.00()0 , ,- , ,- 0,势%,:,:( 电%;, 电%; . ) *+. ). := ) = 荷点同电量同 0 0 0 .) 容的空 = . 名实序=+ 布场的同电和在,电正,空电荷一