Matlab与电磁场模拟
一 单电荷的场分布:
单电荷的外部电位计算公式:
q ??4??0r
等位线就是连接距离电荷等距离的点,在图上表示就是一圈一圈的圆,而电力线就是由点向外辐射的线。
MATLAB程序:
theta=[0:.01:2*pi]'; r=0:10; x=sin(theta)*r; y=cos(theta)*r; plot(x,y,'b') x=linspace(-5,5,100); for theta=[-pi/4 0 pi/4] y=x*tan(theta); hold on; plot(x,y); end grid on
单电荷的等位线和电力线分布图:
二 多个点电荷的电场情况:
模拟一对同号点电荷的静电场
设有两个同号点电荷,其带电量分别为 +Q1和+Q2(Q1、Q2>0 )距离为 2a则两电荷在点P(x, y)处产生的电势为:
由电场强度可得E = -?U,在xOy平面上,电场强度的公式为:
为了简单起见,对电势U做如下变换:
。
Matlab程序:
q=1; xm=; ym=2;
x=linspace(-xm,xm); y=linspace(-ym,ym); [X,Y]=meshgrid(x,y); R1=sqrt((X+1).^2+Y.^2); R2=sqrt((X-1).^2+Y.^2); U=1./R1+q./R2; u=1::4; figure contour(X,Y,U,u) grid on
legend(num2str(u')) hold on
plot([-xm;xm],[0;0]) plot([0;0],[-ym;ym]) plot(-1,0,'o','MarkerSize',12) plot(1,0,'o','MarkerSize',12) [DX,DY] = gradient(U); quiver(X,Y,-DX,-DY); surf(X,Y,U);
同号电荷的静电场图像为:
11.5 22.5 33.5 450403020100-2-10 1220-2
同理,将程序稍作修改,便可以得到异号电荷的静电场图像:
403020100-10-20-30-40 -2.502 11.5 22.5 33.5 4-2-1.5-1-0.500.511.522.5-2
三、线电荷产生的电位:
设电荷均匀分布在从z=-L到z=L,通过原点的线段上,其密度为q(单位C/m),求在xy平面上的电位分布。
V ? 点电荷产生的电位可表示为 Q / 4 ? r ? 0 是一个标量。其中r为电荷到测量点的距
离。线电荷所产生的电位可用积分或叠加的方法来求。为此把线电荷分为NqdL段,每段长为dV?4?r?0dL。每段上电荷为q*dL,看作集中在中点的点电荷,它产生的电位为 然后对全部电荷求和即可。
把xy平面分成网格,因为xy平面上的电位仅取决于离原点的垂直距离R,所以可以省略一维,只取R为自变量。把R从0到10米分成Nr+1点,对每一点计算其电位。
Matlab程序: clear all;
L=input(‘线电荷长度L= ’); N=input(‘分段数N= ’); Nr=input(‘分段数Nr= ’); q=input(‘电荷密度q= ’);
E0=; 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
相关推荐: