我一直在阅读这篇第A Simple Guide for Plotting a Proper Bifurcation Diagram篇文章,我想复制下图(图10,2150011-7页):

enter image description here

我已经创建了这个程序,它可以很好地与其他classic Forking 图一起工作:

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()

但对于这个系统,它呈现:

enter image description here

这在某种程度上看起来很相似,但规模不同,当r > 17.5具有与文章中呈现的完全不同的行为时.

我想知道为什么会出现这种差异.我错过了什么?

推荐答案

我认为那篇文章的期刊 comments 者应该更小心一点.这个模型方程式是基于之前的一篇文章(巴格达迪等人,2015年--我必须通过我工作场所的机构准入才能得到它),B的原始值是5.821,而不是8.821(见2015年文章中的图2).

def model(x, r):
    return 5.821 * np.tanh(1.487 * x) - r * np.tanh(0.2223 * x)

This renders as enter image description here

Python相关问答推荐

Python:在类对象内的字典中更改所有键的索引,而不是仅更改一个键

Python多处理:当我在一个巨大的pandas数据框架上启动许多进程时,程序就会陷入困境

try 与gemini-pro进行多轮聊天时出错

SQLGory-file包FilField不允许提供自定义文件名,自动将文件保存为未命名

OR—Tools中CP—SAT求解器的IntVar设置值

形状弃用警告与组合多边形和多边形如何解决

给定高度约束的旋转角解析求解

如何在turtle中不使用write()来绘制填充字母(例如OEG)

Python列表不会在条件while循环中正确随机化'

如何指定列数据类型

判断solve_ivp中的事件

在pandas数据框中计算相对体积比指标,并添加指标值作为新列

Pandas:计算中间时间条目的总时间增量

提高算法效率的策略?

并行编程:同步进程

如何使用正则表达式修改toml文件中指定字段中的参数值

以异步方式填充Pandas 数据帧

如何在一组行中找到循环?

如何从比较函数生成ngroup?

如何在Airflow执行日期中保留日期并将时间转换为00:00