定态薛定谔方程的MATLAB求解(一)(2)

时间:2020-08-28 18:07:36 电子信息工程毕业论文 我要投稿

定态薛定谔方程的MATLAB求解(一)

 
 
其中,对于全部的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求解(一)】相关文章:

1.中考化学的复习牢记31条一定与不一定

2.日语的态语法教程

3.日语的态中级教程

4.Matlab常用命令汇总

5.如何掌握一定的融资技巧

6.学习日语可能态

7.Matlab应用课程教学研究论文

8.创业之前一定多思考

9.艰苦创业成功是一定的