MATLAB论文 12010245257 刘晓娜_第1页
MATLAB论文 12010245257 刘晓娜_第2页
MATLAB论文 12010245257 刘晓娜_第3页
MATLAB论文 12010245257 刘晓娜_第4页
MATLAB论文 12010245257 刘晓娜_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、MATLAB语言课程论文基于MATLAB在电磁场中的应用姓名:刘晓娜学号:12010245257 专业:电子信息工程班级:10级电子班指导老师:汤全武 学院:物理电气信息学院 完成日期:2011年12月22号基于MATLAB在电磁场中的应用(刘晓娜 12010245257 2010级电子班)【摘要】大学物理电磁学中涉及许多复杂的问题,例如仿真电荷在变化磁场中的运动、模拟带电粒子在磁场中的运动等问题,针对电磁场学习理论性强,概念抽象等特点,matlab是处理这些问题的很好的工具,通过具体实例进行仿真、绘制相应的图形,使其形象化,便于对其理解和掌握。将Matlab引入电磁学中利用其可视化功能对电磁

2、学实验现象进行计算机模拟,可以提高学习效率,形成可视化学习,丰富了学习内容,提高了对电磁场理论知识的兴趣。关键词: MATLAB语言 电磁学 仿真 计算机模拟 图形绘制一、问题的提出MATLAB语言是当今国际上科学界(尤其是自动控制领域)最具影响力、也是最有活力的软件。它提供了强大的科学运算、灵活的程序设计流程、高质量的图形可视化与界面设计、便捷的与其他程序和语言接口的功能。MATLAB语言在各国高校与研究单位起着重大的作用。它是一种集数值计算、符号运算、可视化建模、仿真和图形处理等多种功能。现在怎样通过Matlab软件工具,来解决点电荷电场、线电荷产生的电位、平面上N个电荷之间的库仑力、仿真

3、电荷在变化磁场中的运动和模拟带电粒子在电磁场中的运动等问题?二、点电荷电场的问题 问题描述: 真空中,两个带正电的点电荷,在电量相同和电量不同情况下的电场分布。根据电学知识,若电荷在空间激发的电势分布为V,则电场强度等于电势梯度的负值,即: 根据题意:真空中若以无穷远处为电势零点,则在两个点电荷的电场中,空间的电势分布为: 程序实现:>> clear allep0=8.85*1e-12;c0=1/(4*pi*ep0);e=1.60e-10;h=0.018;x=-0.5:h:0.5;y=-0.5:h:0.5; X,Y=meshgrid(x,y);q=e;1.9*e;for i=1:2

4、 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) contour(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); sy1=0.01*sin(phi); s

