我一直在阅读这篇文章《绘制正确分叉图的简单指南》,我想重现下图(图 10,第 2150011-7 页):
我创建了这个程序,可以与其他经典分叉图配合使用:
def model(x, r):
return 8.821 * np.tanh(1.487 * x) - r * np.tanh(0.2223 * x)
def diagram(r, x=0.1, n=1200, m=200):
xs = []
for i in range(n):
x = model(x, r)
if i >= n - m:
xs.append(x)
return np.array(xs).T
rlin = np.arange(5, 30, 0.01)
xlin = np.linspace(-0.1, 0.1, 2)
clin = np.linspace(0., 1., xlin.size)
colors = plt.get_cmap("cool")(clin)
fig, axe = plt.subplots(figsize=(8, 6))
for x0, color in zip(xlin, colors):
x = diagram(rlin, x=x0, n=600, m=100)
_ = axe.plot(rlin, x, ',', color=color)
axe.set_title("Bifurcation diagram")
axe.set_xlabel("Parameter, $r$")
axe.set_ylabel("Serie term, $x_n(r)$")
axe.grid()
但对于这个系统,它呈现:
它看起来在某种程度上相似,但规模不同,并且r > 17.5
行为与文章中呈现的完全不同。
我想知道为什么会出现这种差异。我错过了什么?
我认为该文章的期刊审稿人应该更加小心。该模型方程基于早期的文章(Baghdadi 等人,2015 年 - 我必须通过工作场所的机构访问才能获得它),B 的原始值为 5.821 ,而不是 8.821(参见 2015 年文章中的图 2) 。
这呈现为