MATLAB仿真电偶极子电场分布

工程电磁场仿真实验-电偶极子电场分布仿真实验

一、实验目的
1.熟练掌握一对电偶极子及多对点电荷的电场及电势分布情况;
2.学会使用MATLAB进行数值计算,并绘出相应的图形;
二、MATLAB代码`
一对电偶极子代码及其图像

clear; % 清除变量
clf; % 清除当前图像窗口
q=9e-9; % 元电荷电量
k=9e9; % 静电力常量
a=1.6; % 正电荷的单位距离
b=1.6; % 负电荷的单位距离
x=-10:0.5:10; % 横坐标范围
y=x; % 纵坐标范围
[X,Y]=meshgrid(x,y); % 设置坐标网格点
rp=sqrt((X-a).^2+(Y-b).^2); % 第一个正电荷到场点的距离
rm=sqrt((X+a).^2+(Y+b).^2); % 第一个负电荷到场点的距离
V=q*k*(1./rp-1./rm); % 计算电势
[Ex,Ey]=gradient(-V); % 计算场强
AE=sqrt(Ex.^2+Ey.^2);Ex=Ex./AE;Ey=Ey./AE; % 场强归一化,使箭头等长
cv=linspace(min(min(V)),max(max(V)),50); % 产生49个电位值
contourf(X,Y,V,cv,'r-') % 用红实线画填色等位线图
title('电偶极子的场'), % 显示标题
hold on % 保持图像
quiver(X,Y,Ex,Ey,0.7) % 第五输入宗量0.7使场强箭头长短适中
plot(a,b,'wo',a,b,'w+') % 用绿线画正电荷位置
plot(-a,-b,'go',-a,-b,'g-') % 用黄线画负电荷位置
xlabel('x'); % 显示横坐标
ylabel('y'), % 显示纵坐标
hold off % 保持图像

MATLAB仿真电偶极子电场分布_第1张图片
四对电偶极子及其图像:

clear; % 清除变量
clf; % 清除当前图像窗口
q=9e-9; % 元电荷电量
k=9e9; % 静电力常量
a=1.6; % 正电荷的单位距离
b=1.6; % 负电荷的单位距离
x=-10:0.5:10; % 横坐标范围
y=x; % 纵坐标范围 
[X,Y]=meshgrid(x,y); % 设置坐标网格点
rp=sqrt((X-a).^2+(Y-b).^2); % 第一个正电荷到场点的距离
rm=sqrt((X+a).^2+(Y+b).^2); % 第一个负电荷到场点的距离
rp1=sqrt((X-a).^2+(Y+b).^2); % 第二个正电荷到场点的距离
rm1=sqrt((X+a).^2+(Y-b).^2); % 第二个负电荷到场点的距离
rp2=sqrt((X-2*a).^2+Y.^2); % 第三个正电荷到场点的距离
rm2=sqrt((X+2*a).^2+Y.^2); % 第三个负电荷到场点的距离
rp3=sqrt(X.^2+(Y+2*b).^2); % 第四个正电荷到场点的距离
rm3=sqrt(X.^2+(Y-2*b).^2); % 第四个负电荷到场点的距离
V=q*k*(1./rp-1./rm+1./rp1-1./rm1+1./rp2-1./rm2+1./rp3-1./rm3); % 计算电势
[Ex,Ey]=gradient(-V); % 计算场强
AE=sqrt(Ex.^2+Ey.^2);Ex=Ex./AE;Ey=Ey./AE; % 场强归一化,使箭头等长
cv=linspace(min(min(V)),max(max(V)),50); % 产生49个电位值
contourf(X,Y,V,cv,'r-') % 用红实线画填色等位线图
title('4对电偶极子的场 '), % 显示标题
hold on % 保持图像
quiver(X,Y,Ex,Ey,0.7) % 第五输入宗量0.7使场强箭头长短适中
plot(a,b,'wo',a,b,'w+') % 用绿线画正电荷位置
plot(-a,-b,'go',-a,-b,'g-') % 用黄线画负电荷位置
xlabel('x'); % 显示横坐标
ylabel('y'), % 显示纵坐标
hold off % 保持图像

MATLAB仿真电偶极子电场分布_第2张图片
21对电偶极子的电位分布

clear; % 清除变量
clf; % 清除当前图像窗口
q=9e-9; % 元电荷电量
k=9e9; % 静电力常量
a=1.6; % 正电荷的单位距离
b=1.6; % 负电荷的单位距离
x=-10:0.5:10; % 横坐标范围
y=x; % 纵坐标范围 
[X,Y]=meshgrid(x,y); % 设置坐标网格点
rp=sqrt((X-a).^2+(Y-b).^2); % 第一个正电荷到场点的距离
rm=sqrt((X+a).^2+(Y+b).^2); % 第一个负电荷到场点的距离
rp1=sqrt((X-a).^2+(Y+b).^2); % 第二个正电荷到场点的距离
rm1=sqrt((X+a).^2+(Y-b).^2); % 第二个负电荷到场点的距离
rp2=sqrt((X-2*a).^2+Y.^2); % 第三个正电荷到场点的距离
rm2=sqrt((X+2*a).^2+Y.^2); % 第三个负电荷到场点的距离
rp3=sqrt(X.^2+(Y+2*b).^2); %第i个正电荷到场点的距离
rm3=sqrt(X.^2+(Y-2*b).^2); %第i个负电荷到场点的距离
rp4=sqrt((X-2*a).^2+(Y-2*b).^2); 
rm4=sqrt((X+2*a).^2+(Y+2*b).^2); 
rp5=sqrt((X-2*a).^2+(Y+2*b).^2); 
rm5=sqrt((X+2*a).^2+(Y-2*b).^2); 
rp6=sqrt((X-3*a).^2+(Y-3*b).^2);
rm6=sqrt((X+3*a).^2+(Y+3*b).^2);
rp7=sqrt((X-3*a).^2+(Y+3*b).^2); 
rm7=sqrt((X+3*a).^2+(Y-3*b).^2); 
rp8=sqrt((X-3*a).^2+Y.^2);
rm8=sqrt((X+3*a).^2+Y.^2); 
rp9=sqrt((X-4*a).^2+(Y+4*b).^2); 
rm9=sqrt((X+4*a).^2+(Y-4*b).^2);
rp10=sqrt(X.^2+(Y+3*b).^2);
rm10=sqrt(X.^2+(Y-3*b).^2); 
rp11=sqrt((X-4*a).^2+(Y-4*b).^2); 
rm11=sqrt((X+4*a).^2+(Y+4*b).^2); 
rp12=sqrt((X-3*a).^2+(Y+1*b).^2);
rm12=sqrt((X+3*a).^2+(Y-1*b).^2);
rp13=sqrt((X-4*a).^2+Y.^2);
rm13=sqrt((X+4*a).^2+Y.^2);
rp14=sqrt((X-4*a).^2+(Y+2*b).^2);
rm14=sqrt((X+4*a).^2+(Y-2*b).^2);
rp15=sqrt((X+4*a).^2+(Y+3*b).^2);
rm15=sqrt((X-4*a).^2+(Y-3*b).^2);
rp16=sqrt((X+3*a).^2+(Y-1*b).^2);
rm16=sqrt((X-3*a).^2+(Y+1*b).^2);
rp17=sqrt((X-4*a).^2+(Y+5*b).^2);
rm17=sqrt((X+4*a).^2+(Y-5*b).^2);
rp18=sqrt((X+2*a).^2+(Y+3*b).^2);
rm18=sqrt((X-2*a).^2+(Y-3*b).^2);
rp19=sqrt((X+4*a).^2+(Y+5*b).^2);
rm19=sqrt((X-4*a).^2+(Y-5*b).^2);
rp20=sqrt((X-2*a).^2+(Y+3*b).^2);
rm20=sqrt((X+2*a).^2+(Y-3*b).^2);
rp21=sqrt((X+4*a).^2+(Y+2*b).^2);
rm21=sqrt((X-4*a).^2+(Y-2*b).^2);
rp22=sqrt((X-4*a).^2+(Y+3*b).^2);
rm22=sqrt((X+4*a).^2+(Y-3*b).^2);
V=q*k*(1./rp-1./rm+1./rp1-1./rm1+1./rp2-1./rm2+1./rp3-1./rm3+1./rp4-1./rm4+1./rp5-1./rm5+1./rp6-1./rm6+1./rp7-1./rm7+1./rp8-1./rm8+1./rp9-1./rm9+1./rp10-1./rm10+1./rp11-1./rm11+1./rp12-1./rm12+1./rp13-1./rm13+1./rp14-1./rm14+1./rp15-1./rm15+1./rp16-1./rm16+1./rp17-1./rm17+1./rp18-1./rm18+1./rp19-1./rm19+1./rp20-1./rm20+1./rp21-1./rm21+1./rp22-1./rm22); % 计算电势
[Ex,Ey]=gradient(-V); % 计算场强
AE=sqrt(Ex.^2+Ey.^2);Ex=Ex./AE;Ey=Ey./AE; % 场强归一化,使箭头等长
cv=linspace(min(min(V)),max(max(V)),50); % 产生49个电位值
contourf(X,Y,V,cv,'r-') % 用红实线画填色等位线图
title('21对电偶极子的场 '), % 显示标题
hold on % 保持图像
quiver(X,Y,Ex,Ey,0.7) % 第五输入宗量0.7使场强箭头长短适中
plot(a,b,'wo',a,b,'w+') % 用绿线画正电荷位置
plot(-a,-b,'go',-a,-b,'g-') % 用黄线画负电荷位置
xlabel('x'); % 显示横坐标
ylabel('y'), % 显示纵坐标
hold off % 保持图像

MATLAB仿真电偶极子电场分布_第3张图片
从构建起第一对电偶极子的电位分布以后,这个实验基本就完全完成了。增加电偶极子的对数仅在坐标网格点中增加电偶极子,同时增加电偶极子以后整个平面的电位分布肯定会有所改变,则需在求电势的公式中添加新增的电偶极子即可。

三、用mesh( )函数展现二维分布的三维形式
绘制电势分布的三维图用到了mesh( )函数:
Mesh( )函数部分代码:

mesh(X,Y,V)
xlabel('\itx'); 
zlabel('\itz');
hold off % 保持图像

21对电偶极子的二维图的三维分布
MATLAB仿真电偶极子电场分布_第4张图片
这个电位分布图其实还是二维的电位分布图,只是讲不同电偶极子的电势大小将它拉升起来形成峰谷。实质上这还是一根二维的电位分布图!一对电偶极子的电位分布图应该像一个苹果一样,在其中心有一定的下凹。而侧边是曲面(很多曲线构成)。

你可能感兴趣的:(matlab,计算机视觉,开发语言,电磁学)