薛定inger方程解决方案存在问题

时间:2018-11-19 12:56:54

标签: odeint

我正在尝试绘制像电位这样的阶跃函数前后的波动函数。

我发现,如果初始能量大于势能,则看起来不错,但如果势能更大,则解决方案将产生负向分歧。我认为这种情况下的解决方案是;

enter code here

psi(x)=A*exp(x)+B*exp(-x)

在量子力学中,我们通常通过将A设置为零来放弃第一项。但是,我也想删除这种非物理的解决方案,但是我不知道如何在python中完成。

所以我的问题是,当我使用odeint解决ODE时,有什么方法可以消除分歧的解决方案? step函数之后的解应该像exp(-x)这样的函数。

非常感谢

enter code here

import matplotlib.pyplot as plt
%matplotlib inline
from scipy.integrate import odeint
import numpy as np

def ps(y,t):
    if t<10:
        u=0
    else:
        u=2
    psi=y[0]
    dpsi=y[1]
    dp=dpsi
    dp2=(-1+u)*psi
    return [dp,dp2]
yo=[1,0]
t=np.linspace(0,100,400)
psis=odeint(ps,yo,t)    
plt.ylim(-10,10)
plt.xlim(0,20)
plt.plot(t,psis[:,1],'r')

plt.plot([0,10,10,40],[0,0,2,2],'g')

0 个答案:

没有答案