电磁场的Matlab仿真

合集下载

电磁场的Matlab仿真.

电磁场的Matlab仿真.

Matlab 与电磁场模拟一单电荷的场分布:单电荷的外部电位计算公式:qφ=4πε0r等位线就是连接距离电荷等距离的点,在图上表示就是一圈一圈的圆,而电力线就是由点向外辐射的线。

MATLAB 程序:theta=[0:.01:2*pi]'; r=0:10;x=sin(theta*r; y=cos(theta*r; plot(x,y,'b' x=linspace(-5,5,100; for theta=[-pi/4 0 pi/4] y=x*tan(theta; hold on ; plot(x,y; end grid on单电荷的等位线和电力线分布图:二多个点电荷的电场情况:模拟一对同号点电荷的静电场设有两个同号点电荷, 其带电量分别为 +Q1和+Q2(Q1、Q2>0 距离为 2a 则两电荷在点P(x, y处产生的电势为:由电场强度可得E = -∇U, 在xOy 平面上, 电场强度的公式为:为了简单起见, 对电势U 做如下变换:。

Matlab 程序:q=1; xm=2.5; ym=2;x=linspace(-xm,xm; y=linspace(-ym,ym; [X,Y]=meshgrid(x,y;R1=sqrt((X+1.^2+Y.^2; R2=sqrt((X-1.^2+Y.^2; U=1./R1+q./R2; u=1:0.5:4; figure contour(X,Y,U,u grid onlegend(num2str(u' hold onplot([-xm;xm],[0;0] plot([0;0],[-ym;ym]plot(-1,0,'o' , 'MarkerSize' ,12 plot(1,0,'o' , 'MarkerSize' ,12 [DX,DY] = gradient(U; quiver(X,Y,-DX,-DY; surf(X,Y,U;同号电荷的静电场图像为:50403020100-22同理,将程序稍作修改,便可以得到异号电荷的静电场图像:403020100-10-20-30-4022.5三、线电荷产生的电位:设电荷均匀分布在从z=-L到z=L,通过原点的线段上,其密度为q(单位C/m,求在xy 平面上的电位分布。

应用MATLAB设计电磁场与电磁波模拟仿真实验

应用MATLAB设计电磁场与电磁波模拟仿真实验

第39卷 第9期 高 师 理 科 学 刊 Vol. 39 No.9 2019年 9月 Journal of Science of Teachers′College and University Sep. 2019文章编号:1007-9831(2019)09-0052-04应用MATLAB设计电磁场与电磁波模拟仿真实验凌滨,郭也,刘文川(东北林业大学 机电工程学院,黑龙江 哈尔滨 150040)摘要:由于电磁场与电磁波课程在电磁波传播部分授课中的理论和概念抽象,难以理解.利用MATLAB语言编程技术,针对电磁场和电磁波传播2个方面,设计2个模拟仿真实验:均匀平面波在无界空间中的传播和设定各参数实验数据获得分界面上波形的变化.2个具体仿真实验形象地再现了均匀平面电磁波在自由空间传播状态和在2个媒介边界上的变化特征,通过实验有助于学生对电磁场和电磁波基本规律的掌握.关键词:电磁场与电磁波;MATLAB;仿真实验;均匀平面波中图分类号:O441.4 文献标识码:A doi:10.3969/j.issn.1007-9831.2019.09.014Application of MATLAB to design electromagnetic field andelectromagnetic wave simulation experimentLING Bin,GUO Ye,LIU Wen-chuan(School of Mechanical and Electrical Engineering,Northeast Forestry University,Harbin 150040,China)Abstract:The theoretical and conceptual abstraction of the electromagnetic field and electromagnetic wave course in the teaching of electromagnetic wave propagation is difficult to understand.Using MATLAB language programming technology,two simulation experiments were designed for electromagnetic field and electromagnetic wave propagation,the propagation of uniform plane wave in unbounded space and setting experimental data of each parameter to obtain the waveform change on the interface.Two specific simulation experiments vividly reproduced the variation characteristics of uniform plane electromagnetic waves in free space and the boundary of two media.The experiment helps students master the basic laws of electromagnetic fields and electromagnetic waves.Key words:electromagnetic field and electromagnetic wave;MATLAB;simulation experiment;uniform plane wave电磁场与电磁波作为电子信息和通信工程的专业基础课之一,通过实验课程的环节来加深对电磁场理论知识的理解,并且可以将课堂上所学到的理论知识在实验课中进行验证,加深理解[1-2].由于目前教学过程中受到实验室的硬件环境的限制,在实验教学环节中以仿真验证为主,利用MATLAB软件对所学的理论知识进行实验,通过理论知识来指导实践.将两者相结合,可以达到提高学生发现并分析问题,利用所学知识解决问题能力的目的,进一步将所学的理论知识完善巩固,更加全面地了解电磁场与电磁波的概念[3-5].MATLAB仿真软件的数据分析和数据计算的能力十分强大,将实验数据以图形的形式进行展示,提供了一个数据可视化的平台[6].本文在电磁场与电磁波的实验教学中,利用MATLAB模拟了2种情况下的仿收稿日期:2019-04-10基金项目:东北林业大学教育教学研究课题项目(JG2016008)作者简介:凌滨(1962-),男,黑龙江哈尔滨人,副教授,硕士,从事电磁场与电磁波研究.E-mail:756595015@第9期 凌滨,等:应用MATLAB 设计电磁场与电磁波模拟仿真实验 53真实验,分别是自由空间和媒质空间中均匀平面电磁波传播波形的变化以及2种介质分界面上电磁波波形的变化.1 均匀平面波在真空和媒质中的传播仿真实验由麦克斯韦方程组可知,变化的电场和磁场相互作用下,产生的电磁波以光速在真空中传播;电磁波在理想介质中是横波,电场和磁场的方向与波的传播方向相互垂直,另外,电场方向与磁场方向也相互垂直[7].理想介质中均匀平面电磁波的波动方程可以由麦克斯韦方程组推理得到220022200200E E tH H t e m e m ì¶Ñ-=ïï¶í¶ïÑ-=ï¶îu vu v uu v uu v (1) 若电场为线极化方式,且电磁波沿x 轴方向,可以得到22000022(()E H H Ex t t x x tm m e m ¶¶¶¶¶¶=-=-=¶¶¶¶¶¶ (2) 同理220022H Hx te m ¶¶=¶¶,这2个公式都属于波动方程.电场与磁场的传播速度,也就是电磁波在真空中的传播速度,即81/310m/s c =»´.由此可见,电磁波的传播速度(在真空中)与光速等值,理论数据和实验数据一致,这为光的电磁波理论提供了一个重要的理论依据.由波动方程 220022220022E E x tH H x t e m e m 춶=ïï¶¶í¶¶ï=ﶶî (3) 在真空中当平面电磁波的电场强度和磁场强度的频率和相位相同时,2个波动方程的瞬时表达式为m (,)cos()x x E z t e E t z w b =-r r(4)m (,)cos()x y E H z t e t z w b h=-r r (5) 其中:m x E 是电场强度振幅;w 是电磁波的圆频率;b 是相位常数;h 是本征阻抗.设计的仿真均匀平面波形波动见图 1.均匀平面波在导电媒质中具有传播特性:电媒质的典型特征是电导率 0s ¹;电磁波在导电媒质中传播时,由于传导电流J E s =的存在,同时还伴随着电磁能量的损耗;电磁波的传播特性与非导电介质中的传播特性有所不同[8-10].电场E 、磁场H 瞬时值形式m (,)e cos()z x x E z t e E t z a w b -=-v r(6) m (,)e cos()z x y cEH z t e t z a w b j h -=--r r (7)在导电媒质中衰减常数a 、相位常数b 和本征阻抗c h分别为a = (8)b = (9)54 高 师 理 科 学 刊 第39卷1arctg 2e j c c s weh h === (10)通过改变介电参数e 、磁导率m 、电导率s 和波的频率w ,电磁波在传播中是不断变化的,设计的仿真实验波形变化见图2.应用仿真实验可以形象直观地看到均匀平面波的传播特征,并通过改变介质各参数来观察电磁波的波形变化特性.2 均匀平面波的传播、反射及透射的仿真实验电磁波在入射到不同媒质分界面上时,一部分波会在分界面上进行反射,一部分波会透过分界面.入射波(已知)+反射波(未知)= 透射波(未知) (1) 0z <中,导电媒质1的参数为111s e m ,,;(2) 0z >中,导电媒质2的参数为222s e m ,,.沿x 方向极化的均匀平面波从媒质1 垂直入射到与导电媒质2 的分界平面上,电场和磁场的变化见图3. 媒质1中的入射波 1i im ()e zx E z e E g -=r r (11)1im i 1()e z y cEH z e g h -=r r (12)媒质1中的反射波1r rm ()e z x E z e E g -=r r(13) 1rm r 1()e z y cEH z e g h -=r r (14)媒质1中的合成波11im rm 1i r 12()()()e e z z y y c cE E H z H z H z e e g g h h --=+=-r r r r r H (15)111i r im rm ()()+()e e z z x x E z E z E z e E e E g g --==+r r r r r(16)其中传播常数1g 和波阻抗1c h为11211)j j s g we =- (17)11211c j s h we -==- (18) 媒质2中的透射波第9期 凌滨,等:应用MATLAB 设计电磁场与电磁波模拟仿真实验 5522tm t tm t 2()e ,()e zz x y cE E z e E H z e g g h --==r r r r (19)其中:传播常数2g 和波阻抗2c h为12222)j j s g we =- (20)12222c j s h we -=- (21) 改变各参数的数值,介质1,2为不同媒质时,设计的仿真实验波形见图4.改变各参数的数值,介质1为非导电媒质、2为导电媒质时,设计的仿真实验波形见图5.改变各参数的数值,介质1,2为相同电媒质时,设计的仿真实验波形见图6.通过该仿真实验系统操作,设定各参数实验数据,即获得分界面上波形的变化特征.对实验结果进行分析和解释,得到合理有效的结论.3 结束语本文提出了利用MATLAB 来完成电磁场与电磁波的仿真实验,通过仿真实验将理论教学有效地运用到实践教学中,能够使学生更加有效地理解所学的理论知识.电磁场与电磁波的仿真实验练习可以让学生对自己所学的知识有更深地理解,可以用更加灵活的方式掌握专业技能,并对所学专业的应用领域和前景有进一步的了解.在鼓励学生自己利用所学知识解决实际问题的同时,将书本知识与工程实践相结合,将复杂的电磁波问题简化,可以有效地提高授课效果. 参考文献:[1] 谢处方,饶克谨.电磁场与电磁波[M].北京:高等教育出版社,2006[2] 刘亮元,贺达江.电磁场与电磁波仿真实验教学[J].实验室研究与探索,2010,29(5):30-32[3] 王明军.MATLAB 在电磁场与电磁波课程教学中的应用[J].咸阳师范学院学报,2009,24(2):89-91 [4] 郭瑜,虞致国.电磁场与电磁波仿真实验教学研究[J].无锡职业技术学院学报,2018,17(2):28-31[5] 杨明珊,谭凤杰,李志中,等.电磁场与电磁波实验仿真系统[J].郑州大学学报:理学版, 2013,45(2):64-67 [6] 乔世坤.Matlab 在通信课程中的仿真应用[M].哈尔滨:东北林业大学出版社,2017 [7] 马冰然.电磁场与微波技术[M].广州:华南理工大学出版社,1999[8] William Hayt,John Buck.Engineering Electromagnetics[M].Beijing:Tsinghua University Press,2011[9] 万棣,范懿.电磁场与电磁波虚拟仿真系统的设计与开发[J].电气电子教学,2017,39(4):141-144[10]邓红涛,刘巧,田敏.利用仿真软件优化电磁场与电磁波教学[J].电脑知识与技术,2014,10(4):792-794。

华科电磁场matlab仿真作业

华科电磁场matlab仿真作业

电磁场作业电气1202 XXX U201200000一.作业一1.程序框图2.程序clear;col = 61; %第一行点数row = col; %行数span = 0.3/(col-1); %步长End = ones(1,col)*col; %每一行的终止点Start = ones(1,col); %每一行的起始点A = zeros(row,col); %A矩正存储每点电势for i = (col-1)/3+1:(col-1)*2/3+1for j = (col-1)/3+1:(col-1)*2/3+1A(i,j) =100;endend %初始化电势完毕temp = A;for n= 1:500 %迭代次数for i = 2:row-1if ( i<((col-1)/3+1)||i>( (col-1)*2/3+1 ) )for j = Start(i)+1:End(i)-1temp(i,j)=(A(i-1,j) +A(i+1,j) +A(i,j-1) +A(i,j+1))/4;endelsefor j = 2:(col-1)/3temp(i,j)=(A(i-1,j) +A(i+1,j) +A(i,j-1) +A(i,j+1))/4;endfor j = 2*(col-1)/3+2:col-1temp(i,j)=(A(i-1,j) +A(i+1,j) +A(i,j-1) +A(i,j+1))/4;endendA = temp;endendX = row:-1:1;Y = col:-1:1;[X,Y] = meshgrid(X,Y);figure(1);surf(rot90(A,2));figure(2);contour(rot90(A,2));hold on;[Gx,Gy] = gradient(A,1,1);quiver(Gx,Gy);3.计算机绘图二.作业二1.程序框图2.程序100V0Vclear;col=101;row=101;A=zeros(row,col);for i=11:101A(i,11)=100;endfor j=11:101A(11,j)=100;endfor i=2:10A(i,col)=10*i-10;endfor j=2:10A(row,j)=10*j-10;endA1=A;x=1;t=0;while x>0.1x=0;for i=2:100for j=2:100if (i>1&&i<11)||(j>1&&j<11)A1(i,j)=(A(i,j-1)+A(i,j+1)+A(i-1,j)+A(i+1,j))/4;t=abs(A(i,j)-A1(i,j));if (t>x)x=t;endendendendA=A1;endX = 1:1:row;Y = 1:1:col;[X,Y] = meshgrid(X,Y);figure(1);surf(rot90(A,4));figure(2);contour(rot90(A,4));hold on;[Gx,Gy] = gradient(A,1,1);quiver(Gx,Gy);3.计算机绘图三.作业三1.程序框图2.程序clear;N = 41; %第一行点数h = 0.2/(N-1); %步长row = (N+1)/2; %行数E = N:-1:N-row+1;%每一行的终止点S = 1:1:N-row+1;%每一行的起始点A = zeros(row,N); %A矩阵存储每点电势A(1,:)=ones(1,E(1))*100; %初始化电势for i = 1:rowA(i,S(i)) = 0;A(i,E(i)) = 0;end %初始化电势完毕temp = A;for n= 1:600 %迭代次数for i = 2:rowfor j = S(i):E(i)if j ==S(i) || j==E(i)temp(i,j)=0;elsetemp(i,j)=(3*A(i-1,j) +3*A(i+1,j) +A(i,j-1) +A(i,j+1))/8;endendendA = temp;endX = row:-1:1;Y = N:-1:1;[X,Y] = meshgrid(X,Y);figure(1);surf(rot90(A,2));figure(2);contour(rot90(A,2));3.计算机绘图。

电磁波传播的matlab仿真教学实践

电磁波传播的matlab仿真教学实践

电磁波传播的matlab仿真教学实践
Matlab仿真实践教学——电磁波传播
Matlab是用于科学计算和可视化仿真的一款专业软件,其电磁波传播
仿真功能可能会广泛应用到电波传播理论的教学实践中,因此本文将
通过一个实例来展示如何使用Matlab进行电磁波传播的仿真。

一、准备工作
(一)安装Matlab软件,安装Matlab。

可以从Mathworks网站下载安
装Matlab软件。

(二)熟悉Matlab的基本操作,包括如何使用Matlab编辑器、命令行、代码窗口以及如何可视化。

二、仿真过程
(一)定义数据,定义包括电磁波方向、频率、和速度在内的各种参
数作为条件输入到Matlab中进行仿真;
(二)设置初始条件,调整环境条件(空气温度、大气压力等),并
考虑物理地形的影响。

(三)开始仿真,通过Matlab的仿真功能可以获得电磁波的时频响应
曲线,以及不同方向上的信号发射特性等;
(四)完成仿真,观察电磁波在空间传播、穿过物体和大气层时以及解读不同场景下实现仿真信号传播特性,得出最终仿真结果。

三、总结
通过本文展示的Matlab实现电磁波传播仿真的实例,可以更好地理解电磁波传播理论,利用Matlab进行仿真实验教学,进一步提高教学效果,加深学生对相关理论的理解。

带电粒子在电磁场中运动的MATLAB仿真 (1)

带电粒子在电磁场中运动的MATLAB仿真 (1)

目录第一章概述 (1)第二章基本原理 (2)2.1 带电粒子在电磁场中运动的原理 (2)2.2质量较大的带电微粒在复合场中的运动 (2)第三章算法及仿真结果 (4)3.1具体算法 (4)3.2结果 (5)第四章结论 (7)参考文献 (8)附录 (9)第一章概述MATLAB(矩阵实验室)是MATrix LABoratory的缩写,是一款由美国The MathWorks公司出品的商业数学软件。

MATLAB是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。

除了矩阵运算、绘制函数/数据图像等常用功能外,MATLAB还可以用来创建用户界面及与调用其它语言(包括C,C++和FORTRAN)编写的程序。

MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB具有其他高级语言难以比拟的一些优点,如编写简单、编程效率高、易学易懂等,因此MATLAB 语言也被通俗地称为演算纸式科学算法语言。

MATLAB是当今最优秀的科技应用软件之一,它以强大的科学计算与可视化功能、简单易用、开放式可扩展环境,特别是所附带的30 多种面向不同领域的工具箱支持,使得它在许多科学领域中成为计算机辅助设计和分析、算法研究和应用开发的基本工具和首选平台。

而其强大的图像绘制功能也使得它广泛用于各种数据背后现象的模拟仿真。

计算机数值模拟的研究方法已成为继实验研究和理论分析之外的第三种研究手段,在基础物理学习中适当引入计算机数值方法,有助于将一些高深的物理知识深入浅出、生动形象地学习。

随着计算机的普及,MATLAB在基础物理中的应用日益广泛。

在控制、通信、信号处理及科学计算等领域中,MATLAB 都被广泛地应用,已经被认为能够有效提高工作效率、改善设计手段的工具软件。

第二章 基本原理2.1带电粒子在电磁场中运动的原理带电粒子在磁场中运动时会受到洛伦兹力的作用,且随着初始运动方向和磁场分布的不同,其运动轨迹会发生不同的变化。

matlab模拟的电磁学数值技术代码

matlab模拟的电磁学数值技术代码

一、概述电磁学作为物理学的一个重要分支,其研究对象涉及电场、磁场和电磁波等内容。

在现代科学技术的发展中,电磁学的应用范围愈发广泛,然而电磁学问题的解决往往需要大量的数值计算和模拟。

其中,利用Matlab等软件进行电磁学数值模拟已经成为一种常见的技术手段。

本文将从电磁学数值模拟的原理、技术和代码编写等方面展开探讨。

二、电磁学数值模拟的原理电磁学数值模拟是利用计算机对电磁学问题进行模拟和计算。

其原理是基于Maxwell方程组进行离散化处理,将连续性的数学模型转化为适合计算机处理的离散模型,然后通过数值算法求解相关方程,得到电磁场的分布情况。

常见的数值算法包括有限差分法、有限元法、边界元法等。

这些数值算法的选择和设计对于模拟结果的精确性和计算效率具有重要影响。

三、电磁学数值模拟的技术1. 有限差分法有限差分法是一种常见的电磁学数值模拟技术,其基本思想是将空间连续的电磁场分布离散化为有限个点,并通过有限差分近似求解Maxwell方程组。

有限差分法主要包括差分格式的选取、边界条件的处理和数值稳定性的分析等内容。

在Matlab中,可以通过编写相应的有限差分法程序来实现电磁场模拟。

2. 有限元法有限元法是另一种常用的数值模拟技术,其基本思想是将连续的电磁场分布离散化为有限个基函数的线性组合,并通过有限元插值和数值积分求解Maxwell方程组。

有限元法适用于比较复杂的几何结构和边界条件,能够精确地描述电磁场在非均匀介质中的分布情况。

3. 边界元法边界元法是一种基于格林函数的数值模拟技术,其基本思想是将电磁问题转化为边界积分方程,并利用格林函数求解边界上的电磁场分布。

边界元法对于处理边界条件和界面问题有独特优势,能够有效地模拟电磁场在复杂边界下的分布情况。

四、Matlab模拟的电磁学数值技术代码编写1. 有限差分法的Matlab编写在使用Matlab进行有限差分法的电磁学数值模拟时,首先需要确定问题的空间离散化和时间离散化等参数,然后编写相应的差分格式和边界条件处理程序。

电磁场中matlab仿真实现工具箱

电磁场中matlab仿真实现工具箱

实验六:使用偏微分方程工具箱对电磁场的仿真一、实验目的与要求1.掌握微分方程工具箱的使用方法;2.掌握使用偏微分方程工具箱分析电磁场。

二、实验类型设计三、实验原理及说明偏微分方程的工具箱(PDE toolbox)是求解二维偏微分方程的工具,MA TLAB专门设计了一个应用偏微分方程的工具箱的演示程序以帮助使用者快速地了解偏微分方程的工具箱的基本功能。

操作方法是在MA TLAB的指令窗口键入pdedemos,打开Command Line Demos窗口,如图所示。

只要单击任意键就会使程序继续运行,直至程序运行结束。

单击信息提示按钮(Info)是有关演示窗口的帮助说明信息。

8个偏微分方程的演示程序分别是泊松方程、亥姆霍兹方程、最小表面问题、区域分解方法、热传导方程、波动方程、椭圆型方程自适应解法和泊松方程快速解法。

(一)偏微分方程的工具箱的基本功能偏微分方程的工具箱可以求解一般常见的二维的偏微分方程,其基本功能是指它能解的偏微分方程的类型和边值条件。

用户可以不必学习编程方法仅仅在图形用户界面窗口进行操作,就能得到偏微分方程的数值解。

1.工具箱可解方程的类型定义在二维有界区域Ω上的下列形式的偏微分方程,可以用偏微分方程工具箱求解:椭圆型()f au u c =+∇∙∇- 抛物型()f au u c tu d =+∇∙∇-∂∂ 双曲型()f au u c tu d =+∇∙∇-∂∂22 本征值方程()du au u c λ=+∇∙∇-式中,u 是偏微分方程的解;c 、a 、d 、f 是标量复函数形式的系数,在抛物型和双曲型方程中,它们也可以是t 的函数,λ是待求的本征值。

当c 、a 、f 是u 的函数时,称之为非线性方程,形式为()()()()u f u u a u u c =+∇∙∇-也可以用偏微分方程工具箱求解。

2.工具箱可解方程的边值条件解偏微分方程需要的边值条件一般为下面两种之一:狄里赫利(Diriclet)边值条件 hu=r广义诺曼(Generalized Neumann)边值条件 ()g qu u c n =+∇∙式中,n为边界外法向单位向量;h 、q 、r 、g 是在边界上定义的复函数。

MATLAB实验电磁实验仿真

MATLAB实验电磁实验仿真

实验四 电磁实验仿真 —点电荷电场分布的模拟一. 实验目的电磁场是一种看不见摸不着但又客观存在的物质,通过使用Matlab 仿真电磁场的空间分布可以帮助我们建立场的图景,加深对电磁理论的理解和掌握。

按照矢量分析,一个矢量场的空间分布可由其矢量线(也称力线)来形象表示。

点电荷的电场就是一个矢量场,模拟其电力线的分布可以得到电场的空间分布。

通过本次上机实验希望达到以下目的:1. 学会使用MATLAB 绘制电磁场力线图和矢量图的方法;2. 熟悉二维绘图函数contour 、quiver 的使用方法。

二. 实验原理根据库仑定律,真空中的一个点电荷q 激发的电场3r E q r=v v (高斯制) (1) 其中r 是观察点相对电荷的位置矢量。

考虑相距为d 的两个点电荷q 1和q 2,以它们的中点建立坐标(如图),根据叠加原理,q 1和q 2激发的电场为:12123312r r E q q r r =+v v v (2) 由于对称性,所有包含电荷的平面上,电场的分布一样,所以只需要考虑xy 平面上的电场分布,故121233331212(/2)(/2)ˆˆˆˆ()[]x y E E q x q x q y d q y d E j j r r r r i i -+==++++v (3)其中12 r r ==。

根据电动力学知识(参见谢处方,《电磁场与电磁波》,1.4.1节),电场矢量线(或电力线)满足微分方程: yx E dydx E = (4) 代入(3)式解得电力线满足的方程 1212(/2)(/2)q y d q y d r r C -++= (5) 其中C 是积分常数。

每一个C 值对应一根电力线。

电场的分布也可以由电势U 的梯度(gradient ,为矢量)的负值计算,根据电磁学知识,易知两点电荷q 1和q 2的电势1212q q U r r =+(6)那么电场为 E gradU U =-=-∇v (7)或者 ()(),x y x y E U E U =-∇=-∇ (8)在Matlab 中,提供了计算梯度的函数gradient()。

MATLAB电磁场与微波技术仿真

MATLAB电磁场与微波技术仿真

精彩摘录
《MATLAB电磁场与微波技术仿真》精彩摘录
《MATLAB电磁场与微波技术仿真》这本书是学习电磁场与微波技术仿真的必 备教材,其中包含了许多精彩的摘录,让我们一起来欣赏一下。
书中提到了MATLAB在电磁场与微波技术仿真中的应用。摘录中写道: “MATLAB是一种功能强大的数值计算软件,广泛应用于电磁场与微波技术仿真。 它提供了丰富的函数库和工具箱,可以方便地实现各种复杂的电磁场和微波技术 问题的仿真。”这段摘录强调了MATLAB在电磁场与微波技术仿真中的重要地位, 为读者提供了学习的方向。
MATLAB电磁场与微波技术仿 真
读书笔记
01 思维导图
03 精彩摘录 05 目录分析
目录
02 内容摘要 04 阅读感受 06 作者简介
思维导图
本书关键字分析思维导图
电磁场
微波技术 matlab
详细 介绍
仿真
可以
matlab
仿真
电磁场 读者
分析
微波技术
进行
方面
内容
感兴趣
数据
非常
内容摘要
内容摘要
目录分析
《MATLAB电磁场与微波技术仿真》是一本深入浅出地介绍如何使用MATLAB进 行电磁场与微波技术仿真的书籍。该书不仅涵盖了电磁场与微波技术的基本原理, 而且通过大量的实例和练习,引导读者逐步掌握使用MATLAB进行仿真的技巧。在 本书中,我们将对这本书的目录进行详细分析,以便更好地理解其结构和内容。
阅读感受
《MATLAB电磁场与微波技术仿真》读后感
在科技日新月异的时代,电磁场与微波技术作为现代通信、雷达、导航等领 域的关键技术,其研究与应用价值不言而喻。而MATLAB作为一种功能强大的数学 计算软件,其灵活性和实用性在科学研究领域有着广泛的应用。《MATLAB电磁场 与微波技术仿真》这本书,便为我们提供了一个全新的视角,将两者完美结合, 为读者展现了一个丰富多彩的仿真世界。

电磁场 点电荷 电场线 电势 MATLAB 仿真 中南大学

电磁场 点电荷 电场线 电势 MATLAB  仿真 中南大学

电磁场理论 实验一——利用Matlab 模拟点电荷电场的分布一.实验目的:1.熟悉单个点电荷及一对点电荷的电场分布情况;2.学会使用Matlab 进行数值计算,并绘出相应的图形;二.实验原理:根据库伦定律:在真空中,两个静止点电荷之间的作用力与这两个电荷的电量乘积成正比,与它们之间距离的平方成反比,作用力的方向在两个电荷的连线上,两电荷同号为斥力,异号为吸力,它们之间的力F 满足: R RQ Q k F ˆ212= (式1)由电场强度E 的定义可知:R RkQ E ˆ2= (式2)对于点电荷,根据场论基础中的定义,有势场E 的势函数为 (式3)而 U E -∇= (式4) 在Matlab 中,由以上公式算出各点的电势U ,电场强度E 后,可以用Matlab 自带的库函数绘出相应电荷的电场分布情况.三.实验内容:1. 单个点电荷点电荷的平面电力线和等势线真空中点电荷的场强大小是E=kq /r^2 ,其中k 为静电力恒量, q 为电量, r 为点电荷到场点P(x,y)的距离.电场呈球对称分布, 取电量q> 0, 电力线是以电荷为起点的射线簇.以无穷远处为零势点, 点电荷的电势为U=kq /r,当U 取常数时, 此式就是等势面方程.等势面是以电荷为中心以r 为半径的球面.●平面电力线的画法在平面上, 电力线是等角分布的射线簇, 用MATLAB 画射线簇很简单.取射线的半径为( 都取国际制单位) r0=0.12, 不同的角度用向量表示( 单位为弧度)th=linspace(0,2*pi,13).射线簇的终点的直角坐标为: [x,y]=pol2cart(th,r0).插入x 的起始坐标x=[x; 0.1*x].同样插入y 的起始坐标, y=[y; 0.1*y], x 和y 都是二维数组, 每一列是一条射线的起始和终止坐标.用二维画线命令plot(x,y)就画出所有电力线.●平面等势线的画法在过电荷的截面上, 等势线就是以电荷为中心的圆簇, 用MATLAB 画等势线更加简单.静电力常量为k=9e9, 电量可取为q=1e- 9; 最大的等势线的半径应该比射线的半径小一点? r0=0.1.其电势为u0=k8q /r0.如果从外到里取7 条等势线, 最里面的等势线的电势是最外面的3 倍, 那么各条线的电势用向量表示为:u=linspace(1,3,7)*u0.从- r0 到r0 取偶数个点, 例如100 个点, 使最中心点的坐标绕过0, 各点的坐标可用向量表示: x=linspace(- r0,r0,100), 在直角坐标系中可形成网格坐标: [X,Y]=meshgrid(x).各点到原点的距离为: r=sqrt(X.^2+Y.^2), 在乘方时, 乘方号前面要加点, 表示对变量中的元素进行乘方计算.各点的电势为U=k8q. /r, 在进行除法运算时, 除号前面也要加点, 同样表示对变量中的元素进行除法运算.用等高线命令即可画出等势线contour(X,Y,U,u), 在画等势线后一般会把电力线擦除, 在画等势线之前插入如下命令hold on 就行了.平面电力线和等势线如图1, 其中插入了标题等等.越靠近点电荷的中心, 电势越高, 电场强度越大, 电力线和等势线也越密.-0.2-0.15-0.1-0.0500.050.10.15-0.2-0.15-0.1-0.0500.050.10.15xy单个点电荷的电场线与等势线图1● 点电荷的立体电力线和等势面 立体电力线的画法先形成三维单位球面坐标, 绕z 轴一周有8 条电力线[X,Y,Z]=sphere(8),每维都是9×9 的网格矩阵, 将X 化为行向量, 就形成各条电力线的终点x 坐标x=r 0=X(:)′, 其他两个坐标也可同样形成终点坐标y=r 0+Y(:)' , z=r 0+Z(:)' .对x 坐标插入原点x=[x(zeros(size(x))], 其他两个坐标如下形成y=[y(zeros(size(y))], z=[z(zeros(size(z))], 用三维画线命令plot3(x,y,z), 就画出所有电力线.● 立体等势面的画法画5 条等势面时, 各面的电势为u=linspace(1,3,5)+u0, 各等势面的半径为r=k6q. /u, 其中第一个球面的半径为rr=r(1).三维单位球面的坐标可由[X,Y,Z]=sphere 命令形成, 每维都是21×21 的网格矩阵, 由于外球会包围内球, 因此把球面的四分之一设为非数, 表示割去该部分Z(X<0&Y<0)=nan. 用曲面命令可画出第一个曲面surf(rr6X,rr6Y,rr6Z), 只要取不同的半径就能画出不同的等势面.为了使等势面好看, 可设置一个颜色浓淡连续变化的命令shading interp.点电荷的立体电力线和等势面如图2, 旋转图片可从不同的角度观察.0.2x正电荷电场线等势面的三维图形yz图22 一对点电荷● 平面等势线的画法仍然用MATLAB 的等高线命令画等势线.对于正负两个点电荷, 电量不妨分别取q1=2e- 9,q2=- 1e- 9, 正电荷在x 轴正方, 负电荷在x 轴负方, 它们到原点的距离定为a=0.02; 假设平面范围为xx0=0.05,yy0=0.04, 两个坐标向量分别x=linspace(- xx0,xx0,20)和y=linspace(- yy0,yy0,50).设置平面网格坐标为[X,Y]=meshgrid(x), 各点到两电荷的距离分别为r1=sqrt((X- a).^2+Y .^2)和r2=sqrt((X+a).^2+Y .^2).各点的电势为U=k6q1. /r1+k6q2. /r2, 取最高电势为u0=50, 最低电势取其负值.在两者之间取11 个电势向量u=linspace (u0,- u0,11), 等高线命令contour(X,Y ,U,u,'k- ' )用黑实线, 画出等势线如图4所示, 其中, 左边从里到外的第6 条包围负电荷的等势线为零势线.● 平面电力线的画法利用MATLAB 的箭头命令, 可用各点的电场强度方向代替电力线.根据梯度可求各点的场强的两个分量[Ex,Ey]=gradient(- U),合场强为E=sqrt(Ex.^2+Ey.^2).为了使箭头等长, 将场强Ex=Ex. /E,Ey=Ey. /E 归一化, 用箭头命令quiver(X,Y,Ex,Ey)可标出各网点的电场强度的方向,异号点电荷对的场点方向如图3 所示.为了画出连续的电力线, 先确定电力线的起点.电荷的半径可取为r 0=0.002, 如图4 所示, 假设第一条电力线的起始角为30 度, 其弧度为q=30+pi /180, 起始点到第一个点电荷的坐标为x1=r0+cos(q),y=r0+sin(q), 到第二个点电荷的坐标只有横坐标x2=2+a+x1 不同.用前面的方法可求出该点到两个电荷之间的距离r1 和r2, 从而计算场强的两个分量以及总场强Ex=q1+x1 /r1^3 +q2+x2 /r2^3, Ey=q1+y/r1^3+q2+y/r2^3, E=sqrt(Ex6Ex+Ey6Ey).下面只要用到场强分量与总场强的比值, 在计算场强分量时没有乘以静电力常量k.由于电力线的方向与场强的切线方向相同, 取线段为s=0.0001,由此可求出终点的坐标为x1=x1+s#Ex/E,y=y+s+Ey/E, 从而计算x2.以终点为新的起点就能计算其他终点.当终点出界时或者到达另一点电荷时, 这个终点可作为最后终点. 这种计算电力线的方法称为切线法.xy一对点电荷的电场分布图-0.05-0.04-0.03-0.02-0.010.010.020.030.040.05-0.05-0.04-0.03-0.02-0.0100.010.020.030.040.05图3xy一对不相等的电荷的等势线图和电场线图图4-10-5510点电荷电场分布的3-D 图图5部分M-file;1. 点电荷的平面电力线和等势线%点电荷的平面电力线和等势线%平面电力线的画法q=1e-9;r0=0.12;th=linspace(0,2*pi,13);[x,y]=pol2cart(th,r0);x=[x;0.1*x];y=[y;0.1*y];plot(x,y);grid onhold onplot(0,0,'o','MarkerSize',12) xlabel('x','fontsize',16)ylabel('y','fontsize',16)title('单个点电荷的电场线与等势线','fontsize',20)%平面等势线的画法k=9e9;r0=0.1;u0=k*q/r0;u=linspace(1,3,7)*u0;x=linspace(-r0,r0,100);[X,Y]=meshgrid(x);r=sqrt(X.^2+Y.^2);U=k*q./r;hold on;contour(X,Y,U,u)2. 一对电荷平面等势线和电场线图%一对电荷平面等势线和电场线图clear all;clf;%平面等势线的画法q1=2e-9;q2=-1e-9;a=0.02;%到原点的距离xx0=0.05;yy0=0.04;k=9e9;x=linspace(-xx0,xx0,20);y=linspace(-yy0,yy0,50);[X,Y]=meshgrid(x);r11=sqrt((xx0/1.7-a)^2+(yy0/1.7)^ 2);r22=sqrt((xx0/1.7+a)^2+(yy0/1.7)^ 2);r1=sqrt((X-a).^2+Y.^2);%各点到点电荷的距离r2=sqrt((X+a).^2+Y.^2);U=k*q1./r1+k*q2./r2;%各点的电势u0=k*q1/r11+k*q2/r22;u=linspace(u0,-u0,11); %取21个等势向量contour(X,Y,U,u,'k-');hold ongrid onplot(a,0,'o','MarkerSize',12);plot(-a,0,'o','MarkerSize',12);xlabel('x','fontsize',16);ylabel('y','fontsize',16);%平面电力线的画法[Ex,Ey]=gradient(-U);E=sqrt(Ex.^2+Ey.^2);Ex=Ex./E;Ey=Ey./E;hold on;quiver(X,Y,Ex,Ey);title('一对不相等的电荷的等势线图和电场线图','fontsize',20)clear;3. 立体电力线的画法%立体电力线的画法q=1e-9;[X,Y,Z]=sphere(8);r0=0.18;r1=0.2;k=9e9;u0=k*q/r0;x=r1*X(:)';y=r1*Y(:)';z=r1*Z(:)';x=[x;zeros(size(x))];y=[y;zeros(size(y))];z=[z;zeros(size(z))];plot3(x,y,z)hold on;%立体等势线之画法u=linspace(1,3,5)*u0;%画5 条等势面时, 各面的电势为u=linspace(1,3,5)+u0,r=k*q./u;%各等势面的半径为r=k6q. /u[X,Y,Z]=sphere;Z(X<0&Y<0)=nan;surf(r(1)*X,r(1)*Y,r(1)*Z);%第一到第五个球面surf(r(2)*X,r(2)*Y,r(2)*Z);surf(r(3)*X,r(3)*Y,r(3)*Z);surf(r(4)*X,r(4)*Y,r(4)*Z);surf(r(5)*X,r(5)*Y,r(5)*Z);shading interp %个颜色浓淡连续变化的命令shading interp.xlabel('x','fontsize',16);ylabel('y','fontsize',16);zlabel('z','fontsize',16);title('正电荷电场线等势面的三维图形','fontsize',20);clear;4.clear all;clf;q1=1;q2=1;a=0.02;xx0=0.05;yy0=0.04;k=9e9;x=linspace(-xx0,xx0,20);y=linspace(-yy0,yy0,50);[X,Y]=meshgrid(x);r11=sqrt((xx0/1.7-a)^2+(yy0/1.7)^ 2);r22=sqrt((xx0/1.7+a)^2+(yy0/1.7)^ 2); r1=sqrt((X-a).^2+Y.^2);r2=sqrt((X+a).^2+Y.^2);U=k*q1./r1+k*q2./r2;u0=k*q1/r11+k*q2/r22;u=linspace(u0,-u0,11);contour(X,Y,U,u,'k-');hold on[Ex,Ey]=gradient(-U);E=sqrt(Ex.^2+Ey.^2);Ex=Ex./E;Ey=Ey./E;dth1=20;th1=(dth1:dth1:180-dth1)*pi/180; r0=a/5;x1=r0*cos(th1)+a;y1=r0*sin(th1);streamline(X,Y,Ex,Ey,x1,y1);streamline(-X,-Y,-Ex,-Ey,x1,-y1);q=abs(q1/q2);dth2=dth1/q;th2=(180-dth2:-dth2:dth2)*pi/180;x2=r0*cos(th2)-a;y2=r0*sin(th2);streamline(X,Y,Ex,Ey,x2,y2);streamline(X,-Y,Ex,-Ey,x2,-y2);grid onplot(a,0,'o','MarkerSize',12);plot(-a,0,'o','MarkerSize',12);xlabel('x','fontsize',16);ylabel('y','fontsize',16);title('一对点电荷的电场分布图');clear;clear all;clf;q1=1;q2=1;a=0.02;xx0=0.05;yy0=0.04;k=9e9;x=linspace(-xx0,xx0,20);y=linspace(-yy0,yy0,50);[X,Y]=meshgrid(x);r11=sqrt((xx0/1.7-a)^2+(yy0/1.7)^ 2);r22=sqrt((xx0/1.7+a)^2+(yy0/1.7)^2);r1=sqrt((X-a).^2+Y.^2);r2=sqrt((X+a).^2+Y.^2);U=k*q1./r1+k*q2./r2;u0=k*q1/r11+k*q2/r22;u=linspace(u0,-u0,11);contour(X,Y,U,u,'k-');hold on[Ex,Ey]=gradient(-U);E=sqrt(Ex.^2+Ey.^2);Ex=Ex./E;Ey=Ey./E;dth1=20;th1=(dth1:dth1:180-dth1)*pi/180;r0=a/5;x1=r0*cos(th1)+a;y1=r0*sin(th1);streamline(X,Y,Ex,Ey,x1,y1);streamline(-X,-Y,-Ex,-Ey,x1,-y1);q=abs(q1/q2);dth2=dth1/q;th2=(180-dth2:-dth2:dth2)*pi/180;x2=r0*cos(th2)-a;y2=r0*sin(th2);streamline(X,Y,Ex,Ey,x2,y2);streamline(X,-Y,Ex,-Ey,x2,-y2);grid onplot(a,0,'o','MarkerSize',12);plot(-a,0,'o','MarkerSize',12);xlabel('x','fontsize',16);ylabel('y','fontsize',16);title('一对点电荷的电场分布图');clear;5.[x,y]=meshgrid(-2:0.1:2,-2:0.1:2);%建立数据网格z=1./sqrt(x.^2+(y-1).^2+0.01)-1./sqrt(x.^2+(y+1).^2+0.01);%电势的表达式surfl(x,y,z);%三维曲面绘图shading interp %平滑i维曲面title('点电荷电场分布的3-D图')。

电磁场的Matlab仿真.

电磁场的Matlab仿真.

电磁场的Matlab仿真.Matlab 与电磁场模拟⼀单电荷的场分布:单电荷的外部电位计算公式:qφ=4πε0r等位线就是连接距离电荷等距离的点,在图上表⽰就是⼀圈⼀圈的圆,⽽电⼒线就是由点向外辐射的线。

MATLAB 程序:theta=[0:.01:2*pi]'; r=0:10;x=sin(theta*r; y=cos(theta*r; plot(x,y,'b' x=linspace(-5,5,100; for theta=[-pi/4 0 pi/4] y=x*tan(theta; hold on ; plot(x,y; end grid on 单电荷的等位线和电⼒线分布图:⼆多个点电荷的电场情况:模拟⼀对同号点电荷的静电场设有两个同号点电荷, 其带电量分别为 +Q1和+Q2(Q1、Q2>0 距离为 2a 则两电荷在点P(x, y处产⽣的电势为:由电场强度可得E = -?U, 在xOy 平⾯上, 电场强度的公式为:为了简单起见, 对电势U 做如下变换:。

Matlab 程序:q=1; xm=2.5; ym=2;x=linspace(-xm,xm; y=linspace(-ym,ym; [X,Y]=meshgrid(x,y;R1=sqrt((X+1.^2+Y.^2; R2=sqrt((X-1.^2+Y.^2; U=1./R1+q./R2; u=1:0.5:4; figure contour(X,Y,U,u grid onlegend(num2str(u' hold onplot([-xm;xm],[0;0] plot([0;0],[-ym;ym]plot(-1,0,'o' , 'MarkerSize' ,12 plot(1,0,'o' , 'MarkerSize' ,12 [DX,DY] = gradient(U; quiver(X,Y,-DX,-DY; surf(X,Y,U;同号电荷的静电场图像为:50403020100-22同理,将程序稍作修改,便可以得到异号电荷的静电场图像:403020100-10-20-30-4022.5三、线电荷产⽣的电位:设电荷均匀分布在从z=-L到z=L,通过原点的线段上,其密度为q(单位C/m,求在xy 平⾯上的电位分布。

电磁场matlab仿真实验

电磁场matlab仿真实验

电磁场matlab 仿真实验一实验一:[例7-5]试分析一对等量异号的电荷周围空间上的电位和电场分布情况。

分析:将等量异号的电荷的几何中心放置于坐标原点位置,则它们在空间某点p 处产生的点位为:()G q g g q r r q r q r q02102102010*******πξπξπξπξπξϕ=-=⎪⎪⎭⎫ ⎝⎛-=-=其中G 为格林函数()()22222cos 2/cos 2/1r dr d r r dr d r +-=+-=θθ将G 用片面积坐标表示为⎪⎪⎭⎫⎝⎛=12ln g g G 在编程时,将G 当作点位函数处理,并利用梯度求出唱腔E=-▽φ。

用matlab 的m 语言编写的程序如下:[x,y]=meshgrid(-10:0.1:10);[Q,R]=cart2pol(x,y);R(R<=1)=NaN;q=input('请输入电偶极子的电量q =')%原程序有误,以此为准d=input('请输入电偶极子的间距d =')%原程序有误,以此为准E0=8.85*1e-12;K0=q/4/pi/E0;g1=sqrt((d./2).^2-d.*R.*cos(Q)+R.^2);%原程序有误,以此为准g2=sqrt((d./2).^2+d.*R.*cos(Q)+R.^2);%原程序有误,以此为准G=log(K0*g2./g1);contour(x,y,G,17,'g');hold on[ex,ey]=gradient(-G);tt=0:pi/10:2*pi;%原程序未定义tt ,以此为准sx=5*sin(tt);sy=5*cos(tt);streamline(x,y,ex,ey,sx,sy);xlabel('x');ylabel('y');hold off;当运行此程序后,按提示输入电偶极子电量和嗲耨集子间距如下:请输入电偶极子的电量q =0.5*1e-10请输入电偶极子的间距d =0.01即可汇出入图说使得嗲耨集资周围的长的分布图。

matlab写电磁暂态仿真算法

matlab写电磁暂态仿真算法

matlab写电磁暂态仿真算法中括号内的主题是"matlab写电磁暂态仿真算法"。

在这篇文章中,我们将一步一步地回答以下问题,以帮助读者了解电磁暂态仿真算法在MATLAB 中的实现过程。

1. 什么是电磁暂态仿真算法?电磁暂态仿真算法是一种用于模拟电磁暂态过程的数值计算方法。

它可以用于模拟电磁系统在瞬态激励下的响应,例如电力系统中的短路故障、电气设备中的电弧等。

2. MATLAB的优势和适用性?MATLAB是一种广泛用于科学计算和工程分析的高级编程语言和环境。

它具有强大的数值计算能力和丰富的工具箱,非常适合用于电磁暂态仿真算法的开发和实现。

MATLAB提供了许多内置的函数和工具,用于处理向量、矩阵和高维数组,这对于处理电磁场和电磁场方程非常有帮助。

3. 如何进行电磁场建模?电磁场建模是电磁暂态仿真算法的一部分。

在MATLAB中,我们可以使用有限元法或有限差分法对电磁场进行离散化和求解。

对于有限元法,我们可以使用MATLAB的Partial Differential Equation Toolbox进行建模和求解。

对于有限差分法,我们可以使用MATLAB的差分方程求解器来求解离散化的电磁场方程。

4. 如何处理电磁场方程?电磁场方程是描述电磁场行为的方程,通常包括麦克斯韦方程组。

在MATLAB中,我们可以使用数值方法来求解这些方程。

一种常用的方法是有限差分法,其中将空间和时间离散为网格,并使用差分方程的数值近似解来求解电场和磁场分量。

MATLAB提供了几种差分方程求解器,例如ode45、ode15s和ode23。

5. 如何模拟电磁暂态响应?为了模拟电磁暂态响应,我们需要在电磁场建模的基础上添加外部激励和边界条件。

在MATLAB中,我们可以使用源项来表示激励,例如施加电流或电压源。

我们还可以使用不同的边界条件来模拟不同的物理场景。

通过求解电磁场方程,我们可以获得系统的电磁响应。

6. 如何评估仿真结果?评估仿真结果的方法取决于具体的仿真目标和问题。

电磁场的matlab仿真实验--m语言1

电磁场的matlab仿真实验--m语言1

实验三:等量异号点电荷的电势分布一、实验目的与要求1.掌握命令窗口中直接输入语句,进行编程绘制等量异号点电荷的电势分布图;2.掌握二维网格和三维曲面绘图的语句。

二、实验类型设计三、实验原理及说明这里在命令窗口中直接输入简单的语句进行编程设计。

MATLAB有几千个通用和专用五、实验内容和步骤(一)建立等量异号点电荷的电势方程物理情景是oxy平面上在x=2,y=0处有一正电荷,x= -2,y=0处有一负电荷,根据计算两点电荷电场中电势的分布,由于(二)利用MA TLAB的函数, 绘制等量异号点电荷的电势分布图首先选定一系列的x和y后,组成了平面上的网络点,再计算对应每一点上的z值。

例如-5:0.2:5,-4:0.2:4分别是选取横坐标与纵坐标的一系列数值,meshgrid是生成数据网格的命令,[x,y]是xy平面上的坐标网格点。

z是场点(x ,y)的电势,要求写出z的表达式。

这里用到MA TLAB的函数mesh()描绘3D网格图,meshgrid()描绘在3D图形上加坐标网格,sqrt()求变量的平方根。

mesh()是三维网格作图命令,mesh(x,y,z)画出了每一个格点(x,y)上对应的z值(电势)。

在命令窗口中直接输入简单的语句,如下。

解1解2当场点即在电荷处时,会出现分母为零的情况,因此在r里加了一个小量0.01,这样既可以完成计算,又不会对结果的正确性造成太大影响。

另外需要注意的是表达式中的“./ ”、“.^ ”是对数组运算的算符,含义与数值运算中的“./ ”、“.^ ”相同,不同之处是后者只对单个数值变量进行运算,而前者对整个数组变量中的所有元素同时进行运算。

解2为了减少计算量,增加精确度,与先前的示例相比,计算范围由原先的-5<x<5 ,-4<y<4改为-2<x<2 ,-2<y<2 ;步长由0.5改为0.1,电荷位置也改在(-1,0)和(1,0)处。

电磁场的Matlab仿真

电磁场的Matlab仿真

Matlab 与电磁场模拟一 单电荷的场分布:单电荷的外部电位计算公式:等位线就是连接距离电荷等距离的点,在图上表示就是一圈一圈的圆,而电力线就是由点向外辐射的线。

MATLAB 程序:theta=[0:.01:2*pi]'; r=0:10; x=sin(theta)*r; y=cos(theta)*r; plot(x,y,'b') x=linspace(-5,5,100); for theta=[-pi/4 0 pi/4] y=x*tan(theta); hold on ;rq 04πεφ=plot(x,y);endgrid on单电荷的等位线和电力线分布图:二多个点电荷的电场情况:模拟一对同号点电荷的静电场设有两个同号点电荷,其带电量分别为+Q1和+Q2(Q1、Q2>0 )距离为2a则两电荷在点P(x, y)处产生的电势为:由电场强度可得E = -∇U,在xOy平面上,电场强度的公式为:为了简单起见,对电势U做如下变换:。

Matlab程序:q=1;xm=2.5;ym=2;x=linspace(-xm,xm);y=linspace(-ym,ym);[X,Y]=meshgrid(x,y);R1=sqrt((X+1).^2+Y.^2);R2=sqrt((X-1).^2+Y.^2);U=1./R1+q./R2;u=1:0.5:4;figurecontour(X,Y,U,u)grid onlegend(num2str(u'))hold onplot([-xm;xm],[0;0])plot([0;0],[-ym;ym])plot(-1,0,'o','MarkerSize',12) plot(1,0,'o','MarkerSize',12) [DX,DY] = gradient(U); quiver(X,Y,-DX,-DY);surf(X,Y,U);同号电荷的静电场图像为:-201020304050同理,将程序稍作修改,便可以得到异号电荷的静电场图像:-40-30-20-10010203040三、线电荷产生的电位:设电荷均匀分布在从z=-L 到z=L,通过原点的线段上,其密度为q(单位C/m),求在xy 平面上的电位分布。

Matlab在电磁学中的仿真应用论文 精华版

Matlab在电磁学中的仿真应用论文 精华版

Matlab 在电磁场中的应用摘要Matlab是美国Mathworks公司于80年代推出的大型数学软件,通过多年的升级换代,现在已发展成为集数值计算、符号计算、可视化功能以及诸多的工具箱为一体的大型科学计算软件,它已广泛应用于科研院所、工程技术等各个部门,并成为大学生、研究生必备的工具软件。

电磁学是物理学的一个分支,是研究电场和电磁的相互作用现象。

电磁学从原来互相独立的两门科学(电学、磁学)发展成为物理学中一个完整的分支学科,主要是基于电流的磁效应和变化的磁场的电效应的发现。

这两个实验现象,加上麦克斯韦关于变化电场产生磁场的假设,奠定了电磁学的整个理论体系,发展了对现代文明起重大影响的电工和电子技术。

针对电磁场学习理论性强、概念抽象等特点,利用Matlab强大的数值计算和图形技术,通过具体实例进行仿真,绘制相应的图形,使其形象化,便于对其的理解和掌握。

将Matlab引入电磁学中,利用其可视化功能对电磁学实验现象进行计算机模拟,可以提高学习效率于学习积极性,使学习效果明显。

本文通过Matlab软件工具,对点电荷电场、线电荷产生的电位、平面上N 个电荷之间的库仑引力、仿真电荷在变化磁场中的运动等问题分别给出了直观形象的的仿真图,形实现了可视化学习,丰富了学习内容,提高了对电磁场理论知识的兴趣。

关键词:Matlab 电磁学仿真计算机模拟(一)等量同号点电荷的电场线的绘制首先建立电场线的微分方程(二维情况). 因为电场中任一点的电场方向都沿该点电场线的切线方向,所以满足:引入参变量t得到:设二点电荷位于(-2,0)和(2,0),二点电荷“电量”为q1和q2(均等于10), 由库伦定律和电场的叠加原理,得出下列微分方程:解此方程就可以绘制出电场线.下面是写微分方程的函数文件:function ydot=dcx1fun(t,y,flag,p1,p2)%p1,p2是参量,表示电量ydot=[p1*(y(1)+2)/(sqrt((y(1)+2).^2+y(2).^2).^3)+...p2*(y(1)-2)/(sqrt((y(1)-2).^2+y(2).^2).^3);%dx/dt=Exp1*y(2)/(sqrt((y(1)+2).^2+y(2).^2).^3)+...p2*y(2)/(sqrt((y(1)-2).^2+y(2).^2).^3)];%dy/dt=Ey这里的y是微分方程的解矢量,它包含两个分量,y(1)表示x,y(2)表示y,解出y后就得到了x与y的关系,即可依此绘制出电场线.编写好函数文件后,命名为dcx1fun.m存在当前路径下,然后开始编写解微分方程的主程序dcx1.m:p1=10; p2=10; %点电荷所带电量axis([-5,5,-5,5]); %设定坐标轴范围-5≤x≤5,-5≤y≤5hold on %图形控制,不可擦除模式plot(2,0,'*r'); plot(-2,0,'*r') %绘制两源电荷a=(pi/24):pi/12:(2*pi-pi/24);%圆周上电场线起点所对应的角度b=0.1*cos(a);c=0.1*sin(a);%电场线起点所对应的相对坐标b1=-2+b;b2=2+b; %把起点圆周的圆心放置在源电荷处b0=[b1 b2]; c0=[c c]; %初始条件,所有电场线的起点%的横、纵坐标构成了矢量b0和c0for i=1:48 %循环求解48次微分方程[t,y]=ode45('dcx1fun',[0:0.05:40],[b0(i),c0(i)],[ ],p1,p2);%调用ode45求解,对应一个初条件(起点),求解出一条电场线plot(y(:,1),y(:,2),'b') %绘制出此条电场线end %结束循环,共绘制出48条电场线在确定初始条件时,因为源点处是奇点,这点上微分方程的分母为0,所以电场线不能从源点处绘制,而应当从它附近的邻域圆上绘制. 我们将电场线的起点定在以源点为圆心,0.1为半径的圆周上.在程序中就是通过从圆周上取了24个不同的角度(从π/24到2π-π/24,每隔π/12取一个角度),然后算出每个角度上的起点的横、纵坐标值;[b1,c]和[b2,c]分别是以两个源点电荷为圆心,0.1为半径的邻域圆周上的起点位置. b0=[b1 b2],c0=[c c]是合并矢量,将两个源点处的初始条件组成的矢量放在一起处理.最后所得结果如图1左图所示,将左端源电荷附近放大可以看到这些电场线的起点都在源电荷的邻域圆上,如图1右图所示. 从这个圆周上发出的电场线共24条,另一端也是相同的情况.图1 等量同号点电荷的电场线(二)带电粒子在均匀电磁场中的运动设带电粒子质量为m,带电量为,电场强度E沿方向,磁感应强度B沿qyz方向. 则带电粒子在均匀电磁场中的运动微分方程为令,,则上面微分方程可化作:选择E和B为参量,就可以分别研究0≠E,0=B和,等情况. 下面编写微分方程函数文件ddlzfun.m:0=E0≠Bfunction ydot=ddlzfun(t,y,flag,q,m,B,E) %q,m,B,E为参量ydot=[ y(2);q*B*y(4)/m;y(4);q*E/m-q*B*y(2)/m;y(6);0];再编写解微分方程的主程序ddlz.m:q=1.6e-2; m=0.02; %为粒子的带电量和质量赋值B=2; E=1; %为电磁场的磁感强度和电场强度赋值[t,y]=ode23('ddlzfun',[0:0.1:20],...[0,0.01,0,6,0,0.01],[ ],q,m,B,E);%用ode23解微分方程组,时间设为20s%指定初始条件,传递相关参数plot3(y(:,1),y(:,3),y(:,5),'linewidth',2);%绘出三维空间内粒子运动的轨迹,线宽2磅grid on %开启坐标网格线xlabel('x'); ylabel('y'); zlabel('z'); %为坐标轴命名运行结果如图2所示. 研究时可以采用不同的初始条件和不同的参量观察不同的现象. 例如令E=0,B=2,所得结果如图3所示.图2 现有参数运行结果图3 修改参数运行结果(三)利用matlab软件仿真电荷在变化磁场中的运动程序一%电荷在非均匀磁场中的运动v=10;sita=pi/6; %设定带电粒子的初速度及入射角v=v*cos(sita);u=v*sin(sita); %计算x,y方向的初速度w=0;[t,y] = ode23('yy',[0:0.002:2],[0,v,0,u,0,w]); %求解名为“yy”的微分方程组figure %描绘运动轨迹plot(t,y(:,1)); %绘制一般二维曲线%comet(t,y(:,1)); %绘制二维动态曲线xlabel('t');ylabel('x');figureplot(t,y(:,3));%comet(t,y(:,3));xlabel('t');ylabel('y');figureplot(t,y(:,5));%comet(t,y(:,5));xlabel('t');ylabel('z');figureplot(y(:,3),y(:,5));%comet(y(:,3),y(:,5));xlabel('y');ylabel('z');figureplot3(y(:,1),y(:,3),y(:,5)) %绘制一般三维曲线图%comet3(y(:,1),y(:,3),y(:,5)) %绘制三维动态轨迹xlabel('x');ylabe('y');zlabel('z');%电荷在非均匀磁场中运动的微分方程function f=yy(t,y);global A; %定义全局变量A=100; %设定qB0/mf=[y(2);0;y(4);A*y(6)*y(1);y(6);-A*y(4)*y(1)]; %写入微分方程图(4-1)电荷在x轴上运动轨迹图(4-3)电荷在z轴上的运动轨迹图(4-4)电荷在yz平面上的运动轨迹结论通过以上学习可以看下出,利用Matlab强大的计算与图像功能模拟各类物理场的实验是成功的。

matlab空心圆柱线圈的电磁场数值模拟 源代码

matlab空心圆柱线圈的电磁场数值模拟 源代码

一、概述电磁场模拟是电磁学领域中一项重要的研究工作,它对于理解电磁现象、设计电磁设备以及解决实际工程问题具有重要意义。

在电磁场数值模拟中,使用计算机软件进行仿真是一种常见的手段。

Matlab作为一种强大的科学计算软件,被广泛应用于电磁场数值模拟工作中。

本文将重点介绍在Matlab中对空心圆柱线圈的电磁场进行数值模拟的源代码。

二、空心圆柱线圈的电磁场数值模拟原理空心圆柱线圈是一种常见的电磁场源,它在电磁学和电气工程中有着重要的应用。

对空心圆柱线圈的电磁场进行数值模拟,可以帮助我们了解其电磁特性,对其设计和优化提供科学依据。

在空心圆柱线圈的电磁场数值模拟中,通常采用有限元方法或有限差分法进行计算。

本文将以有限元方法为例,介绍在Matlab中实现空心圆柱线圈电磁场数值模拟的源代码。

三、Matlab空心圆柱线圈电磁场数值模拟源代码```matlab定义空心圆柱线圈的几何参数radius_outer = 0.1; 外半径radius_inner = 0.05; 内半径height = 0.2; 高度定义空心圆柱线圈的材料参数mu_r = 1000; 相对磁导率sigma = 1e6; 电导率定义有限元网格nx = 50; x方向网格数ny = 50; y方向网格数nz = 100; z方向网格数创建有限元网格mesh = createMesh([nx, ny, nz], ... [radius_outer, -radius_outer], ... [radius_outer, -radius_outer], ... [0, height]);初始化有限元模拟FEM = createFEM(mesh);FEM = buildFEM(FEM);施加边界条件FEM = applyBoundaryCondition(FEM, 'Dirichlet', 5, 0);施加外部激励excitation = [0; 0; 1.0]; 外部激励磁场FEM.periodic = 0;FEM = addExternalField(FEM, excitation);进行有限元求解FEM = solveFEM(FEM);可视化电磁场visualizeFEM(FEM, 'magnetic_field');```四、结论通过以上源代码,我们可以在Matlab中对空心圆柱线圈的电磁场进行数值模拟。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Matlab 与电磁场模拟
一单电荷的场分布:
单电荷的外部电位计算公式:
等位线就是连接距离电荷等距离的点,在图上表示就是一圈一圈的圆,而电力线就是由点向
外辐射的线。

MATLAB 程序:
theta=[0:.01:2*pi]'; r=0:10; x=sin(theta)*r; y=cos(theta)*r; plot(x,y,'b')
x=linspace(-5,5,100); for theta=[-pi/4 0 pi/4] y=x*tan(theta); hold on ; plot(x,y); end grid on
单电荷的等位线和电力线分布图:
r q
04πεφ=
二多个点电荷的电场情况:
模拟一对同号点电荷的静电场
设有两个同号点电荷,其带电量分别为+Q1和+Q2(Q1、Q2>0 )距离为2a则两电荷在点P(x, y)处产生的电势为:
由电场强度可得E = -∇U,在xOy平面上,电场强度的公式为:
为了简单起见,对电势U做如下变换:。

Matlab程序:
q=1;
xm=2.5;
ym=2;
x=linspace(-xm,xm);
y=linspace(-ym,ym);
[X,Y]=meshgrid(x,y);
R1=sqrt((X+1).^2+Y.^2);
R2=sqrt((X-1).^2+Y.^2);
U=1./R1+q./R2;
u=1:0.5:4;
figure
contour(X,Y,U,u)
grid on
legend(num2str(u'))
hold on
plot([-xm;xm],[0;0])
plot([0;0],[-ym;ym])
plot(-1,0,'o','MarkerSize',12) plot(1,0,'o','MarkerSize',12) [DX,DY] = gradient(U);
quiver(X,Y,-DX,-DY);
surf(X,Y,U);
同号电荷的静电场图像为:
同理,将程序稍作修改,便可以得到异号电荷的静电场图像:
三、线电荷产生的电位:
设电荷均匀分布在从z=-L 到z=L,通过原点的线段上,其密度为q(单位C/m),求在xy 平面上的电位分布。

点电荷产生的电位可表示为是一个标量。

其中r 为电荷到测量点的距离。

线电荷所产生的电位可用积分或叠加的方法来求。

为此把线电荷分为N 段,每段长为dL 。

每段上电荷为q*dL,看作集中在中点的点电荷,它产生的电位为 然后对全部电荷求和即可。

把xy 平面分成网格,因为xy 平面上的电位仅取决于离原点的垂直距离R ,所以可以省略一维,只取R 为自变量。

把R 从0到10米分成Nr+1点,对每一点计算其电位。

Matlab 程序: clear all;
L=input(‘线电荷长度L =’); N=input(‘分段数N =’);
/4V Q r πε=
Nr=input(‘分段数Nr=’);
q=input(‘电荷密度q= ’);
E0=8.85e-12;
C0=1/4/pi/E0;
L0=linspace(-L,L,N+1);
L1=L0(1:N);L2=L0(2:N+1); Lm=(L1+L2)/2;dL=2*L/N; R=linspace(0,10,Nr+1); for k=1:Nr+1
Rk=sqrt(Lm.^2+R(k)^2);
Vk=C0*dL*q./Rk;
V(k)=sum(Vk);
end
[max(V),min(V)]
plot(R,V),grid
线电荷产生的静电位分布图:
四计算平面上N个电荷之间的库伦引力
1 建模:
由库仑定律:
先输入电荷的数目,各电荷的坐标及电荷量,再选一个电荷,求其它电荷对它的作用力,叠加求合力。

再选下一个电荷,依次类推。

Matlab程序:
clear all;
N = input('ÊäÈëµçºÉÊýÄ¿N=:');
for ic = 1:N
fprintf('----/n¸öµçºÉ#%g\n',ic);
rc = input('ÊäÈëµçºÉλÖÃ[x,y]£¨Ã×£©:');
x(ic) = rc(1);
y(ic) = rc(2);
q(ic) = input('ÊäÈëµçºÉÁ¿£¨¿âÂØ£©£º');
end
E0 = 8.85e-12;
C0 = 1/(4*pi*E0);
for ic = 1:N
Fx = 0.0;Fy = 0.0;
for jc = 1:N
if(ic ~= jc)
xij = x(ic)-x(jc);yij = y(ic)-y(jc);
Rij = sqrt(xij^2+yij^2);
Fx=Fx+C0*q(ic)*q(jc)*xij/Rij^3;
Fy=Fy+C0*q(ic)*q(jc)*yij/Rij^3;
end
end
fprintf('ÆäËüµçºÉ×÷ÓÃÔÚµçºÉ#%gÉϵĺÏÁ¦Îª£º\n',ic);
fprintf('x-·ÖÁ¿:%e\n',Fx);
fprintf('y-·ÖÁ¿:%e\n',Fy);
end
五有限差分法处理电磁场问题Matlab程序:
m=40
for k=1:m
for j=1:m
if k==1
V(j,k)=1;
elseif((j==1)|(j==m)|(k==m))
V(j,k)=0;
else
V(j,k)=0.5;
end
end
end
cha=0.01;
delta=0;
n=0;
while(1)
n=n+1;
for k=2:m-1
for j=2:m-1
Vnew(j,k)=1/4*(V(j+1,k)+V(j-1,k)+V(j,k+1)+V(j,k-1)); d=abs((Vnew(j,k)-V(j,k))/V(j,k));
if d>delta
delta=d;
end
V(j,k)=Vnew(j,k);
end
end
if delta>cha
break;
end
if(n>100)
break;
end
delta=0.;
end
结果为:。

相关文档
最新文档