PAGE
PAGE 1
《MATLAB语言》课程论文
基于MATLAB在电磁场中的应用
姓名:
学号:12010245257
专业:电子信息工程
班级:10级电子班
指导老师:
学院:物理电气信息学院
完成日期:2011年12月22号
基于MATLAB在电磁场中的应用
( 12010245257 2010级电子班)
【摘要】大学物理电磁学中涉及许多复杂的问题,例如仿真电荷在变化磁场中的运动、模拟带电粒子在磁场中的运动等问题,针对电磁场学习理论性强,概念抽象等特点,matlab是处理这些问题的很好的工具,通过具体实例进行仿真、绘制相应的图形,使其形象化,便于对其理解和掌握。将Matlab引入电磁学中利用其可视化功能对电磁学实验现象进行计算机模拟,可以提高学习效率,形成可视化学习,丰富了学习内容,提高了对电磁场理论知识的兴趣。
[关键词]: MATLAB语言 电磁学 仿真 计算机模拟 图形绘制
一、问题的提出
MATLAB语言是当今国际上科学界(尤其是自动控制领域)最具影响力、也是最有活力的软件。它提供了强大的科学运算、灵活的程序设计流程、高质量的图形可视化与界面设计、便捷的与其他程序和语言接口的功能。MATLAB语言在各国高校与研究单位起着重大的作用。它是一种集数值计算、符号运算、可视化建模、仿真和图形处理等多种功能。现在怎样通过Matlab软件工具,来解决点电荷电场、线电荷产生的电位、平面上N个电荷之间的库仑力、仿真电荷在变化磁场中的运动和模拟带电粒子在电磁场中的运动等问题?
二、点电荷电场的问题
问题描述:
真空中,两个带正电的点电荷,在电量相同和电量不同情况下的电场分布。根据电学知识,若电荷在空间激发的电势分布为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( figure(i))
text(-0.212,0,'+','fontsize',20);
text(0.187,0,'+','fontsize',20);
end
运行结果如下。
图1 两个同号等量电荷的电场分布
图2 两个同号不等量电荷的电场分布
三、线电荷产生的电位
设电荷均匀分布在从z=-1到z=1,通过远点的线段上,起密度为q(单位C/m),求在xy平面上的电位分布。
点电荷产生的电位可表示为V=Q/4πrε是一个标量。其中r为电荷到测量点的距离。线电荷所产生的电位可用积分或叠加的方法来求。为此把线电荷分为N段,每段长为dl.每段上的电荷为q*dl,看作集中在中点的点电荷,它产生的电位为dv=qdl/4πrε然后对全部电荷求和即可。
把xy平面分成网络,因为xy平面上的电位仅取决于离原点的垂直距离R,所以可以省略一维,只取R为自变量,把R从0到10米分成Nr+1点,对每一点计算其电位。
Matlab程序
>>