带电粒子在电磁场中运动的MATLAB仿真.docx

上传人:b****5 文档编号:11837227 上传时间:2023-04-05 格式:DOCX 页数:16 大小:255.37KB
下载 相关 举报
带电粒子在电磁场中运动的MATLAB仿真.docx_第1页
第1页 / 共16页
带电粒子在电磁场中运动的MATLAB仿真.docx_第2页
第2页 / 共16页
带电粒子在电磁场中运动的MATLAB仿真.docx_第3页
第3页 / 共16页
带电粒子在电磁场中运动的MATLAB仿真.docx_第4页
第4页 / 共16页
带电粒子在电磁场中运动的MATLAB仿真.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

带电粒子在电磁场中运动的MATLAB仿真.docx

《带电粒子在电磁场中运动的MATLAB仿真.docx》由会员分享,可在线阅读,更多相关《带电粒子在电磁场中运动的MATLAB仿真.docx(16页珍藏版)》请在冰豆网上搜索。

带电粒子在电磁场中运动的MATLAB仿真.docx

带电粒子在电磁场中运动的MATLAB仿真

第1章概述错...误!

未定义书签

第2章MATLAB的基础知识错.误!

未定义书签

MATLAB使用介绍错..误!

未定义书签

MATLAB的基本知识错..误!

未定义书签

利用MATLAB作图错..误!

未定义书签

第3章实验原理及仿真结果分析错.误!

未定义书签

带电粒子在电磁场中运动的原理错.误!

未定义书签

质量较大的带电微粒在复合场中的运动错误!

未定义书签

带电粒子垂直射入E和B正交的叠加场的运动分析错误!

未定义书签

实验内容错..误!

未定义书签

第4章MATLAB仿真的应用错.误!

未定义书签

用MATLAB仿真带电粒子在磁场中运动的优点错误!

未定义书签

用MATLAB仿真在物理实验中的应用错.误!

未定义书签

第5章总结错...误!

未定义书签

参考文献错...误!

未定义书签

附录错...误!

未定义书签

第1章概述

计算机数值模拟的研究方法已成为继实验研究和理论分析之外的第三种研究手段,在基础物理学习中适当引入计算机数值方法,有助于将一些高深的物理知识深入浅出、生动形象地学习。

随着计算机的普及,MATLAB在基础物理中的应用日益广泛。

MATLAB是当今最优秀的科技应用软件之一,它以强大的科学计算与可视化功能、简单易用、开放式可扩展环境,特别是所附带的30多种面向不同领域的工具箱支持,使得它在许多科学领域中成为计算机辅助设计和分析、算法研究和应用开发的基本工具和首选平台。

MATLAB具有其他高级语言难以比拟的一些优点,如编写简单、编程效率高、易学易懂等,因此MATLAB语言也被通俗地称为演算纸式科学算法语言。

在控制、通信、信号处理及科学计算等领域中,MATLAB都被广泛地应用,已经被认为能够有效提高工作效率、改善设计手段的工具软件,掌握了MATLAB好比掌握了开启这些专业领域大门的钥匙[1]。

带电体在复合场中运动的基本分析:

这里所讲的复合场指电场、磁场和重力场并存,或其中某两场并存,或分区域存在,带电体连续运动时,一般须同时考虑电场力、洛仑兹力和重力的作用。

在不计粒子所受的重力的情况下,带电粒子只受电场和洛仑兹力的作用,粒子所受的合外力就是这两种力的合力,其运动加速度遵从牛顿第二定律。

在相互垂直的匀强电场与匀强磁场构成的复合场中,如果粒子所受的电场力与洛仑兹力平衡,粒子将做匀速直线运动;如果所受的电场力与洛仑兹力不平衡,粒子将做一般曲线运动,而不可能做匀速圆周运动,也不可能做与抛体运动类似的运动。

在相互垂直的点电荷产生的平面电场与匀强磁场垂直的复合场中,带电粒子有可能绕场电荷做匀速圆周运动。

第2章MATLAB的基础知识

MATLAB使用介绍

在Windows窗口中用鼠标双击Matlab图标即可进入Matlab的工作窗口

(CommandWindow),如图2-11所示。

没有图标可利用Matlab\bin目录下的文件在桌面上建立一个快捷方式。

退出Matlab的方法有三种:

单击工作窗口右上角的关闭按钮;用菜单File→ExitMatlab命令;或者直接在工作窗口中输入quit后回车。

