MATLAB在电磁学中的应用毕业作品.docx
- 文档编号:13643713
- 上传时间:2023-06-16
- 格式:DOCX
- 页数:30
- 大小:333.18KB
MATLAB在电磁学中的应用毕业作品.docx
《MATLAB在电磁学中的应用毕业作品.docx》由会员分享,可在线阅读,更多相关《MATLAB在电磁学中的应用毕业作品.docx(30页珍藏版)》请在冰点文库上搜索。
MATLAB在电磁学中的应用毕业作品
毕-论
业-文
(20届)
MATLAB在电磁学中的应用
所在学院
专业班级应用物理
学生姓名学号
指导教师职称
完成日期年月
【摘要】:
MATLAB是矩阵实验室(MatrixLaboratory)的简称,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,在电磁学的学习中引入MATLAB,对于电磁学实验现象可以利用它的可视化功能进行计算机模拟。
既可以解决具体实验的复杂操作,又能够更直观清晰地展现实验现象。
【关键词】:
MATLAB;电磁学;模拟.
【ABSTRACT】:
MATLABisamatrixlaboratory(MatrixLaboratory)forshort.Itusedforalgorithmdevelopment,datavisualization,dataanalysisandnumericalcalculationoftheseniortechnicalcomputinglanguageandinteractiveenvironment.Inthestudyofelectromagnetism,weIntroductionintoMATLAB,forElectromagneticExperimentPhenomenacanuseitscomputersimulationvisualization.Cansolvebothcomplexandspecificexperimentoperations,andtomoreclearlyshowtheexperimentalresultsdirectly
【KEYWORDS】:
MATLAB;electromagnetism;Simulation.
目 录
引言
作为物理学类专业的重要基础课程之一的电磁场与电磁波理论,具有其独特的特点:
一是理论性强,电磁场方面的问题求解的复杂程度是由于课程中涉及许多高等数学方面的计算,特别是需要应用微分方程和矢量分析方面的知识,且问题求解繁琐;二是抽象的理论模型,关于电磁理论的理论模型只能通过仪器测量得到单纯的数据结果或者进行抽象的想象,而抽象的想象不仅无法展现给他人来进行沟通交流,再加上电磁场与电磁波不可见、不可触摸,各种电磁场与电磁波现象的复杂的空间分布,给抽象的想象又造成很大困难;三是电磁波是动态的,电磁场相互激发的过程产生了电磁波。
所以可以理解电磁波在空间的传播每时每刻的位置和状态都在发生变化,虽然可以通过麦克斯韦方程和边界条件来定量描述。
但是此种定量的描述过于抽象难以深刻理解以及记忆
。
传统的电磁场与电磁波课堂理论教学方式偏重理论教学,而忽视实验教学,学过该门课程后感到学过的理论知识不能够深刻记忆,而MATLAB软件由于其具有丰富的计算功能和科学计算数据的可视化能力,它可以将数据以多种图形形式加以表现。
我们将其引入电磁场与电磁波的课堂教学中,模拟设计各种电磁波波导结构和自由空间电磁波的辐射装置,并能动态模拟电磁波的传播和辐射特性。
利用MATLAB来设计电磁仿真实验,把理论教学和仿真实验有效结合起来,加深对理论学习的理解。
目前MATLAB语言流行很广泛,它在一定意义上来说,相当于一台计算器,但是他具备很多的多媒体功能。
它可以用和通常的笔算式相仿的烦琐计算从而使科学计算和编程的效率大大提高,比如:
算式完成复数、矩阵、和元素群的计算等等。
并能表现复杂的图形、图像、声音、动画,从而使科学计算和编程的效率大大提高。
在目前的电磁场与电磁波学习研究过程中,最多的还是采用实际实验操作的方式,随着MATLAB语言的逐步发展,MATLAB应用到电磁学中进行仿真实验,可以解决实验设备复杂、昂贵,限制实验的普及和应用;实验环境难以满足;实验现象无法直接观察等问题
。
MATLAB能是计算数据可视化,具有的计算功能丰富。
在电磁学中的电磁场的数值仿真中具优势非常明显,如使用方便,价格低廉等。
采用MATLAB技术的仿真平台不但具有传统的硬件实验所不具备的优势,更重要的是它可以避免硬件实验带来的由于与实验目的无关的如接触不良、仪器故障等所造成的影响的干扰,从而提高学习效率。
当然在真实系统上进行试验是必不可少的,但是极限与失效测试在采用实机时难以进行,而采用仿真器可以自由地给定各种测试条件,来进行被测控制器的性能测试,因此仿真系统在课件的制作方面优势明显,同时作为快速控制原型的虚拟试验台也是相当不错的选择。
1电磁学简介
1.1概述
磁的现象是由运动电荷所产生的,电磁和电磁的相互作用的现象。
电流的磁效应和变化磁场的电效应这两个实验现象和麦克斯韦的电场的变化产生磁场的假设促使原先相互独立的点穴和磁学发展为物理学中的一个完整分支学科。
1.1.1电流的磁效应和变化磁场的电效应
电流的磁效应:
任何通有电流的导线,在其周围都会产生磁场的现象,成为电流的磁效应。
主要分为两种情况,长直导线和螺旋线圈。
长直导线周围的磁场强度与导线上的总电流成正比,和与导线的垂直距离有关成反比。
通电的螺旋线圈产生的磁场强度与管面半径成反比,与线圈匝数成正比,与电流强度成正比。
1.1.2麦克斯韦方程
麦克斯韦理论的核心思想是:
变化的磁场可以激发涡旋电场,变化的电场可以激发涡旋磁场;电场和磁场不是彼此孤立的,它们相互联系、相互激发组成一个统一的电磁场。
麦克斯韦进一步将电场和磁场的所有规律综合起来,建立了完整的电磁场理论体系。
这个电磁场理论体系的核心就是麦克斯韦方程组。
1.2电磁场问题计算方法
电磁场问题的计算方法一般分为两大类,每个大类里面包含几种方法,其中解析法和数值法较为常见。
对于简单的边界调节和几何形状规则的问题,可以用分离变量和镜像法求电磁场边值问题的解析解。
1.2.1解析法
建立和求解偏微分方程或积分方程是解析法的重要部分。
严格求解偏微分方程的经典方法是分离变量法;严格求解积分方程的方法主要是变换数学法。
解析法的优点是:
可以将方程的解表示为已知函数的显式,从而计算出精确的数值结果;可以作为近似解和数值解的检验标准;存解析过程中和在解的显式中可眦观察到问题的内在联系和各个参数列数值结果所起的作用。
但解析法也存在严重的缺点,主要是它仅能解决很少量的问题。
事实上,只有在为数不多的坐标系中才能分离变量,而用积分方程法时往往求不出结果,致使分析过程既困难又复杂。
1.2.2数值法
在数值法中,通常以差分代替微分,用有限求和代替积分,这样,就将问题化为求解差分方程或代数方程问题。
数值法与解析法比较,在许多方面具有独特的优点:
普适性强,用户拥有的弹性大。
用户不必具备高度专业化的电磁场理论、数学及数值技方而的知识就能用提供的程序解决实际问题。
数值法的出现,使许多解析法很难解决的复杂的电磁场问题,有可能通过电磁场的计算机辅助分析获得很高精度的离散解同时可极大地促进各种电磁场数值计算方法的发展。
数值法的缺点是数据输入量大、计算量大、受硬件条件的限制。
1.2.3有限差分法
有限差分法简称差分法,它以简单、直观的特点而得到广泛的应用,无论是常微分方程还是偏微分方程,各种类型的二阶线性方程,以至高阶或非线性方程。
均可利用差分法转化为代数方程组,然后用计算机求其数值解。
有限差分法是以差分原理为基础的一种数值方法,它把电磁场连续域内的问题变为离散系统的问题,即用各离散点上的数值解来逼近连续场域内的真实解,因而,它是一种近似的计算方法,根据目前计算机的容量和速度,它对许多问题都可以得到足够高的计算精度。
有限差分法是一种较容易掌握的数值解法,它是求解任何偏微分方程最为有效的数值方法之一。
该数值解是近似解,但是逼近了场域的真实解。
而且,如果离散化的点选择得足够密的话,解的误差就能减小到可接受的程度。
而所有的电磁场问题都是用标量或矢量偏微分方程来表示的,因此,能用它来求解各种媒质中随空间和时间变化的电场与磁场。
1.2.4有限单元法
有限单元法,简称有限元法,是求解数理边值问题的一种数值计算方法。
有限元法是以变分原理和剖分插值为基础的一种数值计算方法。
有限元法可用于可用任何微分方程描述的各类物理场,同样也适合于时变场、非线性场以及复杂介质巾的电磁场求解。
1.3电磁学实验
各个高等院校的理科类专业的一门重要的基础课——电磁实验。
他包括科学理论、实验操作、数据处理等内容,具有理论和实践相结合的特点,非常有利于人才的培养。
用来使学生更好的掌握电磁实验的基本知识、基本技能和基本方法方面,提高分析问题、解决问题的能力培养,加深对物理基本概念和基本规律的认识,使学生养成严肃认真、实事求是的科学态度和工作作风。
通过实验,可以使学生掌握科学的实验方法,使学生受到科学研究的基本训练,提高其动手能力。
通过电磁实验使学生加深对静电场和静磁场的分布规律的认识,掌握电阻、电流、电压、电动势和磁场强度的几种测量方法;熟练使用基本电磁学仪器,根据误差的要求正确选择和使用电磁学仪表,对实验结果要求进行正确的分析,找出产生误差的原因。
1
1.1
1.2
1.3
1.3.1电磁感应实验
在一个空心纸筒上绕上一组和电流计联接的导体线圈,当磁棒插进线圈的过程中,电流
计的指针发生了偏转,而在磁棒从线圈内抽出的过程中,电流计的指针则发生反方向的偏转,磁棒插进或抽出线圈的速度越快,电流计偏转的角度越大.但是当磁棒不动时,电流计的指针不会偏转。
这实验说明了变化的磁场能够产生电流,发电机就是根据这个原理发明的。
不仅磁棒与线圈的相对运动可以使线圈出现感应电流,一个线圈中的电流发生了变化,也可以使另一个线圈出现感应电流。
将线圈通过开关k与电源连接起来,在开关k合上或断开的过程中,线圈2就会出现感应电流.如果将与线圈1连接的直流电源改成交变电源,即给线圈1提供交变电流,也引起线圈出现感应电流.这同样是因为,线圈1的电流变化导致线圈2周围的磁场发生了变化。
1.3.2核磁共振实验
当入射电磁波的频率所对应的能量与由于磁场而引起的塞曼分裂的能级差相同时,吸收最大,这种现象称为“磁共振”。
原子核的能量也是量子化的,也有核能级,这种核能级在磁场作用下也会发生塞曼分裂。
当入射电磁波的频率所对应的能量与核能级的塞曼分裂的能级差相同时,该原子核系统对这种电磁波的吸收最大,这种现象称为“核磁共振”。
核磁共振仪简图如图所示,选定一个射频频率后,调节扫场电压到一个实验固定值。
置示波器扫描时间(一般为5ms/div),根据“参考电流”调节电流,调节“粗/细”开关直至示波器出现共振信号等间距。
待信号稳定时记下射频频率值和电流值。
根据实验所测得的值即可计算得出
因子、g因子。
核磁共振在医学领域应用较广。
核磁共振成像技术可以通过识别水分子中氢原子信号的分布来推测水分子在人体内的分布,进而探测人体内部结构。
2
MATLAB简介
2.1概述
MATLAB是矩阵实验室(MatrixLaboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,目前流行很广的MATLAB语言,在一定意义上来说,相当于一台具备多媒体功能的计算器,它可以用和通常的笔算式相仿的算式完成复数、矩阵、和元素群的烦琐计算,并能表现复杂的图形、图像、声音、动画等,从而使科学计算和编程的效率大大提高。
在目前的电磁场与电磁波教学过程中,一直采用纯粹的课堂讲解,随着MATLAB语言的逐步发展,这门课程的教学手段和方法也随之有了相应的改进。
2.2工具优势
工作平台和编程环境友好。
MATLAB由一系列工具组成。
这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。
程序语言简单易用。
MATLAB是一个高级的矩阵/阵列语言,MATLAB语言是基于最为流行的C++语言基础上的,因此语法特征与C++语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式。
科学计算机数据处理功能强。
MATLAB是一个包含大量计算算法的集合。
其拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。
图形处理功能出色。
高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。
可用于科学计算和工程绘图。
模块集合工具箱简单易用。
MATLAB对许多专门的领域都开发了功能强大的模块集和工具箱。
用户可以直接使用工具箱学习、应用和评估不同的方法而不需要自己编写代码。
程序接口和发布平台实用性强。
将自己的MATLAB程序自动转换为独立于MATLAB运行的C和C++代码。
允许用户编写可以和MATLAB进行交互的C或C++语言程序。
2.3工具特点
语言简洁,编程效率高:
因为MATLAB定义了专门用于矩阵运算的运算符,使得矩阵运算就像列出算式执行标量运算一样简单,而且这些运算符本身就能执行向量和标量的多种运算
。
交互性好,使用方便:
在MATLAB的命令窗口中,输入一条命令,立即就能看到该命令的执行结果,体现了良好的交互性。
交互方式减少了编程和调试程序的工作量,给使用者带来了极大的方便。
强大的绘图能力,便于数据可视化:
MATLAB不仅能绘制多种不同坐标系中的二维曲线,还能绘制三维曲面,体现了强大的绘图能力。
正是这种能力为数据的图形化表示(即数据可视化)提供了有力工具,使数据的展示更加形象生动,有利于揭示数据间的内在关系。
学科众多、领域广泛的工具箱:
MATLAB工具箱(函数库)可分为两类:
功能性工具箱和学科性工具箱。
功能性工具箱主要用来扩充其符号计算功能、图示建模仿真功能、文字处理功能以及与硬件实时交互的功能。
开放性好,易于扩充:
除内部函数外,MATLAB的其他文件都是公开的、可读可改的源文件,体现了MATLAB的开放性特点。
用户可修改源文件和加入自己的文件,甚至构造自己的工具箱。
与C语言和Fortran语言有良好的接口:
通过MEX文件,可以方便地调用C语言和Fortran语言编写的函数或程序,完成MATLAB与它们的混合编程,充分利用已有的C语言和Fortran语言资源。
2.4常用工具箱
MATLAB包括拥有数百个内部函数的主工具包和三十几种工具包。
工具包又可以分为功能性工具包和学科工具包。
功能工具包用来扩充MATLAB的符号计算,可视化建模仿真,文字处理及实时控制等功能。
学科工具包是专业性比较强的工具包,控制工具包,信号处理工具包,通信工具包等都属于此类。
开放性使MATLAB广受用户欢迎。
除内部函数外,所有MATLAB主要工具包文件和各种工具包都是可读可修改的文件,用户通过对源程序的修改或加入自己编写程序构造新的专用工具包。
3电磁学问题中MATLAB的应用
3.1论述
合理地通过MATLAB软件来解决电磁学中的问题,因为它具有一些更方便的特殊功能,如有专门实现偏微分方程数值求解的工具箱PDEToolbox等,使用这些工具箱能够直观、快速、准确、形象地描述数值计算的结果。
运用到电磁场问题的计算方法上恰到好处。
3.2电磁学中引入MATLAB的优势
电磁实验过程中涉及的实验数据较多,常常还需要作图来显示实验数据,具有很大的数据处理工作量,重复使用一个或几个公式计算的情况多见。
传统的手工数据处理方法不仅相当耗时,准确度不高,而且教师不能现场了解学生的实验结果,因此,无论教师还是学生都迫切希望能用数据处理软件代替繁琐的手工处理。
而采用MATLAB语言进行编程来处理,降低了人为因素引起的误差,且编程简单,计算结果与程序所作的图都符合实验要求
。
MATLAB是一种高度集成化的科学计算环境,是集数值计算和图形处理等功能于一体的工程计算应用软件。
MATLAB不仅可以处理代数问题和数值分析问题,可以方便地分析数据结果可视化,绘制满足要求的各种图形。
而MATLAB语言在数据输入、数值计算以及图形可视化方面的功能则能展示了MATLAB在电磁学实验数据处理中的简洁、快捷与直观等特点。
3.3MATLAB数据的输入
MATLAB是以矩阵为基本研究对象的,因此,对于大多数以矩阵和向量形式表示的数据,MATLAB提供了灵活和方便的输入、好保存方法。
对于实验数据的输入,既可以用手工输入,也可以用load命令输入数据文件形式。
当然如果数据比较大,而且是仪器得到的数据,也可以在菜单File下的Impo~Data命令导人已经存在的数据(一般是Excel里的数据)。
3.4数值的计算
MATLAB具有强大的数值计算能力,包含多种功能性函数,可以方便地进行计算。
例如,插值和拟合在实验数据处理过程中具有很重要的作用,MATLAB自身带有的函数,如,多项式拟合函数(polyfit)、多项式求值(polyva1)和一维插值函数(interp1)的使用,使得实验数据处理更加简洁和方便。
3.5图形的绘制
数据处理的重要方面是图解法。
MATLAB有很强的图形功能,通过二维图像的绘制命令plot,及图注有关的命令,与拟合和插值相结合,快捷、轻松地由实验数据得到直观的图线。
与一般的绘图软件Excel和Origin相比,MATLAB不仅有用于输入各种命令和操作语句的命令窗口,而且有专门用于显示图形和对图形进行操作的图形窗口。
图形窗口的操作可以在命令窗口输入相应命令对其进行操作,也可以直接在图形窗口利用图形窗口本身所带的工具按钮、相关的菜单对其进行操作。
3.6有限分差法
有限差分法是将偏微分方程中的偏导函数用差商形式来表示,将所求电磁场的区域中计算无限多个点的函数值变为计算有限多个点上的函数(这一过程称之为离散化),求出数值解的方法
例:
取步长h=l,x、Y方向的网格数为m=10,n=5,共有10×5=50个网孔,11×6=66个节点,其中槽内节点(电势代求点)有9×4=36个,边界节点(电势已知点)66—36=30个.采用1/4有限差分形式
。
).设迭代精度为
,利用MATLAB编制的主要计算程序如下:
hx=ll;hy=6;%设置网格节点
vl=ones(hy,hx);%设置行列二维数组
forJ=l:
hx%上下两行的Dirichlet边界条件
vl(hy,j)=100*sin(pi*(j-1)/(hx-1));
vl(l,j)=0;
end
fori:
l:
hy%左右两列的Dirichlet边界条件
vl(i,1)=0;
v1(i,hx)=0;
end
v2=vl;maxt=l;t=0;%初始化
k=0;
while(maxt>le一6)%由Vl迭代,算出V2,迭代精度0.000001
k=k+l;%迭代次数
maxt=0;
fori=2:
hy-l
forj=2:
hx-l
v2(i,j)=(vl(i,j+1)+vl(i+l,j)+v2(i-l,j)+v2(i,j—1))/4;%拉氏差分方程式
t=abs(v2(i,j)一vl(i,j));
if(t>maxt)maxt=t;end
end
end
vl=v2;
end
计算结果如下:
本例采用简单迭代法,经66次迭代后,电势数值解收敛于某一固定值.场内所划分的网格点的电势的计算结果如表1所示:
表1场域内网格点电势的数值计算结果——有限差分法
M
1
2
3
4
5
6
7
8
9
10
11
N
1
0
0
0
0
0
0
0
0
0
0
0
2
0
4.3119
8.2018
11.2888
13.2708
13.9537
13.2708
11.2888
8.2018
4.3119
0
3
0
9.0459
17.2064
23.6826
27.8406
29.2733
27.8406
23.6826
17.2064
9.0459
0
4
0
14.6654
27.8953
38.3946
45.1356
47.4584
45.1356
38.3946
27.8953
14.6654
0
5
0
21.7205
41.3148
56.8650
66.8488
70.2890
66.8488
56.8650
41.3148
21.720
0
6
0
30.9017
58.7785
80.9017
95.1057
100.0000
95.1057
80.9017
58.7785
30.901
0
用MATLAB编程求各网格点上电势的精确解如表2所示:
表2由解析法得到的槽内电势精确解
M
1
2
3
4
5
6
7
8
9
10
11
n
1
0
0
0
0
0
0
0
0
0
0
0
2
0
4.2882
8.1567
11.2268
13.1979
13.8771
13.19179
11.2268
8.1567
4.2882
0
3
0
9.0032
17.1251
23.5707
27.7091
29.1350
27.7091
23.5707
17.1251
9.0032
0
4
0
14.6141
27.7977
38.2602
44.9776
47.2922
44.9777
38.2602
27.7977
14.6141
0
5
0
21.6792
41.2364
56.7570
66.7219
70.1555
66.7219
56.7570
41.2364
21.6792
0
6
0
30.9017
58.7785
80.9017
95.1057
100.0000
95.1057
80.9017
58.7785
30.9017
0
对照表1、表2进行误差分析:
第2行第2列网格点数值解与精确解之间的误差(4.3119—4.2882)/4.2882=0.5268%,第4行第9列网格点数值解与精确解之间的误差(27.8953—27.7977)/27.7977=0.3511%,其他点数值计算的误差也都很小,用数值解代替精确的解析解完全满足工程需要.若进一步细分网格,得到的解与精确解之间的误差将更小
矩形槽内电势分布三维曲面图如图2所示,槽内等势线、电场线分布如图3所示.
3.7平面上的二重积分问题
1均匀带电半圆面的半径为R,所带电量q,求其垂直圆心O点的轴线上的电场强度。
解:
如图:
把带电半圆面分割成无限多个以O为圆心、宽度无限小的圆心圆环。
任取一半径为r,宽度为dr的圆环,它所带的电量
,该带电小圆环在轴线任一点P产生的场强为:
在平行x方向和垂直于x方向的场强分别为:
而
因此,
由于
所以
用
把他们化为数值计算,得其数值解的表达式为:
根据上两式,可用MATLAB编写的分别计算解析解和数值解的程序:
%计算均匀带电半圆面轴线上的电场强度
NMAx=100;%取N=100,可按情况加大取值如1000
Q=1;%总电荷
R=10;%圆盘半径
P=Q/(pi*R*R);%电荷密度
aa=[1,5,10,20,30,40,50,100,600,1000,0];%取不同的位置(距离)值Xp;最后的0表示终止,必须但不参与计算;这些数据可任意修改
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 电磁学 中的 应用 毕业 作品