MATLAB论文-12010245257-刘晓娜.doc

上传人:聆听****声音 文档编号:1961604 上传时间:2023-05-02 格式:DOC 页数:12 大小:560KB
下载 相关 举报
MATLAB论文-12010245257-刘晓娜.doc_第1页
第1页 / 共12页
MATLAB论文-12010245257-刘晓娜.doc_第2页
第2页 / 共12页
MATLAB论文-12010245257-刘晓娜.doc_第3页
第3页 / 共12页
MATLAB论文-12010245257-刘晓娜.doc_第4页
第4页 / 共12页
MATLAB论文-12010245257-刘晓娜.doc_第5页
第5页 / 共12页
MATLAB论文-12010245257-刘晓娜.doc_第6页
第6页 / 共12页
MATLAB论文-12010245257-刘晓娜.doc_第7页
第7页 / 共12页
MATLAB论文-12010245257-刘晓娜.doc_第8页
第8页 / 共12页
MATLAB论文-12010245257-刘晓娜.doc_第9页
第9页 / 共12页
MATLAB论文-12010245257-刘晓娜.doc_第10页
第10页 / 共12页
MATLAB论文-12010245257-刘晓娜.doc_第11页
第11页 / 共12页
MATLAB论文-12010245257-刘晓娜.doc_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

MATLAB论文-12010245257-刘晓娜.doc

《MATLAB论文-12010245257-刘晓娜.doc》由会员分享,可在线阅读,更多相关《MATLAB论文-12010245257-刘晓娜.doc(12页珍藏版)》请在冰点文库上搜索。

MATLAB论文-12010245257-刘晓娜.doc

《MATLAB语言》课程论文

基于MATLAB在电磁场中的应用

姓名:

刘晓娜

学号:

12010245257

专业:

电子信息工程

班级:

10级电子班

指导老师:

汤全武

学院:

物理电气信息学院

完成日期:

2011年12月22号

基于MATLAB在电磁场中的应用

(刘晓娜120102452572010级电子班)

【摘要】大学物理电磁学中涉及许多复杂的问题,例如仿真电荷在变化磁场中的运动、模拟带电粒子在磁场中的运动等问题,针对电磁场学习理论性强,概念抽象等特点,matlab是处理这些问题的很好的工具,通过具体实例进行仿真、绘制相应的图形,使其形象化,便于对其理解和掌握。

将Matlab引入电磁学中利用其可视化功能对电磁学实验现象进行计算机模拟,可以提高学习效率,形成可视化学习,丰富了学习内容,提高了对电磁场理论知识的兴趣。

[关键词]:

MATLAB语言电磁学仿真计算机模拟图形绘制

一、问题的提出

MATLAB语言是当今国际上科学界(尤其是自动控制领域)最具影响力、也是最有活力的软件。

它提供了强大的科学运算、灵活的程序设计流程、高质量的图形可视化与界面设计、便捷的与其他程序和语言接口的功能。

MATLAB语言在各国高校与研究单位起着重大的作用。

它是一种集数值计算、符号运算、可视化建模、仿真和图形处理等多种功能。

现在怎样通过Matlab软件工具,来解决点电荷电场、线电荷产生的电位、平面上N个电荷之间的库仑力、仿真电荷在变化磁场中的运动和模拟带电粒子在电磁场中的运动等问题?

二、点电荷电场的问题

问题描述:

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

根据电学知识,若电荷在空间激发的电势分布为V,则电场强度等于电势梯度的负值,即:

根据题意:

真空中若以无穷远处为电势零点,则在两个点电荷的电场中,空间的电势分布为:

程序实现:

>>clearall

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

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)

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

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(figure(i))

text(-0.212,0,'+','fontsize',20);

text(0.187,0,'+','fontsize',20);

end

运行结果如下。

图1两个同号等量电荷的电场分布

图2两个同号不等量电荷的电场分布

三、线电荷产生的电位

设电荷均匀分布在从z=-1到z=1,通过远点的线段上,起密度为q(单位C/m),求在xy平面上的电位分布。

点电荷产生的电位可表示为V=Q/4πrε是一个标量。

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

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

为此把线电荷分为N段,每段长为dl.每段上的电荷为q*dl,看作集中在中点的点电荷,它产生的电位为dv=qdl/4πrε然后对全部电荷求和即可。

把xy平面分成网络,因为xy平面上的电位仅取决于离原点的垂直距离R,所以可以省略一维,只取R为自变量,把R从0到10米分成Nr+1点,对每一点计算其电位。

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

L5

N50

Nr50

q=:

1

运行结果:

图3线电荷产生的静电位分布图

四、平面上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

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

输入已知条件:

输入电荷数目N=3

-------对电荷#1

输入电荷位置[x,y](m):

[12]

输入电荷量(库仑):

2

-------对电荷#2

输入电荷位置[x,y](m):

[11]

输入电荷量(库仑):

1

-------对电荷#3

输入电荷位置[x,y](m):

[33]

输入电荷量(库仑):

3

计算结果:

其它电荷作用在#1上的合力为:

X-分量为:

-9.65102e+009N

Y-分量为1.31581e+010

其它电荷作用在#2上的合力为:

X-分量为:

-2.38431e+009N

Y-分量为-2.03679e+010

其它电荷作用在#3上的合力为:

X-分量为:

1.20353e+010N

Y-分量为7.20982e+009

五﹑利用MATLAB模拟带电粒子在磁场中的运动

带电粒子在磁场中运动时会受到洛伦兹力的作用,且随着初始运动方向和磁场分布的不同,其运动轨迹会发生不同的变化。

由洛伦兹力的推导公式可知,它垂直于粒子的运动速度,不对运动粒子做功,只改变其运动方向,其大小为:

....

因此,综合牛顿运动定律就可以精确确定带电粒子在磁场中的运动轨迹。

1、用matlab数值模拟的方法模拟磁聚焦现象。

即在均匀磁场中某点引入一发散角θ不大的带电粒子束,并使束中粒子的速度v大致相同。

一束发散角度不大的带电粒子束,当它们在磁场B的方向上具有大致相同的速度分量,如上一个实验分析,它们有相同的螺距。

经过一个周期后它们将重新会聚在另一点。

(1)三维图

实验程序:

>>t=0:

0.01:

2*pi;

a1=0.5.*(t-pi);

form=(-16:

2:

16)*pi/180;

axis([0,7,-1,1,-0.4,0.4]);

gridon;

view(12,18);

holdon;

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

form=(-16:

2:

16)*pi/180;

axis([-1,1,-0.4,0.4]);

gridon;

holdon;

comet(2*sin(m).*cos(a1).^2,2*sin(m).*cos(a1).*sin(a1));

plot(2*sin(m).*cos(a1).^2,2*sin(m).*cos(a1).*sin(a1));

end

xlabel('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]);%求解名为“yy”的微分方程组

figure%描绘运动轨迹

plot(t,y(:

1));%绘制一般二维曲线

%comet(t,y(:

1));%绘制二维动态曲线

xlabel('t');ylabel('x');

figure

plot(t,y(:

3));

%comet(t,y(:

3));

xlabel('t');ylabel('y');

figure

plot(t,y(:

5));

%comet(t,y(:

5));

xlabel('t');ylabel('z');

figure

plot(y(:

3),y(:

5));

%comet(y(:

3),y(:

5));

xlabel('y');ylabel('z');

figure

plot3(y(:

1),y(:

3),y(:

5))%绘制一般三维曲线图

%comet3(y(:

1),y(:

3),y(:

5))%绘制三维动态轨迹

xlabel('x');ylabe('y');zlabel('z');

%电荷在非均匀磁场中运动的微分方程

functionf=yy(t,y);

globalA;%定义全局变量

A=100;%设定qB0/m

f=[y

(2);0;y(4);A*y(6)*y

(1);y(6);-A*y(4)*y

(1)];%写入微分方程

截图

图6电荷在x轴上运动轨迹

图7电荷在y轴上的运动轨迹

图8电荷在z轴上的运动轨迹

图9电荷在yz平面上的运动轨迹

图9电荷在yz平面上的运动轨迹

图10电荷在三维空间中的运动轨

七、结论

从以上利用MATLAB语言对几种模型的分析我们不难得出以下结论:

通过以上学习可以看出,利用Matlab强大的计算与图像功能模拟各类物理场的实验是成功的。

用Matlab除了可以解决上述问题以外,还可以解决两根载流长直导线的磁场问题,大地中的电流问题,自由空间电磁波传播过程问题以及电磁场中梯度、散度、旋度问题等诸多问题。

该方法不仅为学习大学物理中电磁场等课程提供了良好的辅助手段,同时在科研当中为相关电磁场问题的设计分析开辟了另一条途径。

因此,将Matlab工具引入计算机模拟是可行和有必要的,而且具有良好的应用前景。

八、课程体会

经过一学期紧张而有序的课程学习,在忙碌之余也得到了颇多的收获。

我深深体会到MATLAB语言相对于同类程序语言更方便更简洁易懂,通过这次的试验,进一步学习和掌握了Matlab的使用,为今后的学习和应用打下了更好的基础。

另外通过这次使用matlab仿真带电粒子在不同条件下在磁场中的运动,深入且形象的认识了带电粒子在磁场中的运动方式,而不在限于之前的理论认识。

同时,在实验时也遇到了不少的问题,希望通过这次的学习及今后的进一步学习使用matlab,能更好的使用matlab解决更多的问题。

[参考文献]

[1]刘群英﹒《Matlab在大学物理电磁场中的应用》,渝西学院学报,2005.

[2]王明军李应乐唐静.《MATLAB在电磁场与电磁波课程教学中的应用》,咸阳师范学院学报,2009.

[3]邵小桃郭勇李一玫.《电磁场与电磁波课程的Matlab辅助教学》,电气电

[4]冯慈璋.《电磁场》,高等教育出版社,1983.

[5]李人厚张平安.《精通MATLAB综合辅导与指南》,西安交通大学,1997.

[6]谢处方饶克瑾.《电磁场与电磁波》,人民教育出版社,1979.

[7]刘卫国.MATLAB程序设计与应用(第二版)[M].北京:

高等教育出版社,2006.

11

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

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2