原子物理课后问题
——用MATLAB画出氢原子的电子概率密度图
1、蒙特卡罗方法的基本思想
对某一个待解决的物理问题(当这个物理问题可以抽象为数学问题时)建立一个概率模型,即确定某个随机事件X,使得待求问题的解等于随机事件X出现的概率或随机变量的数学期望值。然后进行模拟实验,重复多次地模拟随机事件X。最后对随机实验结果进行统计平均,求出X出现的频数作为问题的近似解。这就是蒙特卡罗方法的基本思想。 具体来说:
假设所要求的量x是随机变量ζ的数学期望E(ζ) ,那么近似确定x的方法是对ζ进行N次重复抽样,产生相互独立的ζ值的序列
、
……、
,并计算其算术平均值:
根据大数定理有
因此,当N充分大时,下式 成立的概率为1, 亦即可以用 作为所求量x的估计值。
2、求解氢原子核外电子概率密度函数
氢原子的薛定谔方程
其解,则氢原子核外电子的概率密度函数:
N为主量子数,决定轨道的能量,既能层,n=0、1、2、…,
L为角量子数,决定轨道角动量大小,即能级,l=0、1、2、…、n-1,
M为磁量子数,决定轨道角动量在磁场上方向的分量,即轨道在空间分布上的方向,m=0、±1,、±2、…±1。
由课本《原子物理学》P130某些球谐函数的表达式和P134径向波函数的表达式可推出以下各能级核外电子的概率密度函数:
2S能级2Px能级
最大概率密度
…,(即第一玻尔轨道半径)
数据生成
1计算机在一定的范围内随机地选取坐标点(计算概率密度函数ρ(r是概率密度函数ρ(r
)在点(
),并
)的值,
)的最大值,并计算
。2.计算机产生一个0至1之间均匀分布的
随机数M。3.将Y与M进行比较若Y≥M,则选取该点(
)若YM,则舍去该点(
)。重复1至
3重新选取坐标点,即可得到一个按ρ(r函数序列。
)分布的随机
3、具体代码及结果
2Px能级
所需计算公式
>> a0=5.29e-11;
>> plot(0,0,'.r','marKerSize',32) % 显示原子核位置,’.r’为红色的点,marker是图上画上点的地方表上符号 后面的size就是符号的大小
>> axis([-5e-10 5e-10 -5e-10 5e-10 ]) %设置坐标轴的范围 >> grid on %设置网格 >> hold on
>> xlabel('x');ylabel('y'); %标注xy轴 >> i=1;
>> while i<=3000 %设置循环
PHI=2*pi*rand; %产生0到2π的随机数赋值给PHI
R=9*a0*rand; %产生0到9a0的随机数赋值给R
Y=0.5*(1/a0).^2*R.^2*exp(2-(R/a0))*(cos(PHI)).^2; %计算Y
[x,y]=pol2cart(PHI,R); %将极坐标转化为直角坐标 M=rand;
if Y>=M %设置判断 hold on
point=plot(x,y,'.g','EraseMode','none','marKerSize',5); %画出绿色的点,点不会被擦除’none’ 方式 不做任何擦除,直接在原来图形上绘制。'erasemode', 标记不会遮盖同空间上的图像,就是透明处理,共同存在 i=i+1; end end
2S能级
所需计算公式
>> a0=5.29e-11;
>> plot3(0,0,0,'.r','marKerSize',32) %plot3为三维画图命令 >> axis([-5e-10 5e-10 -5e-10 5e-10 -5e-10 5e-10]) >> grid on >> hold on
>> xlabel('x');ylabel('y');zlabel('z'); >> i=1;
>> while i<=3000 TH=pi*rand; PHI=2*pi*rand; R=9*a0*rand;
Y=0.5*(2-(R/a0)).^2*exp(2-(R/a0));
[x,y,z]=sph2cart(TH,PHI,R); %将球坐标转换为笛卡尔坐标 M=rand; if Y>=M
hold on
point=plot3(x,y,z,'.g','EraseMode','none','marKerSize',5); i=i+1; end end >>
参考文献--MATLAB巧画三维动态氢原子电子云 权玉玲