您好,欢迎来到九壹网。
搜索
您的当前位置:首页MATLAB在电磁学中的应用

MATLAB在电磁学中的应用

来源:九壹网
.

电磁学

一、

1、点电荷的电场

研究真空中,两个带正电的点电荷,在电量相同和电量不同情况下的电场分布。

V=Vqq1+V2=

124+

0r14,E=-▽V

0r22、程序实现

主程序文件名为point.m clear all ep0=8.85*le-12; %真空中的电容率

c0=1/(4*pi*ep0); e=1.6e-10; h=0.018; x=-0.5:h:0.5; y=-0.5:h:0.5;

str{1}=’两同号等量点电荷’; str{2}=’两同号不等量点电荷’; [X,Y]=meshgrid(x,y); q=[e;1.9*e]; for i=1:2

V=c0*e./sqrt((X+0.2).^2+Y.^2)+c0.*q(i)./sqrt((X-0.2).^2+Y.^2); [Ex,Ey]=gradient(-V,h); %求电场

figure(i)

.

%求电势

.

counter(X(:,:,1),Y(:,:,1),V,… %等势面

[20,-20,19,-19,18,-18,17,-17,16,-16,15,-15,14,-14,13,-13,12,-12,11,-11,10,-10],’r’);

Axis([-0.38,0.38,-0.28,0.28]) hold on phi=0:pi/17:2*pi;

%以下画电场线

sx1=0.2+0.01*cos(phi); sy1=0.01*sin(phi);

streamline(X(:,:,1),Y(:,:,1),Ex,Ey,sx1,sy1); hold on

sx2=-0.2+0.01*cos(phi); sy2=0.01*sin(phi);

streamline(X(:,:,1),Y(:,:,1),Ex,Ey,sx2,sy2); title(str(i))

text(-0.215,0,’+’,’fontsize’,20); text(0.185,0,’+’,’fontsize’,20); end

二、带电细棒的电场

1、若电荷Q均匀分布在长为L的细棒上,求真空中,带电细棒的电场在xy平面内的分布情况。

%标示点电荷

.

.

dVV40xyl2dq2

L/2L/240xyl2dy2

点电荷产生的电位可表示为 VQ/4r0 是一个标量。其中r为电荷到测量点的距离。线电荷所产生的电位可用积分或叠加的方法来求。为此把线电荷分为N段,每段长为dL。每段上电荷为q*dL,看作集中在中点的点电荷,它产生的电位为dVqdL然后对全部电荷求和即可。 4r0把xy平面分成网格,因为xy平面上的电位仅取决于离原点的垂直距离R,所以可以省略一维,只取R为自变量。把R从0到10米分成Nr+1点,对每一点计算其电位。

2、程序实现

matlab程序 clear all;

L=input('线电荷长度L=:'); N=input('分段数N=:'); 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)

三、带电圆环的电场

1、真空中,一个半径为R的圆形细环上,均匀分布电荷Q,求其电场强度的分布。

V40120Rd

xRcos2yRsin2z2

主程序的文件名为ering.m 2、程序

.

.

clear all lam=1e-9;

%带电环的电荷线密度

%真空中的电容率 %归并常数

ep0=8.85*1e-12;

c0=lam/(4*pi*ep0); R=1.2; y=-6:0.1:6; z=-6:0.1:6; phi=0:pi/60:2*pi;

%带电环半径

[Y,Z,PHI]=meshgrid(y,z,phi);

r=sqrt(R*cos(PHI).^2+Y-R*sin(PHI).^2+Z.^2); dv=c0./r;

V=pi/40*trapz(dv,3);

%求电势

%求电场

[Ey,Ez]=gradient(-V,0.2); figure

axis([-5 5 -5 5]);

line(R,0,'marker','.','markersize',25,'color','k'); line(-R,0,'marker','.','markersize',25,'color','k'); hold on

%画带电环的yz截面

contour(Y(:,:,1),Z(:,:,1),V,[2,4,6,8,10,12,14,16,18,20,22,24,28,30,32],'g')%画电势分布 hold on sz=0.1;

sy=[0.3:0.15:1.5];

.

.

[Sy,Sz]=meshgrid(sy,sz); %计算电场线分布

