MATLAB在电磁学中的应用.docx

上传人:b****4 文档编号:12162867 上传时间:2023-04-17 格式:DOCX 页数:13 大小:100.88KB
下载 相关 举报
MATLAB在电磁学中的应用.docx_第1页
第1页 / 共13页
MATLAB在电磁学中的应用.docx_第2页
第2页 / 共13页
MATLAB在电磁学中的应用.docx_第3页
第3页 / 共13页
MATLAB在电磁学中的应用.docx_第4页
第4页 / 共13页
MATLAB在电磁学中的应用.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

MATLAB在电磁学中的应用.docx

《MATLAB在电磁学中的应用.docx》由会员分享,可在线阅读,更多相关《MATLAB在电磁学中的应用.docx(13页珍藏版)》请在冰豆网上搜索。

MATLAB在电磁学中的应用.docx

MATLAB在电磁学中的应用

电磁学

一、

1、点电荷的电场

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

V=V1+V2=

+

,E=-▽V

2、程序实现

主程序文件名为point.m

clearall

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];

fori=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])

holdon

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);

holdon

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平面的分布情况。

点电荷产生的电位可表示为

是一个标量。

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

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

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

每段上电荷为q*dL,看作集中在中点的点电荷,它产生的电位为

然后对全部电荷求和即可。

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

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

2、程序实现

 

matlab程序

clearall;

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);

fork=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,求其电场强度的分布。

 

主程序的文件名为ering.m

2、程序

clearall

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([-55-55]);

line(R,0,'marker','.','markersize',25,'color','k');%画带电环的yz截面

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

holdon

contour(Y(:

:

1),Z(:

:

1),V,[2,4,6,8,10,12,14,16,18,20,22,24,28,30,32],'g')%画电势分布

holdon

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个电荷之间的库仑引力

建模:

由库仑定律:

其分量的公式可以写成:

编写程序时,先输入电荷的数目,各电荷的坐标及电荷量,再选一个电荷,求其它电荷对它的作用力,叠加求合力。

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

Matlab程序:

clearall;

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

');

foric=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);%合并常数

foric=1:

N%循环计每个电荷所受的力

Fx=0.0;Fy=0.0;

forjc=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的空间分布。

clearall

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;

fori=1:

N%循环计算B(x,y)的值

forj=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),%画矢量图

holdon

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]);

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*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.1,0.1,0.4,0.4]);

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

结果:

 

三、三个电荷量相等的电荷q固定在一边长a=1米的等边三角形的顶点上试编写一段计算机程序,画出三电荷系统x轴线上的电势分布。

代码:

clearall

a=1;%边长

e0=8.85*10^(-12);

q=1.6e-10;%电量q

pi=3.14;

x=0.1:

0.01:

6;

V=(q/(4*pi*e0))*(2./sqrt((a^2)/4+(x-(a/2)*sqrt(3)).^2)-1./x);%求电势

plot(x,V,'b',[0,6],[0,0],'k')%画轴线上的电势曲线

xlabel('x/m');ylabel('V/V')

grid

结果:

 

四、在zOy平面上有一半径为R的圆环,均匀带有电荷量q。

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

代码:

R=0.1;

x=(-8:

0.001:

8)*R;%轴线上的位置

E=x./(R^2+x.^2).^(3/2);%轴线上的电场强度分布

V=1./sqrt(R^2+x.^2);%计算轴线的电势分布

subplot(2,1,1)

plot(x,E,[-0.80.8],[00],'k',[00],[-4040],'k')%画轴线上的电场强度曲线

xlabel('x/m');ylabel('E/V/m');

subplot(2,1,2)

plot(x,V,[00],[015])%画轴线上的电势曲线

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)%输出电势极大值位置

结果:

1.电场强度和电势的分布

2极大值位置

Exm=

0.0707

 

Vxm=

0

由输出可知电场强度极大值x=0.0707(m)

电势极大值位置x=0

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 经济学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1