【发布时间】:2019-10-22 04:59:25
【问题描述】:
所以我正在尝试求解有限平方阱势的束缚态解的特征值,其中涉及求解方程:
我能够通过绘制两个函数并找出它们相交的位置以图形方式解决它,然后在 scipy.optimize.root 中使用相交作为初始猜测。然而,这似乎是一个相当繁琐的过程。据我了解,寻根方法通常需要初始猜测并找到最接近初始猜测的局部最小值。
我想知道是否有一种方法可以在 Python 中找到给定范围内的所有根或所有局部最小值,而不必提供初始猜测。从我所做的网络搜索来看,mathematica 中似乎有一些方法,但总的来说,除了特定函数之外,不可能在良好的公差范围内找到所有根。不过,我想知道的是,我的方程式是否恰好属于这些特定情况?下面是两个函数的图表以及我使用 scipy.optimize.root 使用的代码:
def func(z, z0):
return np.tan(z) - np.sqrt((z0/z)**2 - 1)
#finding z0
a = 3
V0 = 3
h_bar = 1
m = 1
z0 = a*np.sqrt(2*m*V0)/h_bar
#calculating roots
res = opt.root(func, [1.4, 4.0, 6.2], args = (z0, ))
res.x
#output
array([1.38165158, 4.11759958, 6.70483966])
【问题讨论】: