电磁场与波课设-关于多点电荷的电力线与等位面的matlab计算仿真
本文章记录了电磁场与波的课程设计-关于多点电荷的电力线与等位面的matlab计算仿真
三极子的仿真
直接进入正题三个电荷分布在正电荷(-1,0)、正电荷(1,0)、负电荷(0、1)位置处,其中正电荷电量为q,负电荷电量为2q,matlab仿真电势和电场线代码如下:
clear %清除变量
q=1; %电量比
xm=2.5; %横坐标范围
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.^2+(Y-1).^2); %第二个点电荷到场点的距离
R3=sqrt((X+1).^2+Y.^2); %第三个点电荷到场点的距离
U=1./R1-2./R2+1./R3; %计算电势
u=-4:0.5:4; %等势线的电势向量
figure %创建图形窗口
contour(X,Y,U,u,'--') %画等势线
hold on %保持图像
plot(-1,0,'o','MarkerSize',16) %画第一个点电荷
plot(0,1,'o','MarkerSize',12) %画第二个点电荷
plot(1,0,'o','MarkerSize',16) %画第三个点电荷
[Ex,Ey]=gradient(-U,x(2)-x(1),y(2)-y(1)); %用电势梯度求场强的两个分量
r0=0.1; %电场线起点半径
a=20; %设置电场线角度间隔
b=(a:a:360-a)*pi/180; %第一个点电荷电场线的始末角度和步长
x1=r0*cos(b)-1; %第一个点电荷电场线的起点横坐标
y1=r0*sin(b); %第一个点电荷电场线的起点纵坐标
streamline(X,Y,Ex,Ey,x1,y1) %画第一个点电荷电场线
d=(-180-a:a:180-a)*pi/180; %第三个点电荷电场线的始末角度和步长
x3=r0*cos(d)+1; %第三个点电荷电场线的起点横坐标
y3=r0*sin(d); %第三个点电荷电场线的起点纵坐标
streamline(X,Y,Ex,Ey,x3,y3) %画第三点电荷电场线
axis equal tight %使坐标刻度相等
title('三极子的电场线和等势线','fontsize',16) %显示标题
xlabel('\itx/r (电势单位:kq/r=1) ','fontsize',12) %显示横坐标
ylabel('\ity/r','fontsize',12) %显示纵坐标
由于电场线从正电荷发出而终止于负电荷所以只需要从正电荷处画电场线。
代码实现后图像如下:
三个电荷分布在正电荷(-1,0)、正电荷(1,0)、负电荷(0、0)位置处,其中正电荷电量为q,负电荷电量为2q,matlab仿真电势和电场线代码如下:
clear %清除变量
q=1; %电量比
xm=2.5; %横坐标范围
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.^2+Y.^2); %第二个点电荷到场点的距离
R3=sqrt((X+1).^2+Y.^2); %第三个点电荷到场点的距离
U=1./R1-2./R2+1./R3; %计算电势
u=-4:0.5:4; %等势线的电势向量
figure %创建图形窗口
contour(X,Y,U,u,'--') %画等势线
hold on %保持图像
plot(-1,0,'o','MarkerSize',16) %画第一个点电荷
plot(0,0,'o','MarkerSize',12) %画第二个点电荷
plot(1,0,'o','MarkerSize',16) %画第三个点电荷
[Ex,Ey]=gradient(-U,x(2)-x(1),y(2)-y(1)); %用电势梯度求场强的两个分量
r0=0.1; %电场线起点半径
a=20; %设置电场线角度间隔
b=(a:a:360-a)*pi/180; %第一个点电荷电场线的始末角度和步长
x1=r0*cos(b)-1; %第一个点电荷电场线的起点横坐标
y1=r0*sin(b); %第一个点电荷电场线的起点纵坐标
streamline(X,Y,Ex,Ey,x1,y1) %画第一个点电荷电场线
d=(-180-a:a:180-a)*pi/180; %第三个点电荷电场线的始末角度和步长
x3=r0*cos(d)+1; %第三个点电荷电场线的起点横坐标
y3=r0*sin(d); %第三个点电荷电场线的起点纵坐标
streamline(X,Y,Ex,Ey,x3,y3) %画第三点电荷电场线
axis equal tight %使坐标刻度相等
title('三极子的电场线和等势线','fontsize',16) %显示标题
xlabel('\itx/r (电势单位:kq/r=1) ','fontsize',12) %显示横坐标
ylabel('\ity/r','fontsize',12) %显示纵坐标
四极子的仿真
四个等量同种正电荷位于正方形的四角其电势与电场仿真如下:
clear %清除变量
q=1; %电量比
xm=4.5; %横坐标范围
ym=4; %横坐标范围
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).^2); %第二个点电荷到场点的距离
R3=sqrt((X+1).^2+Y.^2); %第三个点电荷到场点的距离
R4=sqrt((X+1).^2+(Y+2).^2); %第四个点电荷到场点的距离
U=1./R1+1./R2+1./R3+1./R4; %计算电势
u=-4:0.5:4; %等势线的电势向量
figure %创建图形窗口
contour(X,Y,U,u,'--') %画等势线
hold on %保持图像
plot(-1,0,'o','MarkerSize',12) %画第一个点电荷
plot(-1,-2,'o','MarkerSize',16) %画第二个点电荷
plot(1,0,'o','MarkerSize',16) %画第三个点电荷
plot(1,-2,'o','MarkerSize',12) %画第四个点电荷
[Ex,Ey]=gradient(-U,x(2)-x(1),y(2)-y(1)); %用电势梯度求场强的两个分量
r0=0.1; %电场线起点半径
a=20; %设置电场线角度间隔
b=(a:a:360-a)*pi/180; %第一个点电荷电场线的始末角度和步长
x1=r0*cos(b)-1; %第一个点电荷电场线的起点横坐标
y1=r0*sin(b); %第一个点电荷电场线的起点纵坐标
streamline(X,Y,Ex,Ey,x1,y1) %画第一个点电荷电场线
c=(-180-a:a:180-a)*pi/180; %第二个点电荷电场线的始末角度和步长
x2=r0*cos(c)-1; %第二个点电荷电场线的起点横坐标
y2=r0*sin(c)-2; %第二个点电荷电场线的起点纵坐标
streamline(X,Y,Ex,Ey,x2,y2) %画第二个点电荷电场线
d=(-180-a:a:180-a)*pi/180; %第三个点电荷电场线的始末角度和步长
x3=r0*cos(d)+1; %第三个点电荷电场线的起点横坐标
y3=r0*sin(d); %第三个点电荷电场线的起点纵坐标
streamline(X,Y,Ex,Ey,x3,y3) %画第三点电荷电场线
e=(a:a:360-a)*pi/180; %第四个点电荷电场线的始末角度和步长
x4=r0*cos(e)+1; %第四个点电荷电场线的起点横坐标
y4=r0*sin(e)-2; %第四个点电荷电场线的起点纵坐标
streamline(X,Y,Ex,Ey,x4,y4) %画第四个点电荷电场线
axis equal tight %使坐标刻度相等
title('等量同种四极子的电场线和等势线','fontsize',16) %显示标题
xlabel('\itx/r (电势单位:kq/r=1) ','fontsize',12) %显示横坐标
ylabel('\ity/r','fontsize',12) %显示纵坐标
异种四电荷电势与电场线分布:
clear %清除变量
q=1; %电量比
xm=4.5; %横坐标范围
ym=4; %横坐标范围
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).^2); %第二个点电荷到场点的距离
R3=sqrt((X+1).^2+Y.^2); %第三个点电荷到场点的距离
R4=sqrt((X+1).^2+(Y+2).^2); %第四个点电荷到场点的距离
U=1./R1-1./R2-1./R3+1./R4; %计算电势
u=-4:0.5:4; %等势线的电势向量
figure %创建图形窗口
contour(X,Y,U,u,'--') %画等势线
hold on %保持图像
plot(-1,0,'o','MarkerSize',12) %画第一个点电荷
plot(-1,-2,'o','MarkerSize',16) %画第二个点电荷
plot(1,0,'o','MarkerSize',16) %画第三个点电荷
plot(1,-2,'o','MarkerSize',12) %画第四个点电荷
[Ex,Ey]=gradient(-U,x(2)-x(1),y(2)-y(1)); %用电势梯度求场强的两个分量
r0=0.1; %电场线起点半径
a=20; %设置电场线角度间隔
b=(a:a:360-a)*pi/180; %第一个点电荷电场线的始末角度和步长
x1=r0*cos(b)-1; %第一个点电荷电场线的起点横坐标
y1=r0*sin(b); %第一个点电荷电场线的起点纵坐标
streamline(X,Y,Ex,Ey,x1,y1) %画第一个点电荷电场线
c=(-180-a:a:180-a)*pi/180; %第二个点电荷电场线的始末角度和步长
x2=r0*cos(c)-1; %第二个点电荷电场线的起点横坐标
y2=r0*sin(c)-2; %第二个点电荷电场线的起点纵坐标
streamline(X,Y,Ex,Ey,x2,y2) %画第二个点电荷电场线
d=(-180-a:a:180-a)*pi/180; %第三个点电荷电场线的始末角度和步长
x3=r0*cos(d)+1; %第三个点电荷电场线的起点横坐标
y3=r0*sin(d); %第三个点电荷电场线的起点纵坐标
streamline(X,Y,Ex,Ey,x3,y3) %画第三点电荷电场线
e=(a:a:360-a)*pi/180; %第四个点电荷电场线的始末角度和步长
x4=r0*cos(e)+1; %第四个点电荷电场线的起点横坐标
y4=r0*sin(e)-2; %第四个点电荷电场线的起点纵坐标
streamline(X,Y,Ex,Ey,x4,y4) %画第四个点电荷电场线
axis equal tight %使坐标刻度相等
title('异种四极子的电场线和等势线','fontsize',16) %显示标题
xlabel('\itx/r (电势单位:kq/r=1) ','fontsize',12) %显示横坐标
ylabel('\ity/r','fontsize',12) %显示纵坐标
初次创作如有错误请指出。
参考文献:王明美.点电荷系电场的计算机模拟[J].广西物理 ,2012,33(3).