基于MATLAB的均匀平面波仿真.docx
《基于MATLAB的均匀平面波仿真.docx》由会员分享,可在线阅读,更多相关《基于MATLAB的均匀平面波仿真.docx(17页珍藏版)》请在冰豆网上搜索。
基于MATLAB的均匀平面波仿真
课程设计说明书
常用软件课程设计
题目:
基于MATLAB的均匀平面波仿真
院(部):
力学与光电物理学院
专业班级:
应用物理
学号:
学生:
指导教师:
2017年7月2日
理工大学课程设计(论文)任务书
力学与光电物理学院基础与应用物理教研室
学号
学生
专业(班级)
应物
题目
基于MATLAB的均匀平面波仿真
设计
技术
参数
1、平面波知识的复习
2、MATLAB程序的编写
3、课程设计说明书的书写
设计
要求
要求完成设计说明书,容包括:
1、设计背景与意义
2、设计原理
3、设计总结
工
作
量
报告页数不少于12页,参考文献不少于六个。
工作
计划
6月19日到6月21日进行可行性研究与软件选择;熟悉MATLAB软件及其运行环境
6月22日到6月24日建立关系表,模块设计
6月25日到6月26日结构设计
6月27-28日程序源代码编写、调试程序并编写Word文档和实现窗口的截图
6月29-30日提交课程设计
参考
资料
[1]康颖等.大学物理[M].:
国防科大,1996
[2]同济大学数学研究室著.高等数学[M].:
高等教育,1993
[3]凯华.新概念物理教程[M].:
高等教育,1994
[4]玉发.电磁场与电磁波[M].:
工业大学,2006
[5]郝培峰,建江,峰.计算机仿真技术[M].:
机械工业,2009
[6]周建兴,岂兴明,矫津毅.MATLAB从入门到精通[M].:
人民邮电,2008
[7]丽芬,云彩霞,郝鹏伟.利用MATLAB图型技术实现电磁波的可视化[J].信息与电脑,2016:
42~43.
指导教师签字
教研室主任签字
2017年6月30日
理工大学课程设计(论文)成绩评定表
学生:
学号:
专业班级:
应用物理
课程设计题目:
基于MATLAB的均匀平面电磁波仿真
指导教师评语:
成绩:
指导教师:
2017年7月6日
摘要
平面波是指场矢量的等相位面与波传播方向相垂直的无限大平面的一种电磁波·12。
如果平面波在均匀一致且各向同性的理想介质中将形成均匀平面波。
均匀平面波是研究电磁波的基础,研究均匀平面波传输特性有十分重要的实际意义。
然而直接观察均匀平面波是很难实现的,所以随着计算机的发展,仿真实验正在不断的发展,仿真软件通过图形化界面联系理论条件与实验过程,同时运用一定的编程达到模拟现实的效果。
于是本文用MATLAB对均匀平面电磁波在理想介质中的传播进行仿真模拟,从而可以更加形象的学习与理解电磁波的知识。
关键词:
电磁波;均匀平面电磁波;理想介质;MATLAB;仿真
1绪论
1.1问题背景
1.1.1MATLAB软件简介
MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。
是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。
它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
1.1.2均匀平面电磁波特点:
1.电场强度E、磁场强度H与传播方向三者之间相互垂直,成右手螺旋关系,传播方向上无电磁分量,和为横电磁波,记为TEM波;
2.电场强度E和磁场强度H处处同相,两者复振幅之比为媒介的阻抗n,成为波阻抗;
3.电场、磁场相位相同,等相位面为平面,等相位面垂直于传播方向;
4.顺着传播方向,场矢量的时变状态逐渐滞后。
1.2课题研究意义
仿真(Simulation)是对现实系统的某一层次抽象属性的模仿。
人们利用不同的模型进行实验,从中得到所需的信息,然后帮助人们对现实世界的某一层次问题做出决策。
建立适当的模型,在模型上进行动态实验和研究,从中获取相关信息,然后用一系列有目的、有条件的计算机仿真实验来反映系统的特征,得出数量指标,为决策者提供有关这一过程或系统的定量分析结果,作为决策理论依据。
仿真实验是利用计算机编制实验进程的行为。
采用仿真技术通过数学建模、设计虚拟仪器、虚拟实验环境观察系统模型各量的变化、过程进展、结果评估的全过程。
在仿真实验设计阶段,利用计算机进行数学仿真和数值计算,即修改、变换模型;在设备研制阶段,用已知实际部件或子系统去代替部分计算机仿真模型进行半实物仿真实验,以提高仿真实验的可信度。
在系统开发的阶段,通过半实物仿真实验来修改各部件或子系统的结构和参数。
对均匀平面电磁波的仿真,可以更加直观的观察电磁波的传播的过程。
由于电磁波比较抽象又不可触摸,同时电磁波又是动态的,每时每刻的位置和状态又在改变。
通过MATLAB来设计对电磁波仿真,可以比较直观的观察电磁波传播的各个时刻的状态。
2均匀平面电磁波
2.1定义与性质
均匀平面波,是指电磁波的场矢量只沿着它的传播方向变化,在与波传播方向垂直的无限大平面,电场强度E和磁感应强度H的方向、振幅和相位都保持不变。
均匀平面波的波速(又称相速)与媒质特性有关。
在自由空间中,波速与光速相等为:
电场和磁场的量值之间有简单的关系:
称为波阻抗或媒质的本质阻抗。
在任意时刻,任意点上的电能密度与磁能密度相等,各占电磁总能量的一半。
对于均匀平面波,电磁能量沿着波的传播方向流动,其流动速度即为波速v。
2.2理想介质中的均匀平面波方程
均匀平面电磁波满足麦克斯韦方程组为:
将
和
代入得,
方程前两个式子都含有E和H,不便于求解。
我们可将这两个方程经过一系列数学变换综合成每个方程只含有一个变换的方程式,对第二个式子取旋度得
(2-5)
将方程第一个式子代入(2-5)得:
(2-6)
上式可变化为
(2-7)
同理,有,
(2-8)
将
带入上两式得,
(2-9)
(2-10)
式(2-9)和(2-10)就是理想介质中的电磁场方程。
也是E和H应
满足的波动方程。
在平面电磁波中,电磁波沿着与等相位平面垂直的方向传播。
假设电磁波沿x轴方向传播,则各场最只是空间坐标x和时间坐标t的函数,所以(2-9)和(2-10)式可化简为
(2-11)
(2-12)
方程涉及矢量问题,给求解带来了麻烦,为得到不含矢量的平面波方程,将方程
在直角坐标系中展开得,
由于电磁波沿x轴传播,则E和H沿y轴和z轴方向没有变化,上式分解后得,
(2-13)
(2-14)
(2-15)
同理,对于方程
则有,
(2-16)
(2-17)
(2-18)
由式(2-13)和(2-16)知,Ex和Hx是与时间无关的常量,可令其值为零。
因此对于均匀平面波,E和H都只有与波的传播方向垂直的分量,这种电磁称为横电磁波。
将(2-15)和(2-17)对x求导并分别将式(2-17)和(2-15)代入,得:
同理,又有:
以上两组方程就是理想介质中的均匀平面波方程。
若取y轴与H方向一致,则只需前一组方程;若取y轴与E方向一致,则只需后一组方程。
2.3平面电磁波的瞬时值形式
假设一个均匀平面电磁波沿x轴传播,电场E方向与z轴平行,由此,来推导平面电磁波的瞬时值形式。
由亥姆霍兹方程:
由于电场方向与z轴平行,可设,
得
其解为
由边界条件决定,
于是,瞬时值形式为:
(2-19)
与电场E相伴的磁场H可由
求得,
其瞬时值形式:
其中
是媒质的本征阻抗。
于是,均匀平面波的瞬时值的表达式的一般形式为:
3MATLAB软件及其基本指令
MATLAB是MATrixLABoratory的缩写,是一款由美国MathWorks公司出品的商业数学软件。
MATLAB是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。
MATLAB作为高性能、交互式的科学计算工具,具有非常友好的图形界面,这使得MATLAB的应用非常广泛;同时MATLAB也提供了强大的绘图功能。
3.1MATLAB发展历史
70年代中期,CleveMoler和他的同事开发了LINPACK和EISPACK的Fortran子程序库;
70年代末期,CleveMoler在新墨西哥大学给学生开线性代数,为学生编写了接口程序,这程序取名为MATLAB,即MATrixLABoratory;
1983年春天,工程师JohnLittle与Moler、SteveBangert一起开发了第二代专业版MATLAB;
1984年,MathWorks公司成立,MATLAB正是推向市场;
1992年,学生版MATLAB推出;1993年,MicrosoftWindows版MATLAB面世;
1995年,推出Linux版。
3.2MATLAB的功能与语言特点
3.2.1MATLAB主要功能
1、基本的数据处理
2、优化和解方程
3、动态过程仿真:
实时的和非实时的
4、数据来源:
Excel、数据库、A/D等等
5、嵌入式的控制:
Pc/104和DSP
6、神经元网络、小波分析、GA等等
7、虚拟现实仿真
3.2.2MATLAB语言特点
MATLAB语言是一种交互性的数学脚本语言,其语法与C/C++类似。
它支持包括逻辑(boolen)、数值(numeric)、文本(text)、函数柄(functionhandle)和异质数据容器(heterogeneouscontainer)在的15种数据类型,每一种类型都定义为矩阵或阵列的形式(0维至任意高维)
执行MATLAB代码的最简单方式是在MATLAB程序的命令窗口(CommandWindow)的提示符处(>>)输入代码,MATLAB会即时返回操作结果(如果有的话)。
此时,MATLAB可以看作是一个交互式的数学终端,简单来说,一个功能强大的“计算器”。
MATLAB代码同样可以保存在一个以.m为后缀名的文本文件中,然后在命令窗口或其它函数中直接调用。
MATLAB语言具有下述显着特点:
1、具有强大的矩阵运算能力:
MatrixLaboratory(矩阵实验室),使得矩阵运算非常简单。
2、是一种演算式语言
3、MATLAB的基本数据单元是既不需要指定维数,也不需要说明数据类型的矩阵(向量和标量为矩阵的特例),而且数学表达式和运算规则与通常的习惯相同。
4、MATLAB语言编程简单,使用方便。
3.3MATLAB指令
3.3.1基本指令
1、clc :
擦去一页命令窗口光标回屏幕左上角
2、clear :
从工作空间清除所有变量
3、Plot(plot3):
绘制二(三)维图形
Plot函数可以接一些参数,来改变所画图像的属性(颜色,图像元素等)。
下面是一些属性的说明
bblue(蓝色). point(点) - solid(实线)
ggreen(绿色) o circle(圆圈) :
dotted(点线)
rred(红色)xx-mark(叉号) -. dashdot(点画线)
ccyan(墨绿色) + plus(加号) -- dashed(虚线)
mmagenta(紫红色)* star(星号)
yyellow(黄色) s square(正方形)
kblack(黑色) d diamond(菱形)
3.3.2程序可能用到的的指令
gridon在画图的时候添加网格线。
holdon在当前图的轴(坐标系)中画了一幅图,再画另一幅图时,原来的图还在,与新图共存,都看得到
axis([xminxmaxyminymax])用来设置axes的样式,包括坐标轴围,可读比例
zeros(size(x))生成与X相同大小的全零矩阵
stem(stem3)绘制二维(三维)函数针状图
pause(t)暂停t秒后继续执行程序
4程序设计与运行
4.1设计思路与框图
图4-1程序设计框图
4.2程序编写
打开MATLAB界面如图4-2,新建脚本
图4-2MATLAB打开界面
首先,对瞬时值表达式中的常量进行定义并赋值,代码如下:
u0=4*pi*1e-7;%自由空间中的磁导率
e0=1e-9/(36*pi);%自由空间中的电介质常数
Z0=(u0/e0)^0.5;%自由空间中的波阻抗
f=1e8;%电磁波的频率
w=2*pi*f;
k=w*(u0*e0)^0.5;%波数
phi_E=0;%初始相位设为0
phi_H=0;
EE=20;%电场振幅
HH=EE/Z0;%磁场振幅
代码界面如图4-3
图4-3常量赋值界面
利用电磁波瞬时值表达式画出电磁波图,并且写一个循环,使电磁波传播能狗像动画一样动起来。
代码如下:
fort=0:
1:
300
Ez=EE*cos(k*x-w*t*1e-9+phi_E);
Hy=HH*cos(k*x-w*t*1e-9+phi_H);
plot3(x,m0,Ez,'b','LineWidth',2);
holdon;gridon;
plot3(x,Hy,m0,'r','LineWidth',2);
holdoff
xlabel('传播方向')
ylabel('磁场Hy')
zlabel('电场Ez')
title(['平面电磁波传播示意图','t=',num2str(t),'ns'],'fontsize',14)
drawnow
pause(0.01)
end
代码截图界面如图4-4.
4-4完整代码
4.3运行结果
运行结果如下图
4-2程序运行结果
如图,蓝色的是电场传播的波,红色的是磁场传播的波。
由图可得的结论有:
1、电场和磁场在空间相互垂直与传播方向,E、H、x轴满足右手螺旋关系(TEM波)。
2、电场、磁场相位变化相同
3、电场、磁场的振幅不随传播距离增加而改变
5项目总结
这次课程设计是对我们学习常用软件课程结果的一次大检验。
通过这次基于MATLAB的均匀平面波仿真课程设计让我们更熟悉地掌握该软件的功能,灵活运用MATLAB软件,加强对MATLAB软件强大的图形处理功能,掌握利用MATLAB绘图功能做出相关函数曲线,从而运用MATLAB分析。
在熟悉掌握编写MATLAB程序和操作的同时培养了我们的独立思考能力,钻研精神,解决问题能力和动手能力。
本次课程设计过查阅资料,阅读程序并读写程序对MATLAB均匀平面电磁波的仿真有了更深的了解。
我同时也认识到了MATLAB功能并不只是图形的绘制及波形的处理,有着很多方面的运用,如绘制函数,处理音频、图像数据,创建用户界面等功能,实为一个功能强大的软件。
每一次课给我一种新的体验与感受,这次课程设计一样,平时都是啃课本,很单调很乏味,但是,这次课设给了我们动手和自主学习的机会,当然,在这过程中不免会遇到困难,当时也会很困惑、沮丧,但问题总要解决的,所以自己还是会去想办法,我想这也是一种收获。
还有,经过了课程设计,我也深刻体会到MATLAB功能的强大以及学好MATLAB的重要性,在今后的学习生活中,我会继续学习使用它。
6参考文献
[1]康颖等.大学物理[M].:
国防科大,1996
[2]同济大学数学研究室著.高等数学[M].:
高等教育,1993
[3]凯华.新概念物理教程[M].:
高等教育,1994
[4]玉发.电磁场与电磁波[M].:
工业大学,2006
[5]郝培峰,建江,峰.计算机仿真技术[M].:
机械工业,2009
[6]周建兴,岂兴明,矫津毅.MATLAB从入门到精通[M].:
人民邮电,2008
[7]丽芬,云彩霞,郝鹏伟.利用MATLAB图型技术实现电磁波的可视化[J].信息与电脑,2016:
42~43.
M文件:
clear;clc
u0=4*pi*1e-7;%自由空间中的磁导率
e0=1e-9/(36*pi);%自由空间中的电介质常数
Z0=(u0/e0)^0.5;%自由空间中的波阻抗
f=1e8;%电磁波的频率
w=2*pi*f;
k=w*(u0*e0)^0.5;%波数
phi_E=0;%初始相位设为0
phi_H=0;
EE=20;%电场振幅
HH=EE/Z0;%磁场振幅
x=0:
0.1:
20;
m0=zeros(size(x));
figure
fort=0:
1:
300
Ez=EE*cos(k*x-w*t*1e-9+phi_E);
Hy=HH*cos(k*x-w*t*1e-9+phi_H);
plot3(x,m0,Ez,'b','LineWidth',2);
holdon;gridon;
plot3(x,Hy,m0,'r','LineWidth',2);
holdoff
xlabel('传播方向')
ylabel('磁场Hy')
zlabel('电场Ez')
title(['平面电磁波传播示意图','t=',num2str(t),'ns'],'fontsize',14)
drawnow
pause(0.01)
end