利用MATLAB模拟点电荷电力线和等势面
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
利用MATLAB模拟点电荷电力线和等势面
摘要:本文依据探索点电荷的电力线和等势线的实验理论,着重阐述利用Matlab这一计算机软件模拟和绘制点电荷的电力线和等势面的分布(包括单个正点电荷和一对等量相异点电荷),形象直观展现了点电荷在其周围场中产生的电场线以及等势面的分布状况,这为与电荷有关的理论与实验提供了帮助,并且可以通过Matlab编程描绘这样直观可视的图样总结出不同情况的点电荷的电力线和等势面的分布规律。
关键字:电场;Matlab;试探电荷;电力线;等势线;模拟图样
0引言
在真空中的点电荷,在周围产生了电场。
电场既看不见也摸不着,人们在探究电场的性质及分布状况的时候,用试探电荷在电场中的表现及分布状况来表征电场的状况,然后在纸张上画出电荷的电场线和等势面。
该过程不仅繁琐艰难,而且误差较大。
如果我们利用Matlab这一计算机软件进行模拟该过程,将会给我们带来极大的便利,所绘制得到的电场线和等势线面不仅生动直观,而且较接近实际情况。
正因为如此,随着当今科技的迅速发展,Matlab这一计算机软件也进行了持续的开发,并得到了广泛的应用。
1物理依据
本次试验的目的,就在于熟悉单个点电荷及一对点电荷的电场分布情况,并且学会使用Matlab进行数值编程与计算,并绘出相应的图像。
根据库伦定律:在真空中,两个静止点电荷之间的作用力与这两个电荷的电量乘积成正比,与它们之间距离的平方成反比,作用力的方向在两个电荷的连线上,两电荷同号为排斥力,异号为吸引力,它们之间的作用力F满足[1]:
F=k Q1Q2
(1)
R2
,ε0称为介电常数,根据电场力的概念:
其中k=1
4πε0
F=EQ(2)
跟库伦定律的表达式(1)对比,可以得到点电荷产生的电场强度E为[2]
(3)
E=kQ
R2
(3)式即为点电荷产生的电场的势函数。
我们以(3)式作为目标函数对电场利用Matlab 进行模拟。
在Matlab 中,由以上公式算出各点的电场强度E 后,可以用Matlab 自带的库函数绘出相应电荷的电场分布情况。
2利用Matlab 模拟试验
一.根据库伦定律和电场强度的表达式(3)绘制单个正点电荷的电场线和等势面。
以0.05的单位长度设置横坐标和纵坐标,取不同的数值进行程序的编程,选择不同的颜色来区分不同的等势线。
利用Matlab 强大的绘图功能画出单个正点电荷的电场分布情况,包括电力线和等势面,得到的图像如图1所示。
操作程序见附录(程序一)
二.根据库伦定律和电场强度的表达式(3)绘制一对相异等量点电荷的电场线和等势面。
以0.01的单位长度设置横坐标和纵坐标,取不同的数值进行编程和计算。
利用Matlab 强大的绘图功能画出一对相异点电荷的电场分布情况,包括电场线和等势面,得到的图像如图2所示。
操作程序见附录(程序二)
x y
单个正点电荷的电场线与等势线
x
y
图1 单个正点电荷的等势面与电场线
图2 一对等量相异点电荷的电场线和等势面
3试验规律总结
一.如图1所示,单个正点电荷的电场线是起始于电荷而向外辐射状的,场线由密集变稀疏,表示电场强度E由大变小。
而等势面是一群同中心椭球面,椭球面中心则是该正点电荷。
二.如图2所示,一对相异等量点电荷的电场线起始于正点电荷,终止于负点电荷,电场线密集的地方电场强度大,电场线稀疏的地方电场强度小。
而等势面则是两群同焦点的椭球面,椭球面的同焦点则分别是该等量相异点电荷,并且这两群椭球面关于y轴对称。
4结束语
通过这次试验,使我们对单个正点电荷及一对等量点电荷的电场分布情况有了更深的认识,并进一步学习了Matlab一些基本的函数的用法和一些基本图像的画法。
更使我们领略了Matlab强大的功能和广泛的可适用性。
参考文献:
[1]钞曦旭,杨万民,唐纯青. MATLAB及其在大学物理课程中的应用[M]. 陕西师范大学出版社.2006.
[2]黄永胜.电磁学[M].辽宁大学出版社,2010.
附录
程序一:
r0=0.12;%电力线半径
th=linspace(0,2*pi,13);%每隔2π/12画一条电力线
[x,y]=pol2cart(th,r0);%极坐标化直角坐标
x=[x;0.1*x];
y=[y;0.1*y];
plot(x,y,'b')%用蓝色线x为横坐标,y为纵坐标绘制连线图grid on%在画图的时候添加网格线
hold on%一张图上同时显示多组数据
plot(0,0,'o','Markersize',12)%画点电荷
xlabel('x','fontsize',16)%在x轴上标上x,大小为16
ylabel('y','fontsize',16)%在y轴上标上y,大小为16
k=9e9;%赋值
q=1e-9;
r1=0.1;
u0=k*q/r1;%求最高电势
u=linspace(1,3,7)*u0;%取10u0(10^2)u0…(10^7)u0
x=linspace(-r0,r0,100);
[X,Y]=meshgrid(x);%以x的维数生成网格采样点
r=sqrt(X.^2+Y.^2);%半径函数
U=k*q./r;%电势函数
contour(X,Y,U,u);%画等高线
程序二:
k=9e9;
q1=1e-9;
q2=-1e-9;
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=k*q1./r1+k*q2./r2;
u=linspace(500,-500,11);
contour(X,Y,U,u,'k-');
grid on
hold on
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;
quiver(X,Y,Ex,Ey); %根据梯度画矢量箭头。