1/231/23《电磁场与电磁波》仿真实验2016年11月2/232/23《电磁场与电磁波》仿真实验介绍《电磁场与电磁波》课程属于电子信息工程专业基础课之一,仿真实验主要目的在于使学生更加深刻的理解电磁场理论的基本数学分析过程,通过仿真环节将课程中所学习到的理论加以应用。受目前实验室设备条件的限制,目前主要利用MATLAB仿真软件进行,通过仿真将理论分析与实际编程仿真相结合,以理论指导实践,提高学生的分析问题、解决问题等能力以及通过有目的的选择完成实验或示教项目,使学生进一步巩固理论基本知识,建立电磁场与电磁波理论完整的概念。本课程仿真实验包含五个内容:一、电磁场仿真软件——Matlab的使用入门二、单电荷的场分布三、点电荷电场线的图像四、线电荷产生的电位五、有限差分法处理电磁场问题3/233/23目录一、电磁场仿真软件——Matlab的使用入门……………................................................4二、单电荷的场分布………………………………………………………………………………………………10三、点电荷电场线的图像………………………………………………………………………………………12四、线电荷产生的电位……………………………………………………………………………….…………14五、有限差分法处理电磁场问题……………………………………………………………………………174/234/23实验一电磁场仿真软件——Matlab的使用入门一、实验目的1.掌握Matlab仿真的基本流程与步骤;2.掌握Matlab中帮助命令的使用。二、实验原理(一)MATLAB运算1.算术运算(1).基本算术运算MATLAB的基本算术运算有:+(加)、-(减)、*(乘)、/(右除)、\(左除)、^(乘方)。注意,运算是在矩阵意义下进行的,单个数据的算术运算只是一种特例。(2).点运算在MATLAB中,有一种特殊的运算,因为其运算符是在有关算术运算符前面加点,所以叫点运算。点运算符有.*、./、.\和.^。两矩阵进行点运算是指它们的对应元素进行相关运算,要求两矩阵的维参数相同。例1:用简短命令计算并绘制在0≤x≦6范围内的sin(2x)、sinx2、sin2x。程序:x=linspace(0,6)y1=sin(2*x),y2=sin(x.^2),y3=(sin(x)).^2;plot(x,y1,x,y2,x,y3)(二)几个绘图命令1.doc命令:显示在线帮助主题调用格式:doc函数名例如:docplot,则调用在线帮助,显示plot函数的使用方法。2.plot函数:用来绘制线形图形plot(y),当y是实向量时,以该向量元素的下标为横坐标,元素值为纵坐标画出一条连续曲线,这实际上是绘制折线图。plot(x,y),其中x和y为长度相同的向量,分别用于存储x坐标和y坐标数据。plot(x,y,s)5/235/23contour函数:用来绘制等高线图形ezplot函数:对于显式函数f=f(x),在默认范围[-2πx2π]上绘制函数f(x)的图形;对于隐式函数f=f(x,y),在默认的平面区域[-2πx2π,-2πy2π]上绘制函数f(x,y)的图形。3.具有两个纵坐标标度的图形在MATLAB中,如果需要绘制出具有不同纵坐标标度的两个图形,可以使用plotyy绘图函数。调用格式为:plotyy(x1,y1,x2,y2)其中x1,y1对应一条曲线,x2,y2对应另一条曲线。横坐标的标度相同,纵坐标有两个,左纵坐标用于x1,y1数据对,右纵坐标用于x2,y2数据对。4.三维曲线plot3函数与plot函数用法十分相似,其调用格式为:plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,…,xn,yn,zn,选项n)其中每一组x,y,z组成一组曲线的坐标参数,选项的定义和plot函数相同。当x,y,z是同维向量时,则x,y,z对应元素构成一条三维曲线。当x,y,z是同维矩阵时,则以x,y,z对应列元素绘制三维曲线,曲线条数等于矩阵列数。5.legend命令:为绘制的图形加上图例调用格式:legend('string1','string2',...)例如:legend('电信161班','学号:05401111','张三','Location','best');6.xlabel命令:给X轴加标题调用格式:xlabel('string')例如:xlabel('x');三、实验内容1.在命令窗口中运行一个加法程序;2.在命令窗口中练习帮助命令(doc命令)的使用。3.建立第一个M文件,并运行,观察并保存运行结果。四、实验步骤1.在命令窗口中运行一个加法程序(1)点击桌面上matlab7.0快捷方式图标,如图1.1所示,启动该软件。6/236/23图1.1matlab7.0快捷方式图标(2)在打开的界面右方,是命令窗口(CommandWindows),如图1.2所示,在闪动光标处可以写入命令;图1.2Matlab的命令窗口(3)在光标处写入如图1.3所示的命令(注意:前两个语句后面有分号,最后一个语句没有分号);按回车键,则得到运行结果为50,如图1.4所示。图1.3在命令窗口输入命令7/237/23图1.4按回车键执行命令得到正确运行结果2.在命令窗口中练习帮助命令(doc命令)的使用。在命令窗口光标处输入命令:docplot;回车,则进入在线帮助文件,显示plot命令的使用方法页面,如图1.5所示。图1.5plot命令的在线帮助页面3.建立第一个M文件,并运行,观察并保存运行结果。(1)点击图标,如图1.6中红色圆圈所示,即创建了一个新的M文件,如图1.7所示。8/238/23图1.6红色圆圈的图标用于创建新的M文件图1.7创建的空白M文件(2)在空白M文件中输入“二、实验原理”例子的程序,保存,运行,得到运行结果如图1.8所示。要求:在E盘建立新文件夹,命名为Fiele_Wave_simulation_2012_10_27;将M文件保存在Fiele_Wave_simulation_2012_10_27目录下,命名为Exp_1.m;特别说明两点:a.M文件名及保存的路径名均应为英文,否则运行出错;b.程序中的所有字符均应为英文状态下输入,特别注意单引号,逗号,空格,这些细节会导致运行报错,又极难发现。9/239/23图1.8M文件的保存、运行按键及运行结果五、实验工具1.计算机1台2.MATLAB仿真软件1套六、实验报告要求1.写出仿真程序源代码。2.在同一窗口用不同的线性绘制y=sinx,y=cosx在[0,2*pi]上的图像,并加标注。3.在同一窗口用不同的线性绘制y=sin2x,y=cos2x在[-2*pi,2*pi]上的图像,并加标注。(要在图中绘制出姓名与学号)10/2310/23实验二单电荷的场分布一、实验目的1.掌握MATLAB仿真的基本流程与步骤;2.学会绘制单电荷的等位线和电力线分布图。二、实验原理1.基本原理单电荷的外部电位计算公式:04qφπεr等位线就是连接距离电荷等距离的点,在图上表示就是一圈一圈的圆,而电力线就是由点向外辐射的线,比较简单,这里就不再赘述。2.参考程序theta=[0:0.01:2*pi]';%创建向量theta,确定theta的范围为0到2*pi,步距为0.01r=0:10;%半径分别为r=0,1,2,...,10x=sin(theta)*r;y=cos(theta)*r;plot(x,y,'b')%绘制10个圆x=linspace(-5,5,100);%创建线性空间向量x,从-5到5,等间距分为100个点fortheta=[-pi/40pi/4]y=x*tan(theta);%分别绘制y=x*tan(theta)的三条直线,其中theta分别取-pi/4,0,pi/4holdon;%Hold住绘制的图形plot(x,y);%绘制y=x*tan(theta)的三条直线endgridon%axistight%legend('电信本162班','学号:16401111','张三','Location','best');legend('boxoff');%加上图例%xlabel('x');%加上横坐标标题%ylabel('y');;%加上纵坐标标题11/2311/23%holdon;3.程序参考运行结果运行程序,获得图像大致如图2.1所示。-10-8-6-4-20246810-10-8-6-4-20246810图2.1单电荷的等位线和电力线分布图三、实验内容绘制单电荷的等位线和电力线分布图。四、实验步骤1.在E盘建立新文件夹,命名为Fiele_Wave_simulation_2012_10_27;2.打开Matlab软件,新建一个空白的M文件,保存在Fiele_Wave_simulation_2012_10_27目录下,命名为Exp_2.m;3.将源程序拷贝到M文件中,保存;4.点击运行按钮,观察程序运行结果。五、实验工具1.计算机1台2.MATLAB仿真软件1套12/2312/23六、实验报告要求1.写出仿真程序源代码。2.绘制单电荷的等位线和电力线分布图。(要在图中绘制出姓名与学号)13/2313/23实验三点电荷电场线的图像一、实验目的学会由解析表达式进行数值求解的方法。二、实验原理1.基本原理考虑一个三点电荷系所构成的系统。如图所示,其中一个点电荷-q位于坐标原点,另一个-q位于y轴上的点,最后一个+2q位于y轴的-点,则在xoy平面内,电场强度应满足任意条电场线应该满足方程:(1)求解(1)式可得:(2)这就是电场线满足的方程,常数C取不同值将得到不同的电场线。2.参考程序解出y=f(x)的表达式再作图是不可能的。用Matlab语言即能轻松的做到这一点。其语句是:symsxy%设置x,y变量;forC=0:0.1:3.0ezplot(2*(y+1)/sqrt((y+1)^2+x^2)-y/sqrt(y^2+x^2)-(y-1)/sqrt((y-1)^2+x^2)-C,[-5,5,0.1]);%其中取了a=1,C=0,0.1,0.2,……,3.0holdon;end14/2314/233.程序参考运行结果运行程序,获得图像大致如图3.1所示。xy(2y+2)/(y2+2y+1+x2)1/2-...-3=0-5-4-3-2-1012345-5-4-3-2-1012345图3.1点电荷电场线的图像三、实验内容根据给出的三点电荷系所构成的系统电场线满足的方程,绘制其图像。四、实验步骤1.在E盘建立新文件夹,命名为Fiele_Wave_simulation_2012_10_27;2.打开Matlab软件,新建一个空白的M文件,保存在Fiele_Wave_simulation_2012_10_27目录下,命名为Exp_3.m;3.将源程序拷贝到M文件中,保存;4.点击运行按钮,观察程序运行结果。五、实验工具1.计算机1台2.MATLAB仿真软件1套六、实验报告要求1.写出仿真程序源代码。15/2315/232.绘制三点电荷系所构成的系统电场线的图像。(要在图中绘制出姓名与学号)实验四线电荷产生的电位16/2316/23一、实验目的理解交互式程序运行的过程。二、实验原理1.基本原理设电荷均匀分布在从z=-L到z=L,通过原点的线段上,其密度为q(单位C/m),求在xy平面上的电位分布。点电荷产生的电位可表示为是一个标量。其中r为电荷到测量点的距离。线电荷所产生的电位可用积分或叠加的方法来求。为此把线电荷分为N段,每段长为dL。每段上电荷为q*dL,看作集中在中点的点电荷,它产生的电位为然后对全部电荷求和即可。2.参考程序把xy平面分成网格,因为xy平面上的电位仅取决于离原点的垂直距离R,所以可以省略一维,只取R为自变量。把R从0到10米分成Nr+1点,对每一点计算其电位。clearall;L=input(‘线电荷长度L=:’);N=input(‘分段