收藏 分销(赏)

电磁场第一次仿真报告.doc

上传人:仙人****88 文档编号:7211047 上传时间:2024-12-28 格式:DOC 页数:13 大小:331.50KB 下载积分:10 金币
下载 相关 举报
电磁场第一次仿真报告.doc_第1页
第1页 / 共13页
电磁场第一次仿真报告.doc_第2页
第2页 / 共13页


点击查看更多>>
资源描述
电磁场基础第一次仿真报告 程序于MATLAB 7.11.0 测试通过 目录 题目一 2 问题描述 2 问题分析 2 问题的数值解决 3 画电力线分布图 4 数值法求电场强度 5 简化计算方法 6 实验结论 7 题目二 7 问题描述 7 理论分析 8 算法实现: 9 代码编写: 9 绘制方法的实现原理: 11 精度控制和编程体会 12 实验收获与体会 13 题目一 问题描述 截面为正方形的无限长线电荷如下图所示。设电荷面密度为,边长a=2。x轴上有A、B、C 三点,其坐标为1.5a, 5a, 10a。所有单位均取国际单位制。 图 1 正方形无限长线电荷截面图 (1)画出电力线分布示意图; (2)采用数值方法计算A、B、C 三点处的电场强度。以A点为例,说明计算步骤; (3)对于远离正方形无限长电荷的观察点,是否有简化的计算方法,以C点为例,予以说明,给出简化方法的计算结果;讨论能够采用简化计算方法的条件。 问题分析 对于由无限长的均匀截面电荷,可以把它分解成无数无限长线电荷的集合体。从而,我们可以认为它产生的电场是平行平面场。所以,只需要研究其在XOY平面上的分布,就可以了解其在整个空间的分布。那么,分别计算出每一条线电荷在其周围产生的电场,再进行叠加即可得到整个区域内的电场分布。 对于无限长线电荷,其场强公式,可以知道场强与从电荷到观察点的矢径共线。又因为所给线电荷截面的对称性,可以得到电场在XOY平面上的分布也是对称的。通过定性分析,该电荷在XOY平面上既关于x轴和y轴对称,同时也关于四个象限的角平分线分别对称。由于截面为正方形,并不具有严格的旋转对称性,所以电场在靠近电荷的区域分布并不均匀,具体表现为电场线不严格的放射状分布,而会具有一定的不均匀特性。但在远离电荷的区域,可以将电荷看做一无限长线电荷,电场线沿放射状分布,可以近似认为是直线。 欲求XOY平面内任意点P的电场矢量E,可以先求所有组成线电荷的“小截面”无限长线电荷在P点产生的电场矢量dE,再叠加即可。利用无限长线电荷的场强公式,可以知道坐标为(x,y)的小截面对应线电荷在P点产生的场强 设P(xp,yp),由于已知,那么 将x方向和y方向的电场矢量分别处理,得到 将两方向上的电场对于电荷截面在XOY平面上的平面S(-a/2<x<a/2,-a/2<y<a/2)进行二重积分,得到P点在原线电荷作用下的场强的x分量和y分量 问题的数值解决 画电力线分布图 通过二重积分函数,求解区域一点上Ex和Ey,利用其比值通过欧拉法画出电场线。程序代码如下, clear; axis([-10,10,-10,10]); %规定区域 grid; hold on; dx=1e-1;dy=1e-1; %限定步长 a=1; n=9; X0=[linspace(-a,a,n),a*ones(1,n),-linspace(-a,a,n),-a*ones(1,n)]; Y0=[-a*ones(1,n),linspace(-a,a,n),a*ones(1,n),-linspace(-a,a,n)]; %定义截面边界点 tol=1e-4; for i=1:4*n %每次for循环画出一条电场线 x0=X0(i); y0=Y0(i); X=x0; Y=y0; k=1; while (-10<x0 && x0<10 && -10<y0 && y0<10) Ex=dblquad(@fx,-1,1,-1,1,tol,[],x0,y0); Ey=dblquad(@fy,-1,1,-1,1,tol,[],x0,y0); %二重积分计算出电场强度的x和y分量 if (Ex^2+Ey^2<tol) %超出范围,中止 break; elseif (abs(Ex)>=abs(Ey)) x0=x0+sign(Ex)*dx; y0=y0+(Ey/Ex)*sign(Ex)*dx; else y0=y0+sign(Ey)*dy; x0=x0+(Ex/Ey)*sign(Ey)*dy; %通过判断场强大小,决定规定步长的增长方向,减小误差 %场强的正负代表当前场强的方向,应考虑其符号,即sign end; X(k+1)=x0;Y(k+1)=y0; %每次while循环,画出一个点,存入数组 k=k+1; end switch rem(i,6) %画出六种不同颜色的线条 case 0 plot(X,Y,'y',-X,Y,'y'), case 1 plot(X,Y,'r',-X,Y,'r'), case 2 plot(X,Y,'b',-X,Y,'b'), case 3 plot(X,Y,'k',-X,Y,'k'), case 4 plot(X,Y,'c',-X,Y,'c'), case 5 plot(X,Y,'g',-X,Y,'g'), otherwise plot(X,Y,'r',-X,Y,'r'), end end hold off; 其中,fx与fy分别求取x和y方向电场强度积分式的值。 得到图形如下: 图 2 题目1电场线分布 我们取正方形截面的边界上的40个点作为起点,区域边界(坐标系边界)为终点。这样画出的电场线与理论分析在一定程度上一致,在步长取值合适时可以准确的表征区域内任意点的场强方向。但这种绘图方法并不能准确描述某点电场的强弱,例如x轴上并无电场线,但是其场强并不是0,电场线较密的区域的场强也不一定比其他区域要大。 值得说明的是,本题的特殊情况在于无异种电荷,所以设置的终止条件在一般问题中并不完整。 数值法求电场强度 从题目中知道,建立直角坐标系后,所求三点均位于x轴上。不妨令一般点P(x0,0),那么由之前的对称性分析可以知道,其电场强度的y轴分量为0(或者也可以利用二重积分的性质,正负相消,此处略去)。那么,容易得到所求场强Ep的表达式为 对于此二重积分,利用MATLAB求其数值解, 假设求解A点,那么x0=3,程序如下 EA=dblquad('(3-x)./((3-x).^2+y.^2)',-1,1,-1,1) EA = 1.329014306625494 同样的方法,可以得到 EB=dblquad('(10-x)./((10-x).^2+y.^2)',-1,1,-1,1) EB = 0.399989334748447 EC=dblquad('(20-x)./((20-x).^2+y.^2)',-1,1,-1,1) EC = 0.199999666669431 所得场强结果随观测点与线电荷之间的距离增大而减小,与放射状的电场的强度变化趋势一致。 简化计算方法 在绘制电场线时,发现当观察点距离电荷较远时,电场线的扩散形状与点电荷的电场分布十分相似。从上一问求解区域内点的场强的过程知道,当x0趋于无穷时,则有 那么 也就是说,计算简化的条件是x0足够大,也就是所求区域内的点距离电荷足够远。这从定性的角度比较容易理解:当距离足够远时,截面为正方形的线电荷可以等效为忽略截面形状和大小的线电荷,因此通过化简的等式计算也足够准确。 下面,从理论上计算此种近似处理算法的精度。设误差为,那么 对其进行不等式变换, 式子右侧的二重积分可以通过直接积分法给出结果,即 当x趋于0时,由泰勒展开式 取三阶,略去三次方以后的项,带入误差公式得到, 所以,误差关于1/x0三阶收敛于0,也就是说,近似的简化公式关于x0具有三阶精度。 以C点为例,也就是x0=10a=20时,简化计算结果为0.2,而精确数值计算结果如上问所示。那么,其绝对误差为3.3333*10-7,而相对误差为1.6667*10-4%。简化公式计算结果比数值计算结果偏大。并且其实际误差的数量级比估计误差的数量级依然高两个数量级,表明在C点已经可以用简化公式代替原公式进行计算。 实验结论 (1) 计算电场: 正方形无限长线电荷在空间形成的电场可以用分割的方法通过二重积分来计算; (2) 考虑误差: 在足够远的区域内,可以用简化公式代替原公式计算对应点场强,该公式三阶收敛于准确解,误差不超过。 题目二 问题描述 真空中无限长细线如下图所示(工程背景:双回直流线路),,a = 2,在的范围内画出不少于10 条起点和终点分别在+τ 和-τ 附近的电场线。可以任意选择起点和终点。用Matlab 自行编写画电场线的程序,必须说明起点和终点的定义。内容包括: (1) 程序实现原理; (2) 绘制出的电场线图(画出导线的任意位置,指出起点和终点); (3) 需要说明的内容(如程序精度控制,编程体会等)。 图 3 仿真作业题目二 理论分析 这四条无限长细线构成的依然是平行平面场,于是可以在XOY平面上进行分析。平面内任意一点的场强E可以认为是四条线电荷产生场强的叠加,而对于每条线电荷,在XOY平面某点产生的场强为: 其中矢量r代表电荷线点到观察点的距离矢量。按照题目中建立直角坐标系,那么令四条线电荷对应的坐标为: 根据叠加原理,四条线电荷在平面内任意点P(xp,yp)产生的总场强 又因为 同时将代入得到 绘制电场线的依据是: 也就是 欧拉法,由差分替代积分,同时进行步长叠加得到 在终止条件满足之前,一直进行迭代。 算法实现: 代码编写: 根据欧拉法,利用叠加原理,编写代码如下: clear; axis([-6,6,-6,6]); %限定绘制范围 grid; N=9; a=2; hold on; plot(-a,a,'or',a,a,'or',-a,0,'or',a,0,'or'); %画代表线电荷的小圆 step=-1e-2; %规定步长(从负电荷触发,步长为负) angl=-pi:pi/N:pi; %代表不同初始点的角度 r=0.2; X0=-a+r*cos(angl); Y0=r*sin(angl); %负电荷P3周围的初始点 for i=1:2*N+1 %每次for循环,画出一条电场线 x0=X0(i);y0=Y0(i); X=x0;Y=y0; k=1; while (-6<x0 && x0<6 && -6<y0 && y0<6) r1=(x0+a)^2+(y0-a)^2; r2=(x0-a)^2+(y0-a)^2; r3=(x0+a)^2+y0^2; r4=(x0-a)^2+y0^2; %计算距离的平方 if (r1<abs(step)||r2<abs(step)) %电场线到达正电荷附近,中止 break; else Ex=(x0+a)/r1+(x0-a)/r2-(x0+a)/r3-(x0-a)/r4; Ey=(y0-a)/r1+(y0-a)/r2-y0/r3-y0/r4; %计算电场强度x和y方向分量 if Ex^2+Ey^2<1e-6 break; %电场线超出范围,中止 elseif abs(Ex)>=abs(Ey) %场强x分量较大,以其为步长增长方向 x0=x0+sign(Ex)*step; y0=y0+(Ey/Ex)*sign(Ex)*step; else %场强y分量较大,以其为步长增长方向 y0=y0+sign(Ey)*step; x0=x0+(Ex/Ey)*sign(Ey)*step; end end X(k+1)=x0;Y(k+1)=y0; k=k+1; end switch rem(i,6) %画出不同颜色的电场线 case 0 plot(X,Y,'y',-X,Y,'y'), case 1 plot(X,Y,'r',-X,Y,'r'), case 2 plot(X,Y,'b',-X,Y,'b'), case 3 plot(X,Y,'k',-X,Y,'k'), case 4 plot(X,Y,'c',-X,Y,'c'), case 5 plot(X,Y,'g',-X,Y,'g'), otherwise plot(X,Y,'r',-X,Y,'r'), end end hold off; 得到结果如下, 图 4 单向绘制电场线(N=9,step=1e-2) 注意到,从负电荷出发到正电荷的电场线,以及从无穷远到负电荷的电场线可以绘制,但是正电荷到无穷远的电场线未能准确绘制。这是因为起点的选取只在负电荷,即P3和P4周围。所以,改进程序,加入以正电荷周边为起始点的电场线绘制,得到结果如下: 图 5 双向绘制电场线(N=9,step=1e-2) 绘制方法的实现原理: 关于步长: 为了保证电场线步长增量方向与实际相同,步长向量(也就是())应该与该点的电场强度矢量同向共线。所以,在设置坐标变化量的语句中,应加入sign()函数。 减小绘制误差的方法: 由于电场线有时会相对x方向或者y方向表现的很陡,所以步长step应该加在哪个方向上要视情况而定,这样可以有效的减小绘制的误差,提高精确度。具体的算法设计上,当Ex>Ey时,,而当Ex<Ey时,。这样做的好处是可以保证每个方向上的步长增量都小于或等于step,避免过于陡峭造成的误差增大。 起始点和终止点的选取: 绘制的电场线从正电荷出发,则以超出范围或到达负电荷附近为终点;若从负电荷出发,则以超出范围(-6,+6)或到达正电荷附近(r12+r22<tol)为终止。所以在程序中加入反向绘制的代码,以表达整个电场内的场强方向。 值得说明的是,正方向与反方向绘制同一条电场线,并不完全重合,存在一定的绘制误差。 镜像处理: 由于电荷分布左右对称,所以采用镜像处理,在画出左边电场线后直接镜像到右侧,这样一来美观,二来节省程序运行时间,同时也不失准确性。 精度控制和编程体会 从程序中可以看到,N和step这两个变量控制着绘制的精度,下面考虑这两个变量对绘制造成的影响。 改变N=18,得到图形如下: 图 6 双向绘制电场线(N=18,step=1e-2) 可以看到,绘制电场线数量增多,也在一定程度上更清楚的反映了该电荷分布下电场的性质。 如果改变step=1e-1,得到电场分布如下: 图 7 双向绘制电场线(N=9,step=1e-1) 与图5对比,可以看出,减小step后,虽然图形形状大致不变,但是绘制的精度有了明显的降低。双向绘制同一条电场线时所得结果之间的误差也明显增大。 综上所述,两个变量中N主要改变绘制电场线的条数,改变它可以更清楚的表述电场的空间整体分布特征;而step的大小主要控制某一条电场线的方向的精度,增加到1e-2或1e-3左右即可满足大多数精度要求。 另外,和问题一相同的是,这种绘制方法由于起始点确定,电场中的电场线疏密并不能准确代表场强的大小。这是采用此数值方法绘制电场线的缺点。 在编程过程中,理解“终止条件”,即电场中的“无穷远”和“到达异种电荷”的意义十分重要。此外,应该善于从底到上的编写程序,保证程序运行正确。 实验收获与体会 通过本次实验,我掌握了无限长电荷产生场强的计算方法,学习了将实际电荷通过无限划分和效果叠加的方法计算场强。另外,也掌握了利用这种思想“化无限为有限”,在MATLAB中利用数值方法计算电场强度和绘制电场线的方法。借助有力的计算工具,就可以绘制任意带电体的场强。 13
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 小学其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服