1、Matlab 在电磁场与电磁波学习中的应用裴逸菲(燕京理工学院 信息科学与技术学院,河北 廊坊 065201)摘要:针对电磁场与电磁波在大学课程中的理论性强、概念抽象的特点,在学习中引入 matlab软件,利用 matlab的仿真技术对电磁场的传输与极化进行仿真,对于具体实例给出了仿真结果,绘制了几种电磁波的传播图形和电磁波的极化图形,有助于在学习中对电磁场和电磁波传输和极化的基本规律的掌握。关键字:电磁场;Matlab; 仿真Application of Matlab in Electromagnetic field and Wave Propagation StudyingPei Yi-f
2、ei (School of Information Science and Technology , Yanching Institute of Technology , Langfang 065201,China)Abstract: According to charatheristics of theory of strong and abstract concept in electromagnetic field and wave studying of college, Matlab software was introduced to simulate the apatial di
3、stribution of time-varying electromagnetic fields in studying. using Matlab simulation technology for the electromagnetic field of simulation and polarization for simulation . For concrete example is given the result of simulation and draw several electromagnetic waves of polarization transmission a
4、nd graphics.Key word: Electromagnetic field; matlab; simulation.0 引言电磁场与电磁波课程是信息工程类专业的必修的专业基础课程,具有一定的抽象性。随着计算机仿真软件的发展,Matlab 凭借其强大的仿真功能,为电磁场与电磁波的学习提供了仿真条件通过 Matlab 的仿真,将抽象的概念可视化,帮助同学们在学习过程中对电磁波在传输和极化过程的理解。本文通过对电磁场在传输和极化过程中的几种情况的波形仿真,以帮助我们在学习过程中更好的理解。1 Matlab 在仿真电磁波传播过程中的应用根据电磁波波阵面(等相位面)的形状的不同,可以把电磁波
5、分为平面电磁波、柱面电磁波和球面电磁波等几种类型,本文针对以上几种电磁波通过 Matlab 进行了仿真。1.1 电磁波的概念电磁波是由同相振荡且互相垂直的电场与磁场在空间中以波的形式移动,其传播方向垂直于电场与磁场构成的平面,有效的传递能量和动量。电磁波是电磁场的一种运动形态。电与磁可说是一体两面,变化的电场会产生磁场(即电流会产生磁场) ,变化的磁场则会产生电场。变化的电场和变化的磁场构成了一个不可分离的统一的场,这就是电磁场,而变化的电磁场在空间的传播形成了电磁波。1.2 电磁波的传输及程序分析电磁波是自然界许多波动现象的一种,它具有波动的一般规律,因而研究电磁波的传输不但能在学习过程中直
6、观的体验电磁波的传输过程,对其他波动的研究起到了一定帮助作用。下文将对均匀平面电磁波传输状态进行可视化,及程序分析。1.2.1 电磁波的传输对于线性、各项同性和均匀媒介,在无源区麦克斯韦方程可得到一个波动方程,在实数区域这个方程可以写为:2122=0=1在物理学中,上述方程为标准的波动方程,这说明电磁场可以以波动的形式存在,根据电磁波波阵面的形状不同,可以将电磁波分为平面电磁波、柱面电磁波和球面电磁波。本文以平面电磁波为例,简单阐述利用 Matlab 仿真电磁波的传输。设电磁波沿 z 轴方向传播,在 z 轴垂直的平面上,起电场强度各店具有相同的振幅和振动方向,及 E 和 H 只与 z 有关,与
7、 x 和 y 无关。这种情况下亥姆霍兹方程可简化为一个二阶常微分方程:2( )2 +2=0其复数形式为:( ) =+0+0( ) =0其瞬时值为:( ,) =+0()+0(+)( ,) =0()图一:平面电磁波传输1.2.2 电磁波传输的程序分析在 matlab 编程过程中,调用 meshgrid 函数绘制网格,通过 surfc(x,y,z)函数绘制平面波传输过程的三维状态,通过 axis 决定轴的刻度表现。xlabel、ylabel、zlabel 分别为 X、Y、Z 轴标注名称,具体程序如下,图形如图一所示。a=get(handles.edit1,String);b=get(handles.
8、edit2,String);c=get(handles.edit3,String);A=str2double(a);w=str2double(b);P=str2double(c);x,y=meshgrid(0:0.1:4);t=x.*zeros(size(x);z=t.*t+A*cos(w*y+P);surfc(x,y,z) ;axis(0 4 0 4 -4 4);xlabel (x);ylabel(y轴 );zlabel(Ey);2 Matlab 在仿真电磁场极化过程中的应用2.1 电磁波的极化电磁波的电场矢量 E 的振动保持在某一固定方向或按照某一规律旋转的现象称为电磁波的极化,电磁波的极
9、化是通过在固定点观察电磁波的电场矢量端点在一个时间周期里描绘的轨迹来进行描述的。2.2 极化电磁波的仿真及程序分析通过观察电场矢量端点描绘出的轨迹,可以把极化电磁波分为线极化波、圆极化波、椭圆极化波。在一般情况下,均匀平面电磁波电场矢量端点描绘出的轨迹是一个椭圆。而线极化波、圆极化波属于椭圆极化波的特例,本文便以椭圆极化波和圆极化波为例,阐述 matlab 在仿真电磁波极化中的应用。2.2.1 电磁波的极化假设电磁波沿+z 轴传播,则电场的时域表达式为: ( ,) =1cos()+2()在最简单的位置 z=0 处观察,上式可表示为: ( 0,) =1cos()+2()理论上而言:当 且 时,电
10、场矢量端点描绘的轨迹方程是一个圆方程,及极1=2=0 =/2化电磁波为圆极化波。当 不发生 且 ,电场矢量端点描绘的轨0, ; 1=2=0 =/2迹方程是一个椭圆方程,及极化电磁波为椭圆极化波。图二:圆极化波图三:椭圆极化波2.2.2 圆极化波和椭圆极化波的仿真程序分析在 matlab 编程过程中,调用 linspace利用线性等分向量生成空间向量,通过 plot 函数绘图。 Xlabel、ylabel、zlabel 分别为 X、Y、Z 轴标注名称,具体程序如下。圆极化波图形如图二所示。椭圆极化波图形如图三所示。a=get(handles.edit4,String);b=get(handles
11、.edit5,String);c=get(handles.edit6,String);A=str2double(a);w=str2double(b);P=str2double(c);w=1.5*pi*10e+8;z=0:0.05:20;k=120*pi;for t=linspace(0,1*pi*10e-8,200)e1=sqrt(A*A)*cos(w*t-P*z); e2=sqrt(A*A)*sin(w*t-P*z); h1=sqrt(A*A)/k*cos(w*t-P*z); h2=-sqrt(A*A)/k*sin(w*t-P*z);subplot(2,1,1)plot3(e1,e2,z);
12、xlabel(x);ylabel(y);zlabel(z);title(电场强度矢量);grid onsubplot(2,1,2)plot3(h2,h1,z);xlabel(x);ylabel(y);zlabel(z);title(电场强度矢量);grid onpause(0.2);3 结语利用 matlab 强大的仿真功能,对于抽象不可见的模型进行了仿真处理,较好的解决了电磁场与电磁波学科抽象、难理解的问题,帮助我们直观的形象的理解问题。通过举例 matlab 对电磁波的传输及极化图形形象的绘制,佐证了 matlab 的在学习过程中的作用,弥补了实验设备不足造成的实验空白,有助于我们的学习。参考文献:1王明军,李应乐,唐静.MATLAB 在电磁场与电磁波课程教学中的应用J.咸阳师范学院学报.2009,24(2)2曹祥玉,高军,曾越胜,杨芳.电磁场与电磁波M.西安:西安电子科技大学出版社,2007.3梁振光.MATLAB 在“电磁场”教学中的应用J。电气电子教学学报,2004,26(3):105-108.