电磁场点电荷电场线电势MATLAB仿真中南大学.docx
- 文档编号:802195
- 上传时间:2022-10-13
- 格式:DOCX
- 页数:13
- 大小:142.18KB
电磁场点电荷电场线电势MATLAB仿真中南大学.docx
《电磁场点电荷电场线电势MATLAB仿真中南大学.docx》由会员分享,可在线阅读,更多相关《电磁场点电荷电场线电势MATLAB仿真中南大学.docx(13页珍藏版)》请在冰豆网上搜索。
电磁场点电荷电场线电势MATLAB仿真中南大学
电磁场-点电荷-电场线-电势-MATLAB--仿真-中南大学
电磁场理论实验一
——利用Matlab模拟点电荷电场的分布
1.实验目的:
1.熟悉单个点电荷及一对点电荷的电场分布情况;
2.学会使用Matlab进行数值计算,并绘出相应的图形;
2.实验原理:
根据库伦定律:
在真空中,两个静止点电荷之间的作用力与这两个电荷的电量乘积成正比,与它们之间距离的平方成反比,作用力的方向在两个电荷的连线上,两电荷同号为斥力,异号为吸力,它们之间的力F满足:
(式1)
由电场强度E的定义可知:
(式2)
对于点电荷,根据场论基础中的定义,有势场E的势函数为
(式3)
而
(式4)
在Matlab中,由以上公式算出各点的电势U,电场强度E后,可以用Matlab自带的库函数绘出相应电荷的电场分布情况.
三.实验内容:
1.单个点电荷
点电荷的平面电力线和等势线
真空中点电荷的场强大小是E=kq/r^2,其中k为静电力恒量,q为电量,r为点电荷到场点P(x,y)的距离.电场呈球对称分布,取电量q>0,电力线是以电荷为起点的射线簇.以无穷远处为零势点,点电荷的电势为U=kq/r,当U取常数时,此式就是等势面方程.等势面是以电荷为中心以r为半径的球面.
●平面电力线的画法
在平面上,电力线是等角分布的射线簇,用MATLAB画射线簇很简单.取射线的半径为(都取国际制单位)r0=0.12,不同的角度用向量表示(单位为弧度)th=linspace(0,2*pi,13).射线簇的终点的直角坐标为:
[x,y]=pol2cart(th,r0).插入x的起始坐标x=[x;0.1*x].同样插入y的起始坐标,y=[y;0.1*y],x和y都是二维数组,每一列是一条射线的起始和终止坐标.用二维画线命令plot(x,y)就画出所有电力线.
●平面等势线的画法
在过电荷的截面上,等势线就是以电荷为中心的圆簇,用MATLAB画等势线更加简单.静电力常量为k=9e9,电量可取为q=1e-9;最大的等势线的半径应该比射线的半径小一点?
r0=0.1.其电势为u0=k8q/r0.如果从外到里取7条等势线,最里面的等势线的电势是最外面的3倍,那么各条线的电势用向量表示为:
u=linspace(1,3,7)*u0.从-r0到r0取偶数个点,例如100个点,使最中心点的坐标绕过0,各点的坐标可用向量表示:
x=linspace(-r0,r0,100),在直角坐标系中可形成网格坐标:
[X,Y]=meshgrid(x).各点到原点的距离为:
r=sqrt(X.^2+Y.^2),在乘方时,乘方号前面要加点,表示对变量中的元素进行乘方计算.各点的电势为U=k8q./r,在进行除法运算时,除号前面也要加点,同样表示对变量中的元素进行除法运算.用等高线命令即可画出等势线contour(X,Y,U,u),在画等势线后一般会把电力线擦除,在画等势线之前插入如下命令holdon就行了.平面电力线和等势线如图1,其中插入了标题等等.越靠近点电荷的中心,电势越高,电场强度越大,电力线和等势线也越密.
图1
●点电荷的立体电力线和等势面
立体电力线的画法
先形成三维单位球面坐标,绕z轴一周有8条电力线[X,Y,Z]=sphere(8),每维都是9×9的网格矩阵,将X化为行向量,就形成各条电力线的终点x坐标x=r0=X(:
)′,其他两个坐标也可同样形成终点坐标y=r0+Y(:
)',z=r0+Z(:
)'.对x坐标插入原点x=[x(zeros(size(x))],其他两个坐标如下形成y=[y(zeros(size(y))],z=[z(zeros(size(z))],用三维画线命令plot3(x,y,z),就画出所有电力线.
●立体等势面的画法
画5条等势面时,各面的电势为u=linspace(1,3,5)+u0,各等势面的半径为r=k6q./u,其中第一个球面的半径为rr=r
(1).三维单位球面的坐标可由[X,Y,Z]=sphere命令形成,每维都是21×21的网格矩阵,由于外球会包围内球,因此把球面的四分之一设为非数,表示割去该部分Z(X<0&Y<0)=nan.用曲面命令可画出第一个曲面surf(rr6X,rr6Y,rr6Z),只要取不同的半径就能画出不同的等势面.为了使等势面好看,可设置一个颜色浓淡连续变化的命令shadinginterp.点电荷的立体电力线和等势面如图2,旋转图片可从不同的角度观察.
图2
1一对点电荷
●平面等势线的画法
仍然用MATLAB的等高线命令画等势线.对于正负两个点电荷,电量不妨分别取q1=2e-9,q2=-1e-9,正电荷在x轴正方,负电荷在x轴负方,它们到原点的距离定为a=0.02;假设平面范围为xx0=0.05,yy0=0.04,两个坐标向量分别x=linspace(-xx0,xx0,20)和y=linspace(-yy0,yy0,50).设置平面网格坐标为[X,Y]=meshgrid(x),各点到两电荷的距离分别为r1=sqrt((X-a).^2+Y.^2)和r2=sqrt((X+a).^2+Y.^2).各点的电势为U=k6q1./r1+k6q2./r2,取最高电势为u0=50,最低电势取其负值.在两者之间取11个电势向量u=linspace(u0,-u0,11),等高线命令contour(X,Y,U,u,'k-')用黑实线,画出等势线如图4所示,其中,左边从里到外的第6条包围负电荷的等势线为零势线.
●平面电力线的画法
利用MATLAB的箭头命令,可用各点的电场强度方向代替电力线.根据梯度可求各点的场强的两个分量[Ex,Ey]=gradient(-U),合场强为E=sqrt(Ex.^2+Ey.^2).为了使箭头等长,将场强Ex=Ex./E,Ey=Ey./E归一化,用箭头命令quiver(X,Y,Ex,Ey)可标出各网点的电场强度的方向,异号点电荷对的场点方向如图3所示.
为了画出连续的电力线,先确定电力线的起点.电荷的半径可取为r0=0.002,如图4所示,假设第一条电力线的起始角为30度,其弧度为q=30+pi/180,起始点到第一个点电荷的坐标为x1=r0+cos(q),y=r0+sin(q),到第二个点电荷的坐标只有横坐标x2=2+a+x1不同.用前面的方法可求出该点到两个电荷之间的距离r1和r2,从而计算场强的两个分量以及总场强Ex=q1+x1/r1^3+q2+x2/r2^3,Ey=q1+y/r1^3+q2+y/r2^3,E=sqrt(Ex6Ex+Ey6Ey).下面只要用到场强分量与总场强的比值,在计算场强分量时没有乘以静电力常量k.由于电力线的方向与场强的切线方向相同,取线段为s=0.0001,由此可求出终点的坐标为x1=x1+s#Ex/E,y=y+s+Ey/E,从而计算x2.以终点为新的起点就能计算其他终点.当终点出界时或者到达另一点电荷时,这个终点可作为最后终点.这种计算电力线的方法称为切线法.
图3
图4
图5
部分M-file;
1.点电荷的平面电力线和等势线
%点电荷的平面电力线和等势线
%平面电力线的画法
q=1e-9;
r0=0.12;
th=linspace(0,2*pi,13);
[x,y]=pol2cart(th,r0);
x=[x;0.1*x];
y=[y;0.1*y];
plot(x,y);
gridon
holdon
plot(0,0,'o','MarkerSize',12)
xlabel('x','fontsize',16)
ylabel('y','fontsize',16)
title('单个点电荷的电场线与等势线','fontsize',20)
%平面等势线的画法
k=9e9;
r0=0.1;
u0=k*q/r0;
u=linspace(1,3,7)*u0;
x=linspace(-r0,r0,100);
[X,Y]=meshgrid(x);
r=sqrt(X.^2+Y.^2);
U=k*q./r;
holdon;
contour(X,Y,U,u)
2.一对电荷平面等势线和电场线图
%一对电荷平面等势线和电场线图
clearall;
clf;
%平面等势线的画法
q1=2e-9;
q2=-1e-9;
a=0.02;%到原点的距离
xx0=0.05;
yy0=0.04;
k=9e9;
x=linspace(-xx0,xx0,20);
y=linspace(-yy0,yy0,50);
[X,Y]=meshgrid(x);
r11=sqrt((xx0/1.7-a)^2+(yy0/1.7)^2);
r22=sqrt((xx0/1.7+a)^2+(yy0/1.7)^2);
r1=sqrt((X-a).^2+Y.^2);%各点到点电荷的距离
r2=sqrt((X+a).^2+Y.^2);
U=k*q1./r1+k*q2./r2;%各点的电势
u0=k*q1/r11+k*q2/r22;
u=linspace(u0,-u0,11);%取21个等势向量
contour(X,Y,U,u,'k-');
holdon
gridon
plot(a,0,'o','MarkerSize',12);
plot(-a,0,'o','MarkerSize',12);
xlabel('x','fontsize',16);
ylabel('y','fontsize',16);
%平面电力线的画法
[Ex,Ey]=gradient(-U);
E=sqrt(Ex.^2+Ey.^2);
Ex=Ex./E;
Ey=Ey./E;
holdon;
quiver(X,Y,Ex,Ey);
title('一对不相等的电荷的等势线图和电场线图','fontsize',20)
clear;
3.立体电力线的画法
%立体电力线的画法
q=1e-9;
[X,Y,Z]=sphere(8);
r0=0.18;
r1=0.2;
k=9e9;
u0=k*q/r0;
x=r1*X(:
)';
y=r1*Y(:
)';
z=r1*Z(:
)';
x=[x;zeros(size(x))];
y=[y;zeros(size(y))];
z=[z;zeros(size(z))];
plot3(x,y,z)
holdon;
%立体等势线之画法
u=linspace(1,3,5)*u0;%画5条等势面时,各面的电势为u=linspace(1,3,5)+u0,
r=k*q./u;%各等势面的半径为r=k6q./u
[X,Y,Z]=sphere;
Z(X<0&Y<0)=nan;
surf(r
(1)*X,r
(1)*Y,r
(1)*Z);%第一到第五个球面
surf(r
(2)*X,r
(2)*Y,r
(2)*Z);
surf(r(3)*X,r(3)*Y,r(3)*Z);
surf(r(4)*X,r(4)*Y,r(4)*Z);
surf(r(5)*X,r(5)*Y,r(5)*Z);
shadinginterp%个颜色浓淡连续变化的命令shadinginterp.
xlabel('x','fontsize',16);
ylabel('y','font
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电磁场 点电荷 电场 电势 MATLAB 仿真 中南 大学