ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:271.27KB ,
资源ID:11579902      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11579902.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(MATLAB语言课程论文基于MATLAB的电磁场数值图像分析.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

MATLAB语言课程论文基于MATLAB的电磁场数值图像分析.docx

1、MATLAB语言课程论文基于MATLAB的电磁场数值图像分析基于MATLAB的电磁场数值分析应用 摘要 MATLAB使用计算机进行电磁场数值分析已成为电磁场的工程开发、科研和教学的重要手段。编程实现从电磁场微分方程到有限元求解全过程需要很好的理论基础和编程技巧,难度较高。该文介绍了电磁场数值分析的基本理论并通过几个实例介绍了使用MATLAB 实现电磁场偏微分方程的有限元解法。 实验结果表明这一方法具有操作简单明了!运算速度快,计算误差可控制等优点关键词 电磁场数值分析 MATLAB 麦克斯韦方程1、问题的提出电磁学是物理学的一个分支,是研究电场和电磁的相互作用现象。电磁学从原来互相独立的两门科

2、学(电学、磁学)发展成为物理学中一个完整的分支学科,主要是基于电流的磁效应和变化的磁场的电效应的发现。这两个实验现象,加上麦克斯韦关于变化电场产生磁场的假设,奠定了电磁学的整个理论体系,发展了对现代文明起重大影响的电工和电子技术。针对电磁场学习理论性强、概念抽象等特点,利用Matlab强大的数值计算和图形技术,通过具体实例进行仿真,绘制相应的图形,使其形象化,便于对其的理解和掌握。将Matlab引入电磁学中,利用其可视化功能对电磁学实验现象进行计算机模拟,可以提高学习效率于学习积极性,使学习效果明显。通过Matlab软件工具,对点电荷电场、线电荷产生的电位、平面上N个电荷之间的库仑引力、仿真电

3、荷在变化磁场中的运动等问题分别给出了直观形象的的仿真图和数值分析,形实现了可视化学习,丰富了学习内容,提高了对电磁场理论知识的兴趣。从而更好地解决电磁场中数值分析的问题。二、电磁场数值解法 麦克斯韦方程组是电磁场理论的基础,也是电磁场数值分析的出发点。它的微分形式方程: (1)式中磁场强度电通密度电场强度磁感应强度。电磁场中各种场量之间的关系由媒质的特性确定。在各向同性媒质中,由下列结构方程组确定 (2)为获得电磁场问题的唯一解!除上述方程组之外尚需给出定解条件,对静态场和稳态场只需加边界条件,对时变场还需另加初始条件。边界条件包括:(1)第一类边界条件是给定边界上的值,其中是边界点的函数或常

4、数;(2)第二类边界条件给定边界上法向导数的值;(3)第三类边界条件给定边界值与法向导数的线性组合 (3)根据麦克斯韦方程组和结构方程组!在静电场中,以电位 为求解对象,在各向同性介质中,电位满足泊松方程: (4)在恒定磁场中,取矢量磁位为求解对象,令有 (5)考虑电磁波动方程: (6)在正弦稳态条件下,上式可分别导出亥姆霍兹方程: (7)如上述几个例子,对于不同的电磁场实际应用问题求解可以得到对应的电磁场偏微分方程,直接用解析法求解这些方程组往往会遇到很多困难甚至无法求解,电磁场数值分析方法已成为求解电磁场问题的重要方法。数值分析方法将原来连续的场域离散化求解, 再用离散点的结果近似逼近连续

5、场域的解&常用的电磁场数值分析方法包括有限差分法、边界元法和有限元法。 有限差分法是以差分原理为基础的一种数值计算方法,即用差分方程代替偏微分方程,把要求解的边值问题转化为一组相应的差分问题,将求解区域划分,求解差分方程组从而得出各网格单元的场值。这种方法的特点是方法简单,网格划分容易,但对不规则边界处理不便,网格划分缺乏灵活性。边界元法以麦克斯韦积分方程为基础,它采用分步积分如格林定理等在一定条件下把该积分方程转化为关于边界的积分方程,并据此进行离散获得对应的代数方程!求出场域中变量的数值。 它的特点是将数值法与解析法相结合, 在数学上起到降维的作用,减少了计算量,但对非线性情况失去了高精度

6、特点,有局限性。有限元法由于单元定义灵活,处理边界条件容易,具有正定对称系数矩阵而占据主导地位&有限元法是根据变分原理和离散化而取得近似解的方法。是先从偏微分方程边值问题出发,找出一个能量泛函的积分式,并令其在满足第一类边界条件的前提下取极值,即构成条件变分问题& 例如与上式对应的二维泊松场第三类边界条件下的泛函极值问题为: (8)与上式对应的亥姆霍兹方程泛函为: (9) 这个条件变分问题是和偏微分方程边值问题等价的。有限元法便是以条件变分问题为对象来求解电磁场问题。在求解过程中,将场的求解区域剖分成有限个单元,因此在单元中构造出插值函数,将插值函数代入能量泛函的积分式,再把泛函离散化成多元函

7、数。通过多元函数极值求极值方法得到一个代数方程组。最后由此方程组求解得到数值解。下面举几例论证: 例证1设圆线圈的中心为O,半径为R,放置于y-z平面,线圈通过的电流为I0,如右图所示。用毕奥萨伐尔定律计算载流圆线圈在z=0处x-y平面上的磁场分布。解题分析根据毕奥萨伐尔定律, (10)线圈上任一点处的电流元在x-y平面上一点P产生的元磁场为dB。在编制程序时,将电流环分为N段,每一小段视为一电流元,然后求出每一电流元在观察点处的磁场分量,求出总磁场,最后叠加。 MATLAB程序如下: clear all %清除 R=input(请输入圆环半径,R=); %定义输入变量 I0=input(请输

8、入电流,I0=); %定义输出变量mu0=4*pi*1e-7; C0=mu0/(4*pi); %归并常数N=20; %电流环分段数x=linspace(-3,3,N); y=x; %确定观测点范围theta0=linspace(0,2*pi,N+1); %环的圆周角分段 theta1=theta0(1:N); y1=R*cos(theta1); z1=R*sin(theta1); %环各段矢量的起始坐标y1,z1theta2=theta0(2:N+1); y2=R*cos(theta2); z2=R*sin(theta2); %环各段矢量的终点坐标y2,z2xc=0; yc=(y2+y1)./

9、2; zc=(z2+z1)./2; %计算环各段矢量中点的三个坐标分量xc,yc,zcdlx=0;dly=y2-y1;dlz=z2-z1; %计算环各段矢量dl的三个长度分量,其中x1=x2=0。 NGx=N; NGy=NGx; %网格线数for i=1:NGy %循环计算各网点上的B(x,y)值 for j=1:NGxrx=x(j)-xc; ry=y(i)-yc; rz=0-zc; %计算径矢r的3个长度分量,r在z=0的面上。 r3=sqrt(rx.2+ry.2+rz.2).3; %计算r3 dlXr_x=dly.*rz-dlz.*ry; %计算叉乘dlr的x和y分量,z分量为0 dlXr

10、_y=dlz.*rx-dlx.*rz; Bx(i,j)=sum(C0*I0.*dlXr_x./r3); %把环各段产生的磁场分量累加By(i,j)=sum(C0*I0.*dlXr_y./r3);B=(Bx.2+By.2).0.5; %计算B的大小endendsubplot(1,2,1), quiver(x,y,Bx,By), %画矢量场图hold on plot(0,1,ro,0,-1,bo),xlabel(x),ylabel(y), %修饰图形,标注坐标轴axis(-3,3,-3,3), subplot(1,2,2)mesh(x,y,B);axis(-3,3,-3,3,0,1e-4) %画磁

11、场大小分布图xlabel(x),ylabel(y),zlabel(B)运行该程序,例如,在命令窗中的R和I0的提示后分别键入1和100,运行结果如图1所示图1 载流圆线圈的磁场分布度及位置曲线例证2一对相同的圆形线圈,彼此平行而共轴。设两线圈内的电流都是I,且回绕方向一致,线圈的半径为R,二者的间距为a(当a=R时,称为亥姆霍兹线圈),求轴线附近的磁场分布。解题分析 本题是把观测区域取在两线圈之间的小范围内。线圈B生成的左边的磁场等于线圈A的左边磁场。因 此,A、B两线圈在中间部分的合成磁场等于A线圈的右磁场与其左磁场平移R后的和。MATLAB程序如下:clear all %清除 mu0=4*

12、pi*1e-7;C0=mu0/(4*pi); %归并常数I0=5.0;R=1; NGx=21;NGy=21; %设定网格线数x=linspace(-1,1,NGx); %确定观测点范围y=linspace(-1,1,NGy); N=20; %电流环分段数 theta0=linspace(0,2*pi,N+1); %环的圆周角分段 theta1=theta0(1:N);y1=R*cos(theta1); z1=R*sin(theta1); %环各段矢量的起始坐标y1,z1theta2=theta0(2:N+1);y2=R*cos(theta2); z2=R*sin(theta2); %环各段矢量

13、的终点坐标y2,z2dlx=0;dly=y2-y1;dlz=z2-z1; %计算环各段矢量dl的三个长度分量,其中x1=x2=0。xc=0; yc=(y2+y1)/2; zc=(z2+z1)/2;for i=1:NGy for j=1:NGx rx=x(j)-xc; ry=y(i)-yc; rz=0-zc; %计算径矢r的3个长度分量,r在z=0的面上。 r3=sqrt(rx.2+ry.2+rz.2).3; dlXr_x=dly.*rz-dlz.*ry; %计算叉乘dlr的x和y分量,z分量为0 dlXr_y=dly.*rx-dlx.*rz; Bx(i,j)=sum(C0*I0*dlXr_x.

14、/r3); %把环各段产生的磁场分量累加 By(i,j)=sum(C0*I0*dlXr_y./r3);endendBax=Bx(:,11:21)+Bx(:,1:11); %把x0区域Bay=By(:,11:21)+By(:,1:11);subplot(1,2,1),mesh(x(11:21),y,Bax);xlabel(x);ylabel(y);zlabel(B);subplot(1,2,2),quiver(x,y,Bx,By,1.5), axis(square),axis(-1,1,-1,1),xlabel(x);ylabel(y); 运行结果如图2所示。可以看出,在轴线附近磁场大小均匀且沿

15、x方向。图2 亥姆霍兹线圈轴线附近Bx在x-y平面上的分布及矢量场例证3设带电粒子质量为m,带电量为,电场强度E沿方向,磁感应强度B沿qyz方向. 则带电粒子在均匀电磁场中的运动微分方程为 (11)令, 则上面微分方程可化作: (12)选择和为参量,就可以分别研究0E,0=B和,等情况. 编写MATLAB程序如下: clear %清除syms w x y z t B E m q; %定义变量E=input(E=);B=input(B=); %输入E和B值x,y,z=dsolve(D2x=q*B/m*Dy,D2y=q*E/m-q*B/m*Dx,D2z=0,x(0)=0,y(0)=0,z(0)=0

16、,Dx(0)=0.01,Dy(0)=6,Dz(0)=0.01) ; %初始条件取x(0)=y(0)=z(0)=0,Dx(0)=0.01,Dy(0)=6,Dz(0)=0.01q=1.6e-2; m=0.02; %赋值X=subs(x y z); x=X(1),y=X(2),z=X(3), ezplot3(X(1),X(2),X(3) %绘图函数调用运行上述程序,例如,取E=4, B=8可得下列特解并给出图运行结果如图3所示。 研究时可以采用不同的初始条件和不同的参量观察不同的现象。运算特解如下:x =(t*exp(1)/8 - (100*i*exp(1) - 8*i + 4800)/(10240

17、*exp(32*i*t)/5) - (exp(32*i*t)/5)*(8*i - 100*i*exp(1) + 4800)/10240 + 15/16y =(5*exp(1)/256 + (i*(100*i*exp(1) - 8*i + 4800)/(10240*exp(32*i*t)/5) - (i*exp(32*i*t)/5)*(8*i - 100*i*exp(1) + 4800)/10240 - 1/640z =t/100图3现有E=4, B=8参数运行结果例证4如右图所示,求垂直于无限长载流直导线的平面内磁感应强度的分布。解题分析设场点P的位置为,电流元位置为,电流元矢量为。由此,场点

18、P相对于电流元的位置矢量为 利用行列式计算Idlr ,可写为 (13)也可利用MATLAB中的det 命令函数来求该行列式,MATLAB程序如下:syms dx dy dz x0 x y0 y z0 z; %定义变量dl=dx,dy,dz; %定义行列式r=x0-x,y0-y, z0-z;d1cr=cross(dl,r) %求dlr的积运行结果为d1cr = dy*(z0-z)-dz*(y0-y), dz*(x0-x)-dx*(z0-z), dx*(y0-y)-dy*(x0-x)即又,r的大小为 设载流导体通过坐标原点垂直于 x-y平面放置,电流元 Idl沿z轴正向,场点P位于x-y平面上。对

19、本题目而言,dx=dy=0,x=y=0, z0=0, 矢量叉乘积为,r的大小为由毕奥萨伐尔定律 (14)有; ; (15) MATLAB程序 1、 用符号运算求B的表达式syms C0 I z x y r r0; %定义变量Bx=C0.*I.*int(-y./(x.2+y.2+z.2).(3/2),z,-inf,inf)By=C0.*I.*int(x./(x.2+y.2+z.2).(3/2),z,-inf,inf)B=(Bx.2+By.2).0.5 运行结果:Bx =-2*C0*I*y/(x2+y2)(3/2)/(1/(x2+y2)(1/2)By =2*C0*I*x/(x2+y2)(3/2)/

20、(1/(x2+y2)(1/2)B =(4*C02*I2*y2/(x2+y2)2+4*C02*I2*x2/(x2+y2)2)(1/2) 即; (16)2、绘制磁场大小分布图和矢量场图x=-0.5:0.05:0.5;y=x; %赋值I=input(请输入电流I=); %设置输入mu0=4*pi*1e-7; C0=mu0/(4*pi); %设置函数X,Y=meshgrid(x,y);Bx =-2.*C0.*I.*Y./(X.2+Y.2).(3./2.)./(1./(X.2+Y.2).(1./2);By =2.*C0.*I.*X./(X.2+Y.2).(3./2)./(1./(X.2+Y.2).(1.

21、/2);B=(4.*C0.2.*I.2.*Y.2./(X.2+Y.2).2+4.*C0.2.*I.2.*X.2./(X.2+Y.2).2).(1./2); subplot(1,2,1) %选择12区域中的1号区quiver(X,Y,Bx,By,2), axis(-0.5,0.5,-0.5,0.5), axis(square),subplot(1,2,2) %选择12区域中的2号区mesh(X,Y,B) %绘图运行该程序,在命令窗中的提示后键入I0值 (例如,取I0100A),便得到图4所示图形。图4长载流导线的磁场在x-y平面上的分布三、结论从以上利用MATLAB语言对几种电磁场模型的分析我们

22、不难的出以下结论:电磁场与电磁波理论作为电子信息类专业的一门重要基础课程,该课程的特点是:一是理论性强,课程中涉及许多高等数学方面的计算,特别是需要应用矢量分析和微分方程,致使电磁场问题的求解十分复杂;二是理论模型抽象,各种电磁场与电磁波现象都具有复杂的空间分布,而电磁场与电磁波又都具有不可见和不可触摸的特性,只能进行抽象的想象或通过仪器进行数据测量;三是电磁波是动态的,电磁波是电磁场相互激发的结果,可以通过麦克斯韦方程和边界条件来定量描述,它在空间的传播每时每刻的位置和状态都在发生变化。四、课程体会通过在本次写论文的过程中,我受益匪浅。在我选择MATLAB论文的题目的过程中,我通过查找大量的

23、资料,发现MATLAB涉及的范围非常的大,例如在物理学中、电磁学中、线性代数等中的应用,认识到MATLAB对我们是如此的实用。其次,在初学习的MATLAB的时候,觉得它和我们大一第一学期学的C语言有很多相似之处,在老师讲的过程中,我争取好好的听每一节课,每次在实验课上我也认真的做好每一个实验的题目,每次在程序结果运行出来的时候,我觉得特有成就感,同时我感觉到了MATLAB强大功能。经过一学期紧张而有序的课程学习,在忙碌之余也得到了颇多的收获。我深深体会到MATLAB语言相对于同类程序语言更方便更简洁易懂。利用Matlab 可以设计大量仿真实验,把理论学习和仿真实验教学有效结合起来,加深了对理论学习的理解,自己动手利用MATLAB 解决电磁场与电磁波一些实际问题,这也是培养了我们综合素质。参考文献1 刘卫国.MATLAB程序设计与应用(第二版)M.北京:高等教育出版社,2006.2 马文蔚.物理学(中册)(第四版)M,北京:高等教育出版社,1999.

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1