MATLAB在电磁学中的应用

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

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

V=V i+V2= q i+—^ ,E=-▽ V
小%* 4“0「2
2、程序实现
主程序文件名为point.m
clear all
ep0=8.85*le-12; %真空中的电容率
cO=F(4*pi*epO);
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).A2+Y.A2)+c0.*q(i)./sqrt((X-0.2).A2+Y.A2); %求电势[Ex,Ey]=gradie nt(-V,h); % 求电场
figure(i)
cou nter(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"; Axis([-0.38,0.38,-0.28,0.28])
hold on
phi=0:pi/17:2*pi; %以下画电场线
sx1=0.2+0.01*cos(phi);
sy 1=0.01*si n( phi);
streamli ne(X(:,:,1),Y(:,:,1),Ex,Ey,sx1,sy1);
hold on
sx2=-0.2+0.01*cos(phi);
sy2=0.01*si n( phi);
streamli ne(X(:,:,1),Y(:,:,1),Ex,Ey,sx2,sy2);
title(str(i))
text(-0.215,0,'+:'fo ntsize;20); %标示点电荷
text(0.185,0,'+:'fo ntsize,20);
end
二、带电细棒的电场
1、若电荷Q均匀分布在长为L的细棒上,求真空中,带电细棒的电场在xy平面内的分布情况。

dq
4兀名0 X2+ (y _ l F 】
dy
L/2
亠/24“° X2+ (y - I )2】
点电荷产生的电位可表示为V二Q/4「:r;o 是一个标量。

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

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

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

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

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

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

2、程序实现
matlab程序
clear all;
L=input('线电荷长度L=:'); N=input('分段数N=:'); Nr=input('分段数Nr=:');
q=input('电荷密度q=:');
E0=8.85e-12;
C0=14/pi/E0;
L0=li nspace(-L,L,N+1); L1=L0(1:N);L2=L0(2:N+1);
Lm=(L1+L2)/2;dL=2*L/N;
R=li nspace(0,10,Nr+1); for k=1:N r+1
Rk=sqrt(Lm.A2+R(k)A2);
Vk=C0*dL*q./Rk;
V(k)=sum(Vk);
end
[max(V),mi n(V)] plot(R,V)
三、带电圆环的电场1、真空中,一个半径为R的圆形细环上,均匀分布电荷Q,求其电场强度的分布。

1 2二■ Rd
0 : 2 2 2
4z o寸(x — Rcos® ) + (y — Rsin® ) + 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)A2+Y-R*si n(PHI)A2+Z. A2);
dv=c0./r;
V=pi/40*trapz(dv,3); %求电势
[Ey,Ez]=gradie nt(-V,0.2); % 求电场
figure
axis([-5 5 -5 5]);
line(R,0,'marker','.','markersize',25,'color','k'); %画带电环的yz截面
lin e(-R,0,'marker','.','markersize',25,'color','k');
hold on
con tour(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); %计算电场线分布
streamli ne(Y(:,:,1),Z(:,:,1),Ey,Ez,Sy,Sz);
streamli ne(-Y(:,:,1),Z(:,:,1),-Ey,E z,-Sy,Sz); streamli ne(-Y(:,:,1),-Z(:,:,1),-Ey,-E z,-Sy,-Sz); streamli ne(Y(:,:,1),-Z(:,:,1),Ey,-Ez,Sy,-Sz); streamli
ne(Y(:,:,1),Z(:,:,1),Ey,Ez,0,0);
streamli ne(Y(:,:,1),-Z(:,:,1),Ey,-Ez,0,0);
streamli ne(Y(:,:,1),Z(:,:,1),Ey,Ez,1.5,0); streamli ne(Y(:,:,1),Z(:,:,1),Ey,Ez,-1.5,0); xlabel('y');
ylabel('z');
title('带电圆环的电势及电场分布')
四、平面上N个电荷之间的库仑引力
建模:
由库仑定律:
F 二14;°r3
其分量的公式可以写成:
3
F x 二舶2区- xJ/4 ;°r
3
F y 二q&(y2 - yJ/4 0「
—;'(X2 - N)2 (y2 - yj2
编写程序时,先输入电荷的数目,各电荷的坐标及电荷量,再选一个电荷,求其它电荷对它的作用力,叠加求合力。

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

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; %真空中的常数
CO = 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 A2+yij A2);
Fx = Fx+C0*q(ic)*q(jc)*xij/RijA3;
Fy = Fy+C0*q(ic)*q(jc)*yij/RijA3;
end
end
fprintf('其它电荷作用在电荷#%g上的合力为:\n',ic);
fprin tf('x-分量:%gN\n',Fx);
fprin tf('y-分量:%gN\n',Fy);
end
本程序注意学会循环提示并输入参数的方法,以及用双循环解决较复杂的计算过程的编程问题。

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

