Matlab 在电磁场中的应用 (2).

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Matlab 在电磁场中的

应用

专业: 电气信息与自动化

班级:2012级自动化3班

学号:12012242065

学院:物电学院

指导老师:李虹

完成日期:2013年12月15日

Matlab 在电磁场中的应用

摘要

Matlab是美国Mathworks公司于80年代推出的大型数学软件,通过多年的升级换代,现在已发展成为集数值计算、符号计算、可视化功能以及诸多的工具箱为一体的大型科学计算软件,它已广泛应用于科研院所、工程技术等各个部门,并成为大学生、研究生必备的工具软件。

电磁学是物理学的一个分支,是研究电场和电磁的相互作用现象。电磁学从原来互相独立的两门科学(电学、磁学)发展成为物理学中一个完整的分支学科,主要是基于电流的磁效应和变化的磁场的电效应的发现。这两个实验现象,加上麦克斯韦关于变化电场产生磁场的假设,奠定了电磁学的整个理论体系,发展了对现代文明起重大影响的电工和电子技术。

针对电磁场学习理论性强、概念抽象等特点,利用Matlab强大的数值计算和图形技术,通过具体实例进行仿真,绘制相应的图形,使其形象化,便于对其的理解和掌握。将Matlab引入电磁学中,利用其可视化功能对电磁学实验现象进行计算机模拟,可以提高学习效率于学习积极性,使学习效果明显。

本文通过Matlab软件工具,对点电荷电场、线电荷产生的电位、平面上N 个电荷之间的库仑引力、仿真电荷在变化磁场中的运动等问题分别给出了直观形象的的仿真图,形实现了可视化学习,丰富了学习内容,提高了对电磁场理论知识的兴趣。

关键词:Matlab 电磁学仿真计算机模拟

一、点电荷电场

问题描述:

真空中,两个带正电的点电荷,在电量相同和电量不同情况下的电场分布。根据电学知识,若电荷在空间激发的电势分布为V,则电场强度等于电势梯度的

负值,即:

根据题意,真空中若以无穷远为电势零点,则在两个点电荷的电场中,空间的电势分布为:

程序实现:

clear all

ep0=8.85*1e-12;

c0=1/(4*pi*ep0);

e=1.60e-10;

h=0.018;

x=-0.5:h:0.5;

y=-0.5:h:0.5;

[X,Y]=meshgrid(x,y);

q=[e;1.9*e];

for i=1:2

V=c0*e./sqrt((X+0.2).^2+Y .^2)+c0.*q(i)./sqrt((X-0.2).^2+Y .^2);

[Ex,Ey]=gradient(-V ,h);

figure(i)

contour(X(:,:,1),Y(:,:,1),V ,...

[20,-20,19,-19,18,-18,17,-17,...

16,-16,15,-15,14,-14,13,-13,...

12,-12,11,-11,10,-10]);

axis([-0.38,0.38,-0.28,0.28])

hold on

phi=0:pi/17:2*pi;

sx1=0.2+0.01*cos(phi);

sy1=0.01*sin(phi);

streamline(X(:,:,1),Y(:,:,1),Ex,Ey,sx1,sy1);

hold on

sx2=-0.2+0.01*cos(phi);

sy2=0.01*sin(phi);

streamline(X(:,:,1),Y(:,:,1),Ex,Ey,sx2,sy2);

title(str{i})

text(-0.212,0,'+','fontsize',20);

text(0.187,0,'+','fontsize',20);

end

E V =-∇1212010244q q V V V r r πεπε=+=+

图1-1 两个同号等量电荷的电场分布 图1-2 两个同号不等量电荷的电场分布

二、线电荷产生的电位

设电荷均匀分布在从z=-L 到z=L,通过原点的线段上,其密度为q(单位C/m),求在xy 平面上的电位分布。

点电荷产生的电位可表示为 0/4V Q r πε= 是一个标量。其中r 为电荷到测量点的距离。线电荷所产生的电位可用积分或叠加的方法来求。为此把线电荷分为N 段,每段长为dL 。每段上电荷为q*dL,看作集中在中点的点电荷,它产生的电位为0

4qdL dV r πε=然后对全部电荷求和即可。 把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=8.85e-12;

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

Rk=sqrt(Lm.^2+R(k)^2);

Vk=C0*dL*q./Rk;

V(k)=sum(Vk);

end

[max(V),min(V)]

plot(R,V),grad

输入:

线电荷长度L=:5

分段数N=:50

分段数Nr=:50

电荷密度q=:1

可得最大值和最小值为:

ans =

1.0e+010 *[9.3199 0.8654]

图(2-1)线电荷产生的静电位分布图

三、平面上N个电荷之间的库仑引力

建模:

由库仑定律:

相关文档
最新文档