MATLAB静电场电场电势.ppt
,用MATLAB解决电磁场中的问题,-王运霞 鞠萌 费佳成,问题引入,静电场中的电场线,等势线,等势面等图形是一种抽象的模型,在现实世界不具可视化的空间场的物体。所以,形象的模拟出以上问题的图形,对于更进一步学习与研究电场知识有很大的意义。 静电场的问题学习与理解起来具有一定的特殊性:它既有理论数值的计算,又有图形图像的辅助处理与理解。例如:形象的模拟出电场线,等势线,等势面,这能在教学中解决教师的授课难题,又能解决学生的理解上的困难。 近年来,一直有人在不断的探索这方面的问题,并且取得一定的成绩。但还存在一定的缺陷,而Matlab恰好解决了这些问题!这使得这些抽象问题能有一门精确的工具软件来处理完成。这正是Matlab在图像方面问题处理的应用。,问题一:等量同号点电荷的电场线的绘制,问题分析:根据库仑定律:在真空中,两个静止的点电荷之间的作用力与这两个电荷的电量乘积成正比,与它们之间距离的平方成反比,作用力的方向在两个电荷的连线上,两电荷同号为斥力,异号为吸力,他们之间的力F满足: 由电场强度E的定义可知:,对于点电荷,根据场论基础中的定义,有势场E的势函数为: 在matlab中,由以上公式算出各点的电势U,电场强度E后,可以用matlab自带的库函数绘出一对点电荷的电场线和等势线。,源程序 :,q=0.5; xm=2.5; ym=2; x=linspace(-xm,xm);%横坐标向量 y=linspace(-ym,ym); %纵坐标向量 X,Y=meshgrid(x,y); %产生自变量网络坐标 R1=sqrt(X+1).2+Y.2);%第一个正电荷到场点的距离 R2=sqrt(X-1).2+Y.2);%第二个正电荷到场点的距离 U=1./R1+q./R2;%计算电势 u=1:0.5:4;%等势线的电场向量 figure,contour(X,Y,U,u)%画等势线 gridon%有网格 holdon%设置图形保持状态 plot(-xm;xm,0;0)%画水平线 plot(0;0,-ym;ym)%画竖直线 plot(-1,0,o,MarkerSize,12) plot(1,0,o,MarkerSize,12) Ex,Ey=gradient(-U,x(2)-x(1),y(2)-y(1);%用等势梯度求场强的两个分量 dth1=20; th1=(dth1:dth1:180-dth1)*pi/180;%电场线的起始角度 r0=0.1; x1=r0*cos(th1)-1;%电场线的起点横坐标 y1=r0*sin(th1);%电场线的起点纵坐标,streamline(X,Y,Ex,Ey,x1,y1)%画左上电场线 streamline(X,-Y,Ex,-Ey,x1,-y1)%画左下电场线 dth2=dth1/q; %右边电场线角度间隔 th2=(180-dth2:-dth2:dth2)*pi/180; x2=r0*cos(th2)+1;%电场线的起点横坐标 y2=r0*sin(th2);%电场线的起点纵坐标 streamline(X,Y,Ex,Ey,x2,y2) %画右上电场线 streamline(X,-Y,Ex,-Ey,x2,-y2)%画右下电场线 axisequaltight%纵横坐标轴采用等长刻度 title%题目 xlabel(x,fontsize,16)%X轴说明 ylabel(y,fontsize,16)%Y轴说明 text(-xm,-ym+0.5,txt,fontsize,16),结论:,可以清楚的看出同号电荷相互排斥的现象,各电荷的等势线呈圈状围在电荷周围,且越靠近电荷电场线分布越密集,问题二:等量异种电荷的电势,电场的分布,物理理论:平面上在x=2,y=0处有一正电荷,x=-2,y=0处有一负电荷 根据:,源程序:,x,y=meshgrid(-5:0.2:5,-4:0.2:4);%建立数据网格 z=1./sqrt(x-2).2+y.2+0.01)-1./sqrt(x+2).2+y.2+0.01);%电势的表达式 mesh(x,y,z)%三维曲面绘图,可以看出,在不同位置的两正负电荷由于所带电性的不同电势分布也大不相同,也可以说是在某些角度看来是完全相反的。,电场分布:,x,y =meshgrid(-2:0.1:2,-2:0.1:2); %以0.1为步长建立平面数据网格.x,y的取值范围都是-2,2 z=1./sqrt(x-1).2+y.2+0.01)-1./sqrt(x+1).2+y.2+0.01); %电势公式 px,py=gradient(z); %求电势在x,y方向的梯度即电场强度 contour(x,y,z,-12,-8,-5,-3,-1,-0.5,-0.1,0.1,0.5,1,3,5,8,12) %画出等势线 hold on %保留上一次作图痕迹 quiver(x,y,px,py, k) %画出各点上电场的大小和方向,k为图形参数控制%quiver是绘制点x,y处的矢量px,py,即画出各点电场的大小和方向,问题三 :带电粒子在电磁场中的运动,如果一个带电粒子在既有电场又有磁场的区域里运动,则其受到的电磁力为 这里,我们进一步讨论既有电场又有磁场情况下带电粒子的运动情况。,题目:,设质量为m,带电量为q的粒子在磁感应强度为B,电场强度为E的电磁场中运动,建立和求解该问题的微分方程,并分E0,B0;E=0,B0和E0,B=0三种情况画出带电粒子在电磁场中的运动轨迹。,源程序:,syms w x y z t B E m q; %定义变量 E=input(E=);B=input(B=); %输入E和B值 x,y,z=dsolve(D2x=q*B/m*Dy,D2y=q*E/m-q*B/m*Dx,D2z=0,x(0)=0,y(0)=0,z(0)=0,Dx(0)=0.01,Dy(0)=6,Dz(0)=0.01) ; %初始条件取x(0)=y(0)=z(0)=0,Dx(0)=0.01,Dy(0)=6,Dz(0)=0.01 q=1.6e-2; m=0.02; X=subs(x y z); x=X(1),y=X(2),z=X(3), %赋值函数 ezplot3(X(1),X(2),X(3) 运行上述程序,例如,取E=4, B=8可得下列特解并给出图(a)。 x =-15/16*cos(32/5*t)-49/640*sin(32/5*t)+1/2*t+15/16 y =15/16*sin(32/5*t)-49/640*cos(32/5*t)+49/640 z =1/100*t,感想与总结:,经过一学期一学期MATLAB课程学习,我们对一些数学题目有了新的认识。就像这次我们做的有关电场分布以及带电粒子在电磁场中运动的问题,通过编写程序我们可以直观地看到电荷周围的电场分布,以及带电粒子在电磁场中的运动轨迹。让问题变得简单化,可视化,更加易于理解,也加强了我们动手解决问题的能力。 对于MATLAB课程的学习,首先要熟悉基本知识,其次多读一些大神写的程序,他们的程序往往变成规范,简单易读,再有就是一定要亲自动手练习,只有自己亲自敲代码并运行成功,才能切身体会到很多只是看程序所体会不到的东西,才能真正有所收获。,Thanks for listening,