电磁场matlab仿真实验

  • 格式:doc
  • 大小:124.50 KB
  • 文档页数:4

下载文档原格式

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

电磁场matlab 仿真实验一

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

分析:将等量异号的电荷的几何中心放置于坐标原点位置,则它们在空间某点p 处产生的点位为:()G q g g q r r q r q r q

02102102

010*******πξπξπξπξπξϕ=-=⎪⎪⎭⎫ ⎝⎛-=-= 其中G 为格林函数 ()()2

2222cos 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

即可汇出入图说使得嗲耨集资周围的长的分布图。

实验二:[例7-6]在半径为R 的导体球外,距球心为d 处放置一电量为4πε0q 的点电荷,求其周围空间电位和电场分布。

分析:点电荷和导体球的镜像电荷所产生的电位在第一章中镜像法一节给出,r 0表示点电荷的位置,r 表示所计算的场点,(r 0>a,r>a )由式(1-99)和式(1-100),只须令q=1即得r r a r r a r r '--'-=20

201ϕ 其中第一项为点电荷产生的电位,第二项为镜像电荷产生的电位。如用球坐标表示为:

()()2/10222

022/102

02cos 2/1cos 21

θθϕrr a a r r rr r r -+--+=

如果用平面极坐标表示为:

()()2/10242022/1022cos 2ln 21cos 2ln 210θπθπϕrr a a r r rr r r a -++-+=-

求空间某点的电场强度为: E=-▽φ

有上述推论的结论,用matlab 的m 语言编写的程序如下:

[x,y]=meshgrid(-10:0.1:10);

[Q,R]=cart2pol(x,y);

R(R<=1)=NaN;

r0=2;a=1;

ar=a/r0;

V1=sqrt((a*ar)^2+R.^2-2*a*ar.*R.*cos(Q));

V2=sqrt(r0^2+R.^2-2*r0*R.*cos(Q));

V=(1/2/pi)*log(r0/a*V1./V2);

contour(x,y,V,7,'v');

hold on

axis equal

tt=0:pi/10:2*pi;

plot(exp(i*tt),'r');

[ex,ey]=gradient(-V);

sx=2+0.3*cos(tt);sy=0.3*sin(tt);

streamline(x,y,ex,ey,sx,sy);

运行上面程序的图的电力线,

但会报错且得不到等位线:

实验小结

经过第一次的实验,我使了matlab对电磁场中的一些如电位线等的仿真练习,但是例题中所给出的matlab源程序当中有很多的问题和错误,第一题的错误通过讨论问题解决。但第二题的问题始终没有完全正确。当然,由于我们之前并未使用过matlab,所以在遇到这到的一系列问题暂时很难自己解决,基本要通过网络等手段,所以今有以后只有深入学习matlab,就能够自己解决问题。