- 相关推荐
(论文)matlab在电磁场中的应用
Matlab在电场中的应用
[摘要]Matlab是一种用于算法开发,数据可视化,数值分析及数值图形生成的高级工具语言,它主要被应用于信号和图像处理,通讯,控制系统设计,测试和测量等广泛领域。基于MATLAB强大的绘图和仿真功能,对物理学中电磁学中的等量同号点电荷的电场线的绘制和带电粒子在均匀电磁场中的运动等问题进行仿真, 来简便、直观、高效分析物理问题。在本文中,用Matlab的功能使静电场里的某些模型(电场强度电势、电场线、等势线、等势面)可视化,方便了我们对有关静电场的知识的学习,提高了我们对知识的理解和运用能力,本文主要是从图像处理功能方面介绍了Matlab语言在静电场一些问题中的应用。
【关键字】:
一、引言
静电场中的电场线,等势线,等势面等图形是一种抽象的模型,在现实世界不具可视化的空间场的物体。所以,形象的模拟出以上问题的图形,对于更进一步学习与研究电场知识有很大的意义。静电场的问题学习与理解起来具有一定的特殊性:它既有理论数值的计算,又有图形图像的辅助处理与理解。例如:形象的模拟出电场线,等势线,等势面,这能在教学中解决教师的授课难题,又能解决学生的理解上的困难。近年来,一直有人在不断的探索这方面的问题,并且取得一定的成绩。但还存在一定的缺陷,而Matlab恰好解决了这些问题!这使得这些抽象问题能有一门精确的工具软件来处理完成。这正是Matlab在图像方面问题处理的应用。
二、Matlab在电场中的应用
(1)等量点电荷的电场线的绘制
根据库仑定律:在真空中,两个静止的点电荷之间的作用力与这两个电荷的电量乘积成正比,与它们之间距离的平方成反比,作用力的方向在两个电荷的连线上,两电荷同号维斥力,异号为吸力,他们之间的力F满足:
QQ F?k1
22 (1) R
由电场强度E的定义可知:
E?kQ (2) R2
建立电场线的微分方程(二维情况)。 因为电场中任一点的电场方向都沿该点电场线的切线方向,所以满足:
dyEy? (3) dxEx
引入参变量t得到: dydx??dt (4) ExEy
设二点电荷位于(-2,0)和(2,0),二点电荷“电量”为q1和q2(均等于10), 由库伦定律和电场的叠加原理,得出下列微分方程: x?dx?Ex?q1?x?2?
3?q2?x?2?3 (5) dt??x?2?2?y222??????x?2?2?y2??
y?dyq1ydt?Ey?3?q2y3 (6)
??x2??2?2?y2????x?2?2?y22???
解此方程就可以绘制出电场线。
clc
clear
q=0.5;
xm=2.5;
ym=2;
x=linspace(-xm,xm); %横坐标向量
y=linspace(-ym,ym); %纵坐标向量
[X,Y]=meshgrid(x,y);%产生自变量网络坐标
R1=sqrt((X+1).^2+Y.^2); %第一个正电荷到场点的距离
R2=sqrt((X-1).^2+Y.^2); %第二个正电荷到场点的距离
U=1./R1+q./R2; %计算电势
u=1:0.5:4; %等势线的电场向量
figure
contour(X,Y,U,u) %画等势线
grid on %有网格
hold o
大学网 n %设置图形保持状态plot([-xm;xm],[0;0]) %画水平线
plot([0;0],[-ym;ym]) %画竖直线
plot(-1,0,'o','MarkerSize',12)
plot(1,0,'o','MarkerSize',12)
[Ex,Ey]=gradient(-U,x(2)-x(1),y(2)-y(1)); %用等势梯度求场强的两个分量
dth1=20;
th1=(dth1:dth1:180-dth1)*pi/180; %电场线的起始角度
r0=0.1;
x1=r0*cos(th1)-1; %电场线的起点横坐标
y1=r0*sin(th1); %电场线的起点纵坐标
streamline(X,Y,Ex,Ey,x1,y1) %画左上电场线
streamline(X,-Y,Ex,-Ey,x1,-y1)%画左下电场线
dth2=dth1/q;%右边电场线角度间隔
th2=(180-dth2:-dth2:dth2)*pi/180;
x2=r0*cos(th2)+1; %电场线的起点横坐标
y2=r0*sin(th2); %电场线的起点纵坐标
streamline(X,Y,Ex,Ey,x2,y2) %画右下电场线
streamline(X,-Y,Ex,-Ey,x2,-y2) %画右下电场线
axis equal tight %纵横坐标轴采用等长刻度
title %题目
xlabel('x','fontsize',16) %X轴说明
ylabel('y','fontsize',16) %Y轴说明
txt=['电荷比:\itQ\rm_2/\itQ\rm_1='num2str(q)];
text(-xm,-ym+0.5,txt,'fontsize',16)
(2)、线电荷产生的电位:
设电荷均匀分布在从z=-L到z=L,通过原点的线段上,其密度为q(单位C/m),求在xy平面上的电位分布。
点电荷产生的电位可表示为 V?Q 是一个标量。其中r为电荷到测量点的距离。线电4?R?0
荷所产生的电位可用积分或叠加的方法来求。为此把线电荷分为N段,每段长为dL。每段上电荷为q*dL,看作集中在中点的点电荷,它产生的电位为 dV?qdL然后对全部电荷求和即可。 4?R?0
把xy平面分成网格,因为xy平面上的电位仅取决于离原点的垂直距离R,所以可以省略一维,只取R为自变量。把R从0到10米分成Nr+1点,对每一点计算其电位。
clc
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),grid
(3)、计算平面上N个电荷之间的库伦引力 由库仑定律:F?q1q2 24??0r
Fx?q1q2?x2?x1? 4??0r3
q1q2?y2?y1? 34??0rFy?
r??x2?x1?2?y2?y12
先输入电荷的数目,各电荷的坐标及电荷量,再选一个电荷,求其它电荷对它的作用力,叠加求合力。再选下一个电荷,依次类推。
clc
clear all;
disp('计算平面上n个点电荷之间的库仑力的有关程序')
n=input('输入电荷数目n=');
for ic = 1:n %输入给定条件
fprintf('对电荷q%g\n',ic);%自动命名电荷q1,q2,?qn,分行显示
rc = input('输入电荷位置[x,y](米):');
x(ic) = rc(1); %电荷ic的x坐标
y(ic) = rc(2); %电荷ic的y坐标
q(ic) = input('输入电荷量(库仑):');
end
E0 = 8.85e-12; %真空中的介电常数
C0 = 1/(4*pi*E0); %合并常数
for ic = 1:n %循环计每个电荷所受的力
Fx = 0.0;Fy = 0.0;
for jc = 1:n
if(ic ~= jc)
xij = x(ic)-x(jc);yij = y(ic)-y(jc);
Rij = sqrt(xij^2+yij^2);
Fx = Fx+C0*q(ic)*q(jc)*xij/Rij^3;
Fy = Fy+C0*q(ic)*q(jc)*yij/Rij^3;
F=sqrt(Fx^2+Fy^2);
end
end
fprintf('其它电荷作用在电荷q%g上的合力与分力分别为:\n',ic);
fprintf('F=%gN\n',F);
fprintf('Fx=%gN\n',Fx);
fprintf('Fy=%gN\n',Fy);
end
三、结论
从全文可以了解Matlab是一种有着强大的图像绘制功能的可视化软件。是一个为科学,教育,和工程数值计算等多方面设计的高级语言。它的特点是程序设计过程简单,这使我们将我们将主要的,最难的工作还是放在工程问题上,这正是体现了它的优越性。图像处理仅仅是Matlab功能一个方面的体现,他还有更强大的功能值得我们去学习与应用。
通过Matlab在静电场中的实际运用,可以看出利用Matlab解决静电场问题有以下优点:
(1) 介入Matlab,使得静电场中抽象的问题清晰与明朗化。这在教学与研究当中是问题变得简单。相比以往,学生更能形象的理解静电场这方面的知识,将这一方法与工具应用到中学教学中可以更好的帮助学生学好电学知识。
(2) 通过这一问题的处理。由当初的学习电场到现在更深一步的探讨,使得我对电场方面的知识有了更进一步的学习与理解。Matlab还有很多方面的应用,我们要继续深入的学习Matlab来处理更多,更为复杂的问题。
参考文献:
[1] 朱汉敏.MATLAB在静电场教学中的优越性[M].中国期刊网,2005年第3期.
[2] 刘卫国.MATLAB程序设计与应用[M].北京:高等教育出版社,2006.
[3] 马文蔚.物理学中册(第四版)[M].北京:高等教育出版社,1999.
[4] 陈锺贤.计算物理学[M].哈尔滨:哈尔滨工业大学出版社,2001.
[5] 张智星.MATLAB程序设计与应用[M].北京:清华大学出版社, 2002.
【(论文)matlab在电磁场中的应用】相关文章:
Matlab在遥感图像杂散光处理中的应用04-30
基于MATLAB的DCT变换在JPEG图像压缩中的应用04-27
MATLAB回归分析在测绘数据处理中应用04-28
基于Matlab的数据处理方法在GPS高程拟合中的应用05-01