streamline(Y(:,:,1),Z(:,:,1),Ey,Ez,Sy,Sz); streamline(-Y(:,:,1),Z(:,:,1),-Ey,Ez,-Sy,Sz); streamline(-Y(:,:,1),-Z(:,:,1),-Ey,-Ez,-Sy,-Sz); streamline(Y(:,:,1),-Z(:,:,1),Ey,-Ez,Sy,-Sz); streamline(Y(:,:,1),Z(:,:,1),Ey,Ez,0,0); streamline(Y(:,:,1),-Z(:,:,1),Ey,-Ez,0,0); streamline(Y(:,:,1),Z(:,:,1),Ey,Ez,1.5,0); streamline(Y(:,:,1),Z(:,:,1),Ey,Ez,-1.5,0); xlabel('y'); ylabel('z');

title('带电圆环的电势及电场分布') 四、平面上N个电荷之间的库仑引力

建模: 由库仑定律:

Fq1q2/40r3

其分量的公式可以写成:

Fxq1q2(x2x1)/40r3Fyq1q2(y2y1)/40r3r(x2x1)2(y2y1)2编写程序时,先输入电荷的数目,各电荷的坐标及电荷量,再选一个电荷,求其

.

.

它电荷对它的作用力,叠加求合力。再选下一个电荷,依次类推。

Matlab程序: clear all;

N = input('输入电荷数目N=:');

for ic = 1:N %输入给定条件 fprintf('----/n对电荷#%g\\n',ic); rc = input('输入电荷位置[x,y](米):');

x(ic) = rc(1); %电荷ic的x坐标 y(ic) = rc(2); %电荷ic的y坐标 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-分量:%gN\\n',Fx); fprintf('y-分量:%gN\\n',Fy); end

本程序注意学会循环提示并输入参数的方法,以及用双循环解决较复杂的计算过程的编程问题。 练习:

一、载流圆环的磁场

1、在真空中,在一个半径为R的载流导线,通过的电流I,试求此载流圆环磁感强度B的空间分布。

clear all R=1.5; I0=100;

mu0=4*pi*1e-7;C0=mu0/(4*pi); N=20; %电流环分段 x=linspace(-3,3,N);y=x; %观察点范围 theta0=linspace(0,2*pi,1+N); %环的圆周角分段 theta1=theta0(1:N);

y1=R*cos(theta1);z1=R*sin(theta1); %环隔断矢量起始坐标y1,z1 theta2=theta0(2:N+1);

y2=R*cos(theta2);z2=R*sin(theta2); %终点坐标y2,z2

xc=0;yc=(y2+y1)./2;zc=(z2+z1)./2; %计算环隔断矢量中点的三个坐标分量 dlx=0;dly=y2-y1;dlz=z2-z1; for i=1:N %循环计算B(x,y)的值 for j=1:N

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; dlXr_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; end end

subplot(1,2,1),quiver(x,y,Bx,By),%画矢量图 hold on

plot(0,1.5,'ro',0,-1.5,'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]) %画磁场大小分布图 xlabel('x'),ylabel('y'),zlabel('B')

结果:

二、、带电粒子在电磁场中的运动

1、有均匀电场E和均匀磁场B两者方向互相垂直,分三种情况研究带电粒子在其中的运动情况。(1)电场强度和磁感应强度都不为零;(2)电场强度为零,磁感应强度不为零;(3)电场强度不为零,磁感应强度为零。

代码:

m=1;Bz=1;q=1;Ey=1;Ez=1;vx=1;vy=1;vz=1;%电场强度和磁场强度都不为0 a=q*Bz/m; t=1:0.01:100;

x=Ey/Bz*t+vy/a-vy/a*cos(a*t)+(vx-Ey/Bz)/a*sin(a*t); y=vy/a*sin(a*t)+(vx-Ey/Bz)/a*cos(a*t)-(vx-Ey/Bz)/a; z=vz*t+a*t.^2/2;

axes('Position',[0.3,0.6,0.4,0.4]);

plot3(x,y,z,'g'); xlabel('X');ylabel('Y');zlabel('Z');

m=1;q=1;Ey=1;Ez=1;vx=1;vy=1;vz=1;%磁场强度为0,电场强度不为0. t=linspace(0,100,10000); x=vx*t;

y=q*Ez/(2*m)*t.^2++vy*t; z=vz*t;

axes('Position',[0.6,0.1,0.4,0.4]);

.

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 91gzw.com 版权所有 湘ICP备2023023988号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务