- 相关推荐
定态薛定谔方程的MATLAB求解(一)
利用矩阵法对定态薛定谔方程的MATLAB求解
摘要:本文首先对薛定谔方程的提出及发展做了一个简单介绍。然后,以在一维空间运动的粒子构成的谐振子的体系为例,详细介绍了矩阵法求解薛定谔方程的过程及公式推导。最后,通过MATLAB编程仿真实现了求解结果。
关键词:定态薛定谔方程求解 矩阵法 MATLAB仿真
薛定谔方程简介
1.1背景资料
薛定谔方程是由奥地利物理学家薛定谔提出的量子力学中的一个基本方程,是将物质波的概念和波动方程相结合建立的二阶偏微分方程,可描述微观粒子的运动,每个微观系统都有一个相应的薛定谔方程式,通过解方程可得到波函数的具体形式以及对应的能量,从而了解微观系统的性质。其仅适用于速度不太大的非相对论粒子,其中也没有包含关于粒子自旋的描述。当计及相对论效应时,薛定谔方程由相对论量子力学方程所取代,其中自然包含了粒子的自旋。
薛定谔方程建立于 1926年。它是一个非相对论的波动方程。它反映了描述微观粒子的状态随时间变化的规律,它在量子力学中的地位相当于牛顿定律对于经典力学一样,是量子力学的基本假设之一。设描述微观粒子状态的波函数为Ψ(r,t),质量为m的微观粒子在势场V(r,t)中运动的薛定谔方程为
在给定初始条件和边界条件以及波函数所满足的单值、有限、连续的条件下,可解出波函数Ψ(r,t)。由此可计算粒子的分布概率和任何可能实验的平均值(期望值)。当势函数V不依赖于时间t时,粒子具有确定的能量,粒子的状态称为定态。定态时的波函数可写成式中Ψ(r)称为定态波函数,满足定态薛定谔方程,这一方程在数学上称为本征方程,式中E为本征值,是定态能量,Ψ(r)又称为属于本征值E的本征函数。
量子力学中求解粒子问题常归结为解薛定谔方程或定态薛定谔方程。薛定谔方程揭示了微观物理世界物质运动的基本规律,被广泛地用于原子物理、核物理和固体物理,对于原子、分子、核、固体等一系列问题中求解的结果都与实际符合得很好。
定态薛定谔方程直角坐标系形式
定态薛定谔方程球坐标系形式
1.2定态薛定谔方程
条件
V(r,t)=V(r), 与t无关。
用分离变量法, 令Ψ=φ(r)f(t),代入薛定谔方程,得两个方程:
此称定态薛定谔方程
整个定态波函数形式:
特点:
波函数由空间部分函数与时间部分函数相乘;
B.时间部分函数是确定的。
定态波函数几率密度W与t无关,几率分布不随时间而变,因此称为定态。
1.3本征方程、本征函数与本征值
算符: 本征方程:
λ:本征值,有多个,甚至无穷多个
ψλ:本征值为λ的本征函数,也有多个,甚至无穷多个,有时一个本征值对应多个不同的本征函数,这称为简并。若一个本征值对应的不同本征函数数目为N,则称N重简并。
1.4 定态情况下的薛定谔方程一般解
1、定态薛定谔方程或不含时的薛定谔方程是能量本征方程,E就称为体系的能量本征值,而相应的解称为能量的本征函数。
2、当不显含时时,体系的能量是收恒量,可用分离变量。
3、解定态薛定谔方程,关键是写出哈密顿量算符。
2. 利用矩阵法求解薛定谔方程
以在一维空间运动的粒子构成的谐振子的体系为例。
该粒子的势能是,是谐振子的角频率,因此谐振子的哈密顿量为
。
当时,谐振子的势能变为无穷大,因此,粒子只能在有限的空间上运动,并且能量值谱是分立的。下面采用矩阵的方法,确定谐振子的能量分立值。
从运动方程出发 (1)
而势能 那么
又代入上式(1)得
即 (2)
在矩阵形式下,该方程可以写为
含时坐标矩阵元 (3)
对它求导,我们得到
代入上式后,有
(4)
其中 (5)
所以,除了当或外,所有的坐标矩阵元都等于零
当时,由(5)式有
即 同理,
因此,只有变化时,才能得到频率即 所以不为零的坐标矩阵元为
根据定义[12-14]
对于存在的波函数,应为实数,所有的矩阵元也为实数,由厄密算符的性质得
为了计算坐标的矩阵元,由对易关系
又 代入上式易得
写为矩阵形式,有
根据矩阵的乘法规则,有
又,则有由前面的分析知,只有时,才存在矩阵元,代入上式,
从该方程我们可以得出
矩阵元不为零,但是当时,矩阵元则
即
又
依次类推,得出
最后,我们得到坐标矩阵元不为零的表达式
又谐振子的能量可以用来表示,且,计算该能量得
其中,对于全部的1求和,只有当参数时坐标矩阵元不为零,因此得到
亦即
因此,谐振子的能级以为间隔,最低能级是
MATLAB仿真结果
线性谐振子的前六个本征函数
上图为线性谐振子的前六个本征函数,图中纵轴横线表示具有相同能量的经典线性谐振子的振动范围。
有限方势阱前六个本征函数
上图为有限方势阱的前六个本征函数,图中纵轴横线表示具有相同能量的经典线性谐振子的振动范围。
参考文献:
1.周世勋,量子力学教程,北京-高等教育出版社,1979:38-42
2.曾谨言,量子力学,北京-科学出版社,1987:45-51
3. 周丰,定态薛定谔方程的计算机解法,武汉交通职业学院学报,2005,7(2),77-80
4. 封国林等,试用矩阵连分法数值求解薛定谔方程,江苏农学院学报,1996,17(4),103-108
5. 马文淦 编著,计算物理学,科学出版社,2005,P196-201,244-250
6.王肇庆、佘守宪、苏惠惠,谐振子薛定谔方程的简单解法,大学物理,1996,15(8):19-21
附录:
程序运行环境:MATLAB7.0
MATLAB源程序:
function f = schrodinger()
%% 对一些常数的定义
me = 9.10938188e-31;
eV = 1.60217646e-19;
h = 6.626068e-34;
hbar = 1.05457148e-34; % hbar=h/2/pi
% 定义宽度和格点数
a = 10e-9; % 长度
n = 128; % 分离数
z = linspace(-a/2,a/2,n); % 线性等分
dz = a/n; % 各点空间
%% 可能的矩阵
%为有限方势阱====================================
%V0 = 0*eV;
%V = -V0*ones(n,1);
% 线性谐振子 ==================================
K = 1;
V0=1*eV;
V =V0+1/2*K*z'.^2;
pmatrix = spdiags(V,0,n,n); % 创建稀疏矩阵
%% 用薛定谔矩阵求波函数
vector = zeros(n,3);
vector(1:n,1) = -hbar^2/(2*me)/dz^2;
vector(1:n,2) = 2*hbar^2/(2*me)/dz^2;
vector(2:n,3) = -hbar^2/(2*me)/dz^2;
vmatrix = spdiags(vector,-1:1,n,n);
matrix = pmatrix+vmatrix;
eignum = 6; % 设置特征值个数
% 求薛定谔方程的特征值
[eigvector, eigvalue] = eigs(matrix,eignum,0); %求指定的几个特征值
diag(eigvalue)/eV %矩阵对角元素提取、创建对角矩阵
for i = 1:eignum,
wavefunction = eigvector(:,i);
energy = eigvalue(i,i);
%将engivector常规化
wavefunction = wavefunction/sqrt(sum(abs(wavefunction.^2)*dz));
% 作图
figure(1);
subplot(eignum/2,2,i),plot(z,wavefunction);%创建子图、画波函数图
% figure(2);
% plot(z,energy);%画能量线图
end
程序运行结果:
>> schrodinger()
Iteration 1: a few Ritz values of the 20-by-20 matrix:
0
0
0
0
0
0
Iteration 2: a few Ritz values of the 20-by-20 matrix:
1.0e+018 *
1.3147
1.5308
1.8346
2.2932
3.0648
4.6360
Iteration 3: a few Ritz values of the 20-by-20 matrix:
1.0e+018 *
1.3147
1.5308
1.8346
2.2932
3.0648
4.6360
ans =
4.7476
4.0774
3.4021
2.7218
2.0365
1.3463
【定态薛定谔方程的MATLAB求解(一)】相关文章:
物体平衡问题的求解方法05-13
跨国公司营销新态08-28
城市景观建设之文态保护08-10
有限责任公司股东请求解散之诉的构建05-31
谈舞蹈体态与音乐声态的互渗互释论文06-26
恩替卡韦治疗拉米夫定失效慢性乙肝患者研究06-02
一物一权原则质疑12-06
一带一路论文参考文献范例09-19