clear all R=1.5; 10=100;
mu0=4*pi*1e-7;C0=mu0/(4*pi); N=20; %电流环分段
x=lin space(-3,3,N);y=x; %观察点范围 %环的圆周角分段
环隔断矢量起始坐标 y1,z1 终点坐标y2,z2 %计算环隔断矢量中点的三个坐标分量
%r 的3个长度分量,r 在z=0平面 把环各段参数的磁场分量累加
画矢量图
%画磁场大小分布图
B')
结果:
theta0=li nspace(0,2*pi,1+N); theta 1=theta0(1:N);
y1=R*cos(theta1);z1=R*sin(theta1); % theta2=theta0(2:N+1);
y2=R*cos(theta2);z2=R*si n( theta2); % 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;
r3=sqrt(rx.A 2+ry.A 2+rz.A 2).A 3; dlXr_x=dly.*rz-dlz.*ry; dlXr_y=dlz.*rx-dlx.*rz; Bx(i)=sum(C0*l0.*dlXr_x./r3)% By(i,j)=sum(C0*l0.*dlXr_y./r3); B=(Bx.A2+By.A2).A0.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(
3
x 10
二、、带电粒子在电磁场中的运动
1、有均匀电场E 和均匀磁场B 两者方向互相垂直,分三种情况研究带电粒子在 其中的运动情况。

(1)电场强度和磁感应强度都不为零;(2)电场强度为零, 磁感应强度不为零;(3)电场强度不为零,磁感应强度为零。

代码:
m=1;Bz=1;q=1;Ey=1;Ez=1;vx=1;vy=1;vz=1;% 电场强度和磁场强度都不为
a=q*Bz/m; t=1:0.01:100;
x=Ey/Bz*t+vy/a-vy/a*cos(a*t)+(vx-Ey/Bz)/a*si n(a*t); y=vy/a*si n(a*t)+(vx-Ey/Bz)/a*cos(a*t)-(vx-Ey/Bz)/a; z=vz*t+a*t.A 2/2;
axes(卩ositio n',[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=li nspace(0,100,10000); x=vx*t;
y=q*Ez/(2*m)*t.A2++vy*t; z=vz*t;
axes( 'Positio n',[0.6,0.1,0.4,0.4]); plot3(x,y,z); xlabel('X'); ylabel('Y'); zlabel('Z');
m=1;Bz=1;q=1;Ey=0;Ez=0;vx=1;vy=1;vz=1; % 电场强度为 0,磁场强度不为 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*si n(a*t); y=vy/a*si n(a*t)+(vx-Ey/Bz)/a*cos(a*t)-(vx-Ey/Bz)/a; z=vz*t+a*t.A2/2;
axes('Positi on ',[0.1,0.1,0.4,0.4]);
plot3(x,y,z,'k'); xlabel('X');ylabel('Y');zlabel('Z');
结果:
、三个电荷量相等的电荷 q 固定在一边长a=1米的等边三角形的顶点上试编
6
0 150

40
V =
写一段计算机程序,画出三电荷系统 x 轴线上的电势分布
1 X I

代码:
clear all a=1;%边长
e0=8.85*10A (-12); q=1.6e-10; % 电量 q pi=3.14;
x=0.1:0.01:6;
V=(q/(4*pi*e0))*(2./sqrt((aA2)/4+(x-(a/2)*sqrt (3))人2)-1似);% 求电势
plot(x,V,'b',[0,6],[0,0],'k') % 画轴线上的电势曲线 xlabel('x/m');ylabel('V/V') grid
四、在zOy 平面上有一半径为 R 的圆环,均匀带有电荷量q 。

试用作图的方法 求圆环轴线(Ox 轴)上的电场强度和电势的分布,并讨论在什么位置它们有极 大值。

qx
3
4二
x 2 R 2 2
q 4二 0
x 2 R 2
代码:
R=0.1;
x=(-8:0.001:8)*R; %
E=x./(RA2+x.A2)A(3/2); %
V=1./sqrt(R A2+x.A2); % 轴线上的位置
轴线上的电场强度分布
计算轴线的电势分布
subplot(2,1,1)
plot(x,E,[-0.8 0.8],[0 0],'k',[0 0],[-40 40],'k') %
结果:
1■电场强度和电势的分布
2极大值位置
Exm =
0.0707
Vxm =
由输出可知电场强度极大值x=0.0707(m)
电势极大值位置x=0画轴线上的电场强度曲线
xlabel('x/m');ylabel('E/V/m'); subplot(2,1,2) plot(x,V,[0 0],[0
15]) % xlabel('x/m');ylabel('V/V'); [Em, n1]=max(E);
Exm=R*(( n1-1)*0.001-8) % [Vm, n2]=max(V);
Vxm=R*(( n2-1)*0.001-8) %
画轴线上的电势曲线
输岀电场强度极大值的位置输出电势极大值位置。

相关文档
最新文档