工作窗口是标准的Windows窗口形式,用户在命令窗口中输入各种指令,进行运算;在左侧的变量窗口中监控当前所创立的所有变量[2]。

 

图2-1Matlab工作窗口

MATLAB的基本知识

2.2.1MATLAB基本命令

MATLAB基本命令如下表所示

表2-1MATLAB基本命令

主题词

含义

主题词

含义

format

设置数据显示格式

feval

函数求值

who

显示变量名

input

提示输入

whos

显示变量信息

disp

输出

clear

清除内存变量

tic

启动秒表

save

保存工作变量到文件

toc

时间读数(秒)

load

从文件装载变量

help

帮助

linspace

区间等分

lookfor

查找

length

获取数组长度

type

列程序清单

size

矩阵大小

which

查找文件目录

max

最大值

double

双精度

min

最小值

str2num

字符串转化为数值

sum

求和

num2str

数值转化为字符串

2.2.2数据和变量

1.表达式

在命令窗口作一些简单的计算,就如同使用一个功能强大的计算器,使用变量无须预先定义类型。

几个表达式可以写在一行,用分号(;)或逗号(,)分割,用分号(;)使该表达式运算结果不显示,而逗号(,)则显示结果。

也可以将一个长表达式分

在几行上写,用三点(⋯)续行

若需要修改已执行过的命令行,可以在命令历史中找到该命令行复制,再粘贴至命令窗口修改。

也可以直接使用键盘↑↓调出已执行过的命令行修改。

2.数据显示格式

MATLAB默认的数据显示格式为短格式(short):

当结果为整数,就作为整数显示;当结果是实数,以小数点后四位的长度显示。

若结果的有效数字超出一

定范围,以科学计数法显示(如表示3.2106)。

数据显示格式可使用命令Format改变。

3.预定义变量

MATLAB有一些预定义变量(表2-2),启动时就已赋值,可以直接使用,如前我们使用的圆周率pi和虚数单位i。

表2-2常用预定义变量

变量名

说明

i或j

虚数单位1

pi

圆周率⋯

eps

浮点数识别精度2^(-52)=2.22041016

realmin

最小正实数2.225110308

realmax

最大正实数1.797710308

inf

无穷大

NaN

没有意义的数

4.用户变量

MATLAB变量名总以字母开头,以字母、数字或下划线组成,区分大小写,有效字符长度为63个。

如A,a,a1,a_b都是合法的,且a与A表示不同变量在CommandWindow中使用的变量一旦被赋值,就会携带这个值存在于工作空间,直到被清除或被赋予新的值。

2.2.3数组和矩阵运算

MATLAB基本数据单元是无需指定维数的数组。

数组运算是MATLAB最鲜明的特点,一方面可以使得计算程序简明易读,另一方面可以提高计算速度。

1.数组的输入

最常用的数组是双精度数值数组(doublearray)。

一维数组相当于向量,二维数组相当于矩阵,一维数组可以视为二维数组的特例。

二维数组的第一维称为“行”,第二维称为“列”。

MATLAB数组无需预先定义维数。

直接输入数组的元素,用中括号([])表示一个数组,同行元素间用空格或逗号分隔,不同行间用分号或回车分隔。

2.数组运算

数组运算是指数组对应元素之间的运算,也称点运算。

矩阵的乘法、乘方和除法有特殊的数学含义,并不是数组对应元素的运算,所数组乘法、乘方和除法的运算符前特别加了一个点。

特别要区分数组运算在乘法、乘方和除法上的意义和表示上与矩阵运算的不同[3]。

表2-3数组运算符

运算

符号

说明

数组加与减

A+B与A-B

对应元素之间加减

数乘数组

k*A或A*k

k乘A的每个元素

数与数组加减

k+A或k-A

k加(减)A的每个元素

数组乘数组

A.*B

点运算只有点乘、点乘方、点除三个,表示对

数组乘方

A.^k,k.^A

应元素之间的运算;(.*)是一个整体,点(.)不

数除以数组

k./A

能漏掉,(.)和(*)之间也不能有空格

数组除法

左除A.\B,右除B./A

3.数学函数

数组的数学函数也是按每个元素的运算,使用通常的函数符号,常用数学函数见表2-4

表2-4数学函数

函数

意义

函数

意义

sin

正弦

fix

向0取整

cos

余弦

mod

模余

tan

正切

rem

除法余数

cot

余切

abs

绝对值(模)

asin

反正弦

exp

指数函数

acos

反余弦

log

自然对数

sqrt

开方

log10

以10为底的对数

利用MATLAB作图

1.常用作图命令和函数(表2-5)

表2-5常用作图命令和函数

主题词

含义

主题词

含义

plot

基本二维图形

clabel

等高线高度标志

fplot

一元函数图像

grid

格栅

ezplot

画二维曲线的符号命令

hold

图形保持

plot3

空间曲线

axis

定制坐标轴

meshgrid

网格数据生成

view

改变视点

mesh

网面图

subplot

子图

surf

曲面图

figure

新图形窗口

contour

等高线图

clf

清除图形

contour3

三维等高线图

close

关闭图形窗口

title

标题

ylabel

y轴说明

xlabel

x轴说明

zlabel

z轴说明

2.曲线图

plot(x,y)作出以数据(x(i),y(i))为节点的折线图,其中x,y为同长度的向量

fplot('fun',[a,b])作出函数fun在区间[a,b]上的函数图,fun可以是M函数主名,也可是字符串

ezplot(fun,lims)绘制字符串fun(可是显函数、隐函数或参数方程)指定的函数plot3(x,y,z)空间曲线图,其中x,y,z为同长度向量图形显示在图形窗口。

在图形窗口可以使用File菜单保存(Save)为M文件,导出(Export)为图形文件。

也可利用图形窗口Edit菜单Copyfigure作为图片复制到剪贴板,从而进一步粘贴到Word或其他应用程序中。

图形的线型、标记、颜色均可根据要求设定。

常用的见表2-6。

表2-6图形元素设定

颜色

线型

标记

b

蓝(默认)

-

实线(默认)

无标记(默认)

g

绿

虚线

r

-.

点划线

o

m

洋红

--

划线

x

y

+

十字

k

3.曲面图

[x,y]=meshgrid(xa,ya)

当xa,ya分别为m维和n维行向量,得到x和y均为n行m列矩阵。

meshgrid常用于生成X-Y平面上的网格数据

mesh(x,y,z)

绘制网面图,是最基本的曲面图形命令,其中x,y,z是

同阶矩阵,表示曲面三维数据

surf(x,y,z)

绘制曲面图,与mesh用法类似

contour(x,y,z)

绘制等高线图,与mesh用法类似

contour3(x,y,z)

绘制三维等高线图,与mesh用法类似

4.图形说明和定制

title('字符串')

图形标题说明

xlabel,ylabel,zlabel

用法类似于title,分别说明坐标轴x,y,z

gridon/off

显示/不显示格栅

boxon/off

使用/不使用坐标框

axis([a,b,c,d])

定制二维坐标轴范围a

axis([a,b,c,d,e,f])

定制三维坐标轴范围a

figure

开一个新图形窗口

close

关闭现有图形窗口

legend(str1,str2,⋯⋯)

图例,字符串str1,str2,⋯⋯依次为各图形对象说明

第3章实验原理及仿真结果分析

带电粒子在电磁场中运动的原理

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

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

FqBsin(3—1)

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

质量较大的带电微粒在复合场中的运动

这里我们只研究垂直射入磁场的带电微粒在垂直磁场的平面内的运动,并分几种情况进行讨论。

(1)只受重力和洛仑兹力:

此种情况下,要使微粒在垂直磁场的平面内运动,磁场方向必须是水平的。

微粒所受的合外力就是重力与洛仑兹力的合力。

在此合力作用下,微粒不可能再做匀速圆周运动,也不可能做与抛体运动类似的运动。

在合外力不等于零的情况下微粒将做一般曲线运动,其运动加速度遵从牛顿第二定律;在合外力等于零的情况下,微粒将做匀速直线运动。

无论微粒在垂直匀强磁场的平面内如何运动,由于洛仑兹力不做功,只有重

力做功,因此微粒的机械能守恒,即:

2)微粒受有重力、电场力和洛仑兹力:

此种情况下。

要使微粒在垂直磁

场的平面内运动,匀强磁场若沿水平方向,则所加的匀强电场必须与磁场方向垂直。

在上述复合场中,带电微粒受重力、电场力和洛仑兹力。

这三种力的矢量和

即是微粒所受的合外力,其运动加速度遵从牛顿第二定律。

如果微粒所受的重力与电场力相抵消,微粒相当于只受洛仑兹力,微粒将以洛仑兹力为向心力,以射入时的速率做匀速圆周运动。

若重力与电场力不相抵,微粒不可能再做匀速圆周运动,也不可能做与抛体运动类似的运动,而只能做一般曲线运动。

如果微粒所受的合外力为零,即所受的三种力平衡,微粒将做匀速直线运动。

无论微粒在复合场中如何运动,洛仑兹力对微粒不做功。

若只有重力对微粒

做功,则微粒的机械能守恒;若只有电场力对微粒做功,则微粒的电势能和动能

恒,用公式表示为:

 

带电粒子垂直射入

E和B正交的叠加场常见的模型就是速度旋转器。

如图

3-1(a)所示,粒子受力特点——电场力F与洛仑兹力f方向相反。

粒子匀速通过速度选择器的条件——带电粒子从小孔S1水平射入,匀速通过

叠加场,并从小孔S2水平射出,从不同角度看有三种等效条件:

从力的角度—电场力与洛仑兹力平衡,即:

qEBq0;从速度角度——v0的大小等于E与B

的比值,即:

v0E;从功的角度——电场力对粒子不做功,即:

WFqEd0;B

两个重要的功能关系——当粒子进入速度选择器时速度v0E,粒子将因侧B

移而不能通过选择器。

如图3-1(b),设在电场方向侧移d后粒子速度为v,当vE时:

粒子向fB

方向侧移,F做负功—粒子动能减少电势能增加,有:

12

2mv02

qEd

 

有:

F做正功——粒子动能增加,电势能减少,

1mv02qEd

12

mv

2

(a)

b)

 

图3-1速度选择器原理图

实验内容

1、1.用Matlab数值模拟的方法模拟带电粒子在恒定磁场中的螺旋运动,即

带电粒子进入磁场的方向与磁场方向的角度(0

90)。

1)带电粒子质量为m,电量为q(q>0)的带电粒子在均匀稳定的电磁场中的

运动微分方程为:

2

mdrqEqB

3-4)

以电磁场中某点为原点,以E为Oy方向,B为Oz方向建立坐标系O-xyz。

由于qBm,则上式的投影方程为:

d2xdt2d2ydt2d2zdt2

dy

dt

qEdx

mdt

3-5)

将其转换为一阶微分线性方程组,以便用差分替代微分作数值计算,令

dydx,w3y,w4

w1x,w2

,w5z,w6dzdt,则上式化简为:

 

3-6)

dw1

dt

dw2

dt

dw3

dt

dw4

dt

dw5

dt

dw6

dt

w2

w4

w4qEmw6

0

面使用MATLABR2009b编写程序,分三种情况考虑

1电场强度和磁场强度都不为零;

2电场强度为零,磁场强度不为零;

3电场强度不为零,磁场强度为零。

程序见附录1

运行程序得到该带电粒子在均匀稳定的电磁场中的运动轨迹如图3-2所示:

图3-2带电粒子在均匀稳定的电磁场中的运动轨迹

若只有分量,粒子将沿磁场B方向作匀速直线运动,当两分量同时存在时,带

电粒子的运动轨迹将是一条螺旋线。

用MATLABR2009b编写程序,源程序见附录

2.

运行程序,得到带电粒子的运动轨迹如图3-3所示:

图3-3带电粒子的运动轨迹(螺旋线)

第4章MATLAB仿真的应用

用MATLAB仿真带电粒子在磁场中运动的优点

由于电磁场看不见,摸不着,它不像普通的“三态”物质那样由原子、分子构成,也没有可见的形态,但其具有可以被检测的运动速度、能量和动量,占有空间,是一种真实的客观存在。

实验中通过MATLAB数值模拟模拟带电粒子在恒定磁场中的螺旋运动和磁聚焦现象,让我们对带电粒子在磁场中的运动有了更深的感性认识,用MATLAB画出的立体图也更有利于对此的理解,对于对应知识的理解和吸收有很大的帮助。

运用数值模拟方法作出的螺旋线运动和磁聚焦现象的

轨迹不仅生动形象,而且结果是建立在定量计算的基础上的,不是简单的定性的模拟,因此更具有科学性与说服力。

用MATLAB仿真在物理实验中的应用

MATLAB现已成为集数值分析、符号运算、图形处理、系统仿真等功能于一体的科学与工程计算软件平台。

MATLAB的最大特点在于功能强大而界面友好,其丰富的库函数和各种专用工具箱,将使用者从繁琐的底层编程中解放出来,使他们有更多的时间和精力去探究科学问题本身;它对科学计算结果迅捷而准确的可视化能力,有助于使用者化抽象思维为形象思维,从而更好地洞察含义、理解概念、发现规律。

目前,MATLAB已成为工程界最流行的软件工具,在大学理工实验课程教学中的应用亦渐成热点[4]。

在构建物理模型的前提下,利用MATLAB的计算、声音、图像、动画等功能来模拟物理现象,诠释物理规律,演示运动过程,并由此构建学生自主探索问题和解决问题的平台。

利用它开展大学物理计算机模拟实验,一方面使抽象的问题形象化,加深学生对物理现象和规律的理解,提高教学效率,另一方面则有利于激发学的学习兴趣,发展学生的想象力,开发学生的创造力[5]。

在物理实验教学过程中,教师可利用MATLAB绘图和动画功能,选择其中合适的部分用在自己的讲解和演示文稿及多媒体课件中,以便说明讲解的结构,形象地演示物理教学中某些难以理解的内容;或用模拟的图表、动画等展示动态的变化过程和理论模型等,帮助学生了

解和理解所学的知识。

形象而生动,非常便于学生接受。

在信息技术、计算机辅助教学迅速发展的时代,上述工作显示了比较大的发展空间和潜力,已经广泛地引起了学生的各方面兴趣,正在成为学生自我学习的平台,已显示出在提高学生素质、提高学生学习质量以及在教学方法和教学内容改革等方面所具有的优势。

第5章总结

基于MATLAB计算机物理模拟方法实现的物理图像和物理过程,教学意图明

确,操作简单,人机交互性强,交互参数调节方便,响应速度快,具有很高的容错能力。

在物理实验教学中,以MATLAB为实验演示平台,对物理实验现象进行模拟,作为演示配合物理理论的讲授,能使学生加深对物理现象和规律的理解,提高教学效率。

MATLAB绘图和动画功能,能将计算结果或外部文件数据以二维、三维图形呈现而且提供了方便的图形导出功能,其图形可以jpg、tif等多种格式导出,在物理实验教学中开发利用,可作为物理实验CAI课件的素材图[6]。

通过这次试验,进一步学习和掌握了MATLAB的使用,为今后的学习和应用MATLAB打下了更好的基础。

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

同时,在实验时也遇到了不少的问题。

1、还是像上次实验一样不能熟练使用MATLAB软件,导致花费时间较多。

2、模拟效果感觉不是很好。

希望通过这次的学习及今后的进一步学习使用MATLAB,能更好的使用MATLAB解决更多的问题。

参考文献

[1]StevenE.Koonin,秦克诚译.计算物理学.北京:

高等教育出版社,1993.

[2]马文淦等。

计算物理学.合肥:

中国科学技术大学出版社,1992.

[3]张志涌。

精通.北京:

北京航空航天大学出版社,2003.

[4]罗志恒,陆建隆.MATLAB在普通物理教学中的应用[J].物理通报,2003.

[5]梁齐,许晓琳、王明虎.光干涉实验的计算机模拟[J].大学物理验,2003.

[6]张星辉,钟晓春,张世昌.大学物理教学中引用Matlab图像和动画的实践与思考

[J].贵州大报,2004.

附录

附录1

%用Matlab数值模拟的方法模拟带电粒子在恒定磁场中的螺旋运动functionlx

globalqmbe

q=;

m=;

b=[2;1;0];

e=[1;0;1];

figure

strd{1}='e\neq0,b\neq0';

strd{2}='e=0,b\neq0';

strd{3}='e\neq0,b=0';

fori=1:

3

[t,w]=ode23(@ddlzfun,[0:

:

20],[0,,0,6,0,],[],q,m,b(i),e(i));

axes('unit','normalized','position',[+(i-1)*]);

plot3(w(:

1),w(:

3),w(:

5),'linewidth',2);

gridon

title(strd{i},'fontsize',12,'fontweight','demi');

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

view([-51,18]);

end

functionwdot=ddlzfun(t,w,q,m,b,e)%该函数实现(3)式的差分迭代symsqmbe

q=;

m=;

b=[2;1;0];

e=[1;0;1];

wdot=[w

(2);q.*b.*w(4)./m;w(4);q.*e./m-q.*b.*w

(2)./m;w(6);0]

附录2:

%用Matlab数值模拟的方法模拟带电粒子在恒定磁场中的螺旋运动functionlxglobalqmB

[t,y]=ode45(@ddlzfun,[0:

:

20],[0,,0,6,0,],[],q,m,B,0);

%用ode23解微分方程组,时间设为

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

当前位置:首页 > 求职职场 > 简历

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

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