5、treamline(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( figure(i)text(-0.212,0,'+','fontsize',20);text(0.187,0,'+','fontsize',20);end运行结果如下。图1 两个同号等量电荷的电场分布 图2 两个同号不等量电荷的电场分布三、线电

6、荷产生的电位设电荷均匀分布在从z=-1到z=1,通过远点的线段上,起密度为q(单位C/m),求在xy平面上的电位分布。 点电荷产生的电位可表示为V=Q/4r是一个标量。其中r为电荷到测量点的距离。线电荷所产生的电位可用积分或叠加的方法来求。为此把线电荷分为N段,每段长为dl.每段上的电荷为q*dl,看作集中在中点的点电荷,它产生的电位为dv=qdl/4r然后对全部电荷求和即可。把xy平面分成网络,因为xy平面上的电位仅取决于离原点的垂直距离R,所以可以省略一维,只取R为自变量,把R从0到10米分成Nr+1点,对每一点计算其电位。 Matlab程序>> clear all;L=inp

7、ut('线电荷长度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);endmax(V),min(V);plot(R

8、,V);grid L 5 N 50 Nr 50q=:1运行结果: 图3 线电荷产生的静电位分布图 四、平面上N个电荷之间的库仑引力建模: 由库仑定律: 其分量的公式可以写成; 编写程序时,先输入电荷的数目,各电荷的坐标及电荷量,再选一个电荷,求其它电荷对它的作用力,叠加求合力。再选下一个电荷,依次类推。Matlab程序:>> clear all;N = input('输入电荷数目N=:');for ic = 1:N %输入给定条件 fprintf('-/n对电荷#%gn',ic); rc = input('输入电荷位置x,y(米):'

9、); x(ic) = rc(1); %电荷ic的x坐标 y(ic) = rc(2); %电荷ic的y坐标 q(ic) = input('输入电荷量(库仑):');endE0 = 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(xij2+yij2); Fx = Fx+C0*q(ic)*q(jc)*xij/Rij3;

10、Fy = Fy+C0*q(ic)*q(jc)*yij/Rij3; end endfprintf('其它电荷作用在电荷#%g上的合力为:n',ic); fprintf('x-分量:%gNn',Fx); fprintf('y-分量:%gNn',Fy);end本程序注意学会循环提示并输入参数的方法,以及用双循环解决较复杂的计算过程的编程问题。输入已知条件:输入电荷数目N=3-对电荷#1输入电荷位置x,y(m):1 2输入电荷量(库仑):2-对电荷#2输入电荷位置x,y(m):1 1输入电荷量(库仑):1-对电荷#3输入电荷位置x,y(m):3 3输入电

11、荷量(库仑):3计算结果:其它电荷作用在 # 1 上的合力为:X-分量为:-9.65102e+009NY-分量为 1.31581e+010其它电荷作用在 # 2 上的合力为:X-分量为:-2.38431e+009NY-分量为 -2.03679e+010其它电荷作用在 # 3 上的合力为:X-分量为:1.20353e+010NY-分量为 7.20982e+009五利用MATLAB模拟带电粒子在磁场中的运动 带电粒子在磁场中运动时会受到洛伦兹力的作用,且随着初始运动方向和磁场分布的不同,其运动轨迹会发生不同的变化。 由洛伦兹力的推导公式可知,它垂直于粒子的运动速度,不对运动粒子做功,只改变其运动方

12、向,其大小为: . 因此,综合牛顿运动定律就可以精确确定带电粒子在磁场中的运动轨迹。1、用matlab数值模拟的方法模拟磁聚焦现象。即在均匀磁场中某点引入一发散角不大的带电粒子束,并使束中粒子的速度v大致相同。 一束发散角度不大的带电粒子束,当它们在磁场B的方向上具有大致相同的速度分量,如上一个实验分析,它们有相同的螺距。经过一个周期后它们将重新会聚在另一点。(1)三维图实验程序:>> t=0:0.01:2*pi;a1=0.5.*(t-pi);for m=(-16:2:16)*pi/180; axis(0,7,-1,1,-0.4,0.4); grid on; view(12,18)

13、; hold on; comet3(cos(m)*t,2*sin(m).*cos(a1).2,2*sin(m).*cos(a1).*sin(a1); plot3(cos(m).*t,2*sin(m).*cos(a1).2,2*sin(m).*cos(a1).*sin(a1);end图4 模拟磁聚焦现象2 平行于磁场的方向实验程序:>> t=0:0.01:2*pi;a1=0.5.*(t-pi);for m=(-16:2:16)*pi/180; axis(-1,1,-0.4,0.4); grid on; hold on; comet(2*sin(m).*cos(a1).2,2*sin(

14、m).*cos(a1).*sin(a1); plot(2*sin(m).*cos(a1).2,2*sin(m).*cos(a1).*sin(a1);endxlabel('y');ylabel('z'); 图5 模拟磁聚焦现象六利用matlab软件仿真电荷在变化磁场中的运动程序一:%电荷在非均匀磁场中的运动>> v=10;sita=pi/6; %设定带电粒子的初速度及入射角v=v*cos(sita);u=v*sin(sita); %计算x,y方向的初速度w=0;t,y = ode23('yy',0:0.002:2,0,v,0,u,0,w

15、); %求解名为“yy”的微分方程组figure %描绘运动轨迹plot(t,y(:,1); %绘制一般二维曲线%comet(t,y(:,1); %绘制二维动态曲线xlabel('t');ylabel('x');figureplot(t,y(:,3);%comet(t,y(:,3);xlabel('t');ylabel('y');figureplot(t,y(:,5);%comet(t,y(:,5);xlabel('t');ylabel('z');figureplot(y(:,3),y(:,5);%

16、comet(y(:,3),y(:,5);xlabel('y');ylabel('z');figureplot3(y(:,1),y(:,3),y(:,5) %绘制一般三维曲线图%comet3(y(:,1),y(:,3),y(:,5) %绘制三维动态轨迹xlabel('x');ylabe('y');zlabel('z');%电荷在非均匀磁场中运动的微分方程function f=yy(t,y);global A; %定义全局变量A=100; %设定qB0/mf=y(2);0;y(4);A*y(6)*y(1);y(6);-

17、A*y(4)*y(1); %写入微分方程截图图6 电荷在x轴上运动轨迹图7 电荷在y轴上的运动轨迹图8 电荷在z轴上的运动轨迹图9 电荷在yz平面上的运动轨迹图9 电荷在yz平面上的运动轨迹图10 电荷在三维空间中的运动轨七、结论 从以上利用MATLAB语言对几种模型的分析我们不难得出以下结论:通过以上学习可以看出,利用Matlab强大的计算与图像功能模拟各类物理场的实验是成功的。用Matlab除了可以解决上述问题以外,还可以解决两根载流长直导线的磁场问题,大地中的电流问题,自由空间电磁波传播过程问题以及电磁场中梯度、散度、旋度问题等诸多问题。该方法不仅为学习大学物理中电磁场等课程提供了良好的

18、辅助手段,同时在科研当中为相关电磁场问题的设计分析开辟了另一条途径。因此,将Matlab工具引入计算机模拟是可行和有必要的,而且具有良好的应用前景。八、课程体会经过一学期紧张而有序的课程学习,在忙碌之余也得到了颇多的收获。我深深体会到MATLAB语言相对于同类程序语言更方便更简洁易懂,通过这次的试验,进一步学习和掌握了Matlab的使用,为今后的学习和应用打下了更好的基础。另外通过这次使用matlab仿真带电粒子在不同条件下在磁场中的运动,深入且形象的认识了带电粒子在磁场中的运动方式,而不在限于之前的理论认识。同时,在实验时也遇到了不少的问题,希望通过这次的学习及今后的进一步学习使用matlab,能更好

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论