实验五 电子波动性的Matlab仿真
实验目的
1. 练习使用基本随机数发生器 rand()函数来模拟实际的随机过程。 2. 认识电子的波动性,加深对量子力学基本概念 3. 研究电子波长和缝宽的相对大小对衍射的影响
(波粒二象性)的理解。
,比较实物衍射和仿真衍射的异同。
、实验原理
电子双缝衍射是微观粒子具有波动性的重要证明实验
,开始是作为假想实验而提出的
,运
1988年才由To no mura等人做出了该实验。 本次仿真实验依据电子衍射的几率密度函数 用蒙特卡罗随机模拟方法,借助计算机的数据可视化技术、绘图技术 动态随机过程,清晰地演示出电子衍射的全过程。 1. 电子的德布罗意波长
按照德布罗意的物质波理论,任何粒子都具有粒子性和波动性 粒子(电子)相联系的德布罗意波波长:
,构建电子双缝衍射的
(即波粒二象性),与运动
h h p meV
(1)
me=9.1 10-31 (SI)是电
其中普朗克常数h =6.63 10-34 (SI),p和v分别是电子的动量和速度, 子的静止质量。假设电子的速度
v是经过加速电压 U获得的,加速后的电子动能
Ek =eU
其中电子电荷e =1.6 10-19 (SI)。按照爱因斯坦的相对论,电子的运动质量和动能
2 2
Ek 二 mc -mec
其中真空光速c =3 108(SI)。联立(1)(2)(3)式得到电子的波长公式:
h _______________ 1.225 \"O'
j2meeU(1:eU?2meC2) Ju(1 ;0.9783; 10°U)
7 _______________________
9
根据⑷式代入电子的加速电压 U便可得到电子的波长值,一般在 2. 电子双缝衍射的概率模型
10-10m或者1埃级别。
由于电子既是粒子也是波,所以具有波动性,能发生衍射效应,比如双缝衍射。电子
双缝衍射的装置示意图如图
1所示。衍射屏位于x'o'y'平面,观测屏位于xoy平面,缝S1和
S2的宽度均为a,两缝中心间距为(a+ b),衍射屏到观测屏的距离为 为E的自由电子沿Z轴正方向入射到双缝。入射电子波的波函数为:
_(pz _Et)
D。设动量为p、能量
w0eh
根据量子理论,电子经过双缝而在
(5)
t时刻到达观测屏上 P点的衍射波函数为:
a sin( k sin v)
2 k — sin v 2
式中k =2二,, x代表屏上P点的坐标,衍射角 电子在空间某点出现的概率
cos(ka bsin
2
二如图1所示。按照波函数的概率解释,
二波函数绝对值平方
■?(x,t)|2。所以,电子经过双缝在观测
屏上P点出现的概率(实际上是概率密度)
考虑到D >> (a+b),有近似式
⑹(8)式代入 ⑺式,得到电子在屏上 P点出现的概率 (密度):
w x = w0
兀a
其中 A , B 率(密度,即相对概率
sin (Ax) 2
2
2
(Ax)
cos (Bx)
D
。易知(9)式中W0是概率的最大值W(X)max,引入归一化概
Pw(x)
⑷式和(10)式就是本次仿真的理式
sin (Ax) 2
2 cos (Bx) -1 (Ax)
2
3. 随机数据的生成方法
根据上述电子在观测屏上出现的概率
(密度)进行随机抽样,便得到按此概率(密度)函数
根
Pw(X)分布的随机数序列。 在蒙特卡罗方法中,有多种方法可实现按已知分布的随机抽样。 据本文要处理的问题的特点 ,采用Von Neumann的舍选法。舍选法的具体做法是: (1)
察屏上)随机地选取观测屏上一坐标点
算电子在该点的出现概率 Pw(Xi)的值。 (2) 计算机产生一个0至1之间均匀分布的随机数 M;
(3) 将Pw与M进行比较,若Pw》M,则选取该点(Xi, y((意味着此时电子出现在该点);若
Pw < M,则舍去该点,并重复(1)至(3),重新选择坐标点。 通过以上方法,便可以得到一个按 电子衍射随机运动过程的依据。
在(1)(2)步中首先需要生成一个基本的随机数,
rand 或者 rand(m,n,p,…)
Pw(x)分布的随机数序列。这个随机数序列便是我们实现
计算机在一定范围内(观
(Xi, yi),并按(10)式计
这个随机数可用rand()函数产生。其用法:
作用是产生0-1之间均匀分布的随机数。前者每次仅生成1个随机数,后者生成一个mn p… 的随机数组。在(1)步中随机坐标点可以如下生成:假定
x=5e-5*(2*ra nd-1);
将产生[-5e-5,5e-5]
之间均匀分布的随机坐标点
x,每个点出现的概率是相等的。
y坐标
丨-5 10\丨,则命令
的生成方法类似。在(2)步中使用rand函数重新生成均匀分布的随机数
M,该数作为衍射
电子随机出现在屏上某点(人,yj的概率的评价(取舍)标准。若Pw >M,说明电子此次将出现在 该点,否则就不出现。当电子某次出现在点 子(电子的可视化显示):
plot(xi,yi,'.r','markersize',10);
% 画一个 10 像素的红色点
(兀yi)时,则在该点画一个一定大小的点代表电
三、实验内容
1.
观察逐个电子的双缝衍射过程
在电子双缝衍射计算机模拟的编程中
,利用延迟函数pause(n) (n代表延迟时间,单位
n逐个出
是秒,如取n=0.5 )的功能(延迟时间),可以让电子在衍射屏上按指定的时间间隔 现,这样便可动态地演示出衍射条纹的形成过程
,非常清晰地观察到从无规则的点到明暗相
从中可
间条纹的形成过程。图 2、3、4分别是电子数为200、2000、20000时的衍射图。
看出,当电子数目较少时,衍射特征不明显,表现出的是粒子性。但随着电子数目的增多,衍 射特征逐渐明显,表现出波动性。
给定如下参数:加速电压 U=1000V,缝宽a=200nm,双缝间距b=1 Jm,观察屏的范
_5
_5
_5
_5
围-5 10 m乞x乞5 10 m; -4 10 m岂y空4 10 m,衍射屏和观察屏的距离
D=25cm。基于公式(4)(10) 编制电子双缝衍射的仿真程序,使用延迟函数 pause(n),逐个 观察200个电子的衍射行为。要求恰当设置坐标轴背景色和电子颜色,使图形清晰可辨。
出吨子双缝確恸态随机过理的仿真.N=200 皿电子双礙爭康动杰随机过程的仿M.N=2(W 0 5 -5 0 5 ¥ «■£ K10
图2 图3
w电子双缝衍射幼态随机过程的仿M,N=20000
2. 电子波长和缝宽的相对大小对衍射的影响 A.
在1的基础上,绘制20000个
电子的双缝衍射条纹图, 同时为了对照分析,请根据(10) 式绘制电子在屏上出现的概率分布函数的理论曲线(参见附图)
令将两个图绘制在同一个图形窗口中,这样方便对照。并回答思考题
。提示:使用subplot 命
1.
0.5秒,那么
注意:若要观察20000个电子的动态衍射过程,假定显示每个电子延迟 耗时将会很大,故这里不宜再使用延迟函数 将该语句注释掉即可,不用删除!
pause来观察动态过程,可以在上面的程序中
B. 在上述程序的基础上, 改变电子波长(可以改变加速电压获得)和缝宽a的相对大小,观 察衍射条纹的变化。注意,当缝宽足够大时,屏上显示的只是一条亮纹,表面上看衍射特征 消失,但是通过局部放大,仍然清晰可见明暗相间的衍射条纹。所以
,不管装置的特征长度
和波长的大小如何,衍射现象总存在,只要有足够的分辨能力(包括借助仪器),都可以观 察到任何情况下的衍射图样。这也说明,用计算机模拟的衍射可以观察到通常情况下观察不 到的衍射现象。
四、思考题
1. 在实验内容2.A中,通过两个图(可参见附图)的对照,可得到什么结论?
2. 电子的双缝衍射实验中,当缝宽足够大时,屏上将出现一条亮纹,这个结果和大量经典 的粒子通过双缝打到屏上的结果有何不同?
附图:
1n-电子双缝衍射动态随机过程的仿真 5
X >10^ 电子双缝衍射概率密度理论分布曲线
实验五
1
u=1000,a=200e-9,b=1e-6,D=0.25; r=1.225e-9/sqrt(u*(1+(0.9783e-6)*u)); A=pi*a/(r*D),B=pi*(a+b)/(r*D); axis([-5e-5,5e-5,-4e-5,4e-5])
set(gca,'color',[0.122,0.012,0.62])
title('电子双缝衍射动态随机过程的仿真, N=200','fontsize',20,'color','k') i=1;
while i<=200
x=5e-5*(2*rand-1); y=4e-5*(2*rand-1);
p=((sin(A*x))A2)*((cos(B*x))A2)/(A*A*x*x); h=rand if p>=h
hold on
h_point=plot(x,y,'.r','markerSize',10); end i=i+1;
pause(0.01)
set(h_point,'color','w'); end
% 当动态点 2000, 20000 时,把 i=2000, N=2000 或 i=20000, N=20000 即可% 2
u=1000,a=200e-9,b=1e-6,D=0.25; r=1.225e-9/sqrt(u*(1+(0.9783e-6)*u)); A=pi*a/(r*D),B=pi*(a+b)/(r*D); x=-5e-5:5e-7:5e-5;
P=((sin(A*x)+eps).八2)./((A*x+eps).八2).*((cos(B*x+eps)).八2); subplot(2,1,2); plot(x,P);
title('电子双缝衍射概率密度理论分布曲线 ’,'fontsize',20,'color','k'); xlabel('x'); ylabel('y'); i=1;
subplot(2,1,1); hold on
axis([-5e-5,5e-5,-4e-5,4e-5]); set(gca,'color','g');
title('电子双缝衍射动态随机过程演示 ','fontsize',20,'color','k'); while i<=20000
x=5e-5*(2*rand-1); y=4e-5*(2*rand-1);
P=((sin(A*x)).A2)/((A*x).A2)*((cos(B*x)).A2); M=rand; if P>=M
plot(x,y,'.r','markersize',10); end
i=i+1; end
xlabel('x'); ylabel('y');