资源描述:
《MATLAB在电磁学中的应用》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、电磁学一、1、点电荷的电场研究真空中,两个带正电的点电荷,在电量相同和电量不同情况下的电场分布。V=V1+V2=+,E=-▽V2、程序实现主程序文件名为point.mclearallep0=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;str{1}=’两同号等量点电荷’;str{2}=’两同号不等量点电荷’;[X,Y]=meshgrid(x,y);q=[e;1.9*e];fori=1:2V=c0*e./sqrt((X+0.2).^2+Y.^2)+c0.*q(i).
2、/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])holdonphi=0:pi/17:2*pi;%以下画电场线sx1=0.2+0.01*cos(phi);sy1=0.01*sin(phi);streamline(
3、X(:,:,1),Y(:,:,1),Ex,Ey,sx1,sy1);holdonsx2=-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为电荷到测量
4、点的距离。线电荷所产生的电位可用积分或叠加的方法来求。为此把线电荷分为N段,每段长为dL。每段上电荷为q*dL,看作集中在中点的点电荷,它产生的电位为然后对全部电荷求和即可。把xy平面分成网格,因为xy平面上的电位仅取决于离原点的垂直距离R,所以可以省略一维,只取R为自变量。把R从0到10米分成Nr+1点,对每一点计算其电位。2、程序实现matlab程序clearall;L=input('线电荷长度L=:');N=input('分段数N=:');Nr=input('分段数Nr=:');q=input('电荷密度q=:');E0=8.85e-12;C0=1/4/pi/E0;L
5、0=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);fork=1:Nr+1Rk=sqrt(Lm.^2+R(k)^2);Vk=C0*dL*q./Rk;V(k)=sum(Vk);end[max(V),min(V)]plot(R,V)三、带电圆环的电场1、真空中,一个半径为R的圆形细环上,均匀分布电荷Q,求其电场强度的分布。主程序的文件名为ering.m2、程序clearalllam=1e-9;%带电环的电荷线密度ep0=8.85*1e-12;%真空中的电
6、容率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([-55-55]);line(R,0,'marker','.','markersize',25,'color','k');%画带电环的yz截
7、面line(-R,0,'marker','.','markersize',25,'color','k');holdoncontour(Y(:,:,1),Z(:,:,1),V,[2,4,6,8,10,12,14,16,18,20,22,24,28,30,32],'g')%画电势分布holdonsz=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(: