python - fork 图 python - 没有图像?

标签 python math

我正在尝试为以下迭代图制作 fork 图: x_n+1 = x_n * e^(r(1-x_n))

首先我定义了 map :

def newmap(x,r):
    return x*math.exp(r*(1-x))

然后我尝试了这个:

def bifurcation_diagram(rmin=0, rmax=4, r_N=2000, N_min=4000, N = 1000):
    rspace = np.linspace(rmin, rmax, r_N)
    x = 0
    rset = []
    xset = []
    for r in rspace:
        for i in range(N_min + N):
            x = newmap(x,r)
            if i > N_min:
                rset.append(r)
                xset.append(x)
    plt.figure(figsize=(16,7))
    plt.xlim((rmin,rmax))
    plt.ylim((0,5))
    plt.scatter(rset,xset,s=0.3,c='C0',linewidth=0)
    plt.xlabel(r'r', fontsize=20)
    plt.ylabel(r'$x_{end}$', fontsize=29, rotation=0)
    plt.show()

当我尝试 bifurcation_diagram() 时,我得到了一个空白图。

我不确定我哪里出错了。

最佳答案

问题在于,x=0 是一个固定点,x=1 也是。如果您将 x=0 切换为 x=0.1,但将其保留在原来位置,则第一个 r 值将驱动 x 到(这些值的含义)吸引固定点 1。您需要将 x=0.1 放在主循环内:

for r in rspace:
    x = 0.01

(其他一切都和以前一样)。

关于python - fork 图 python - 没有图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61175642/

相关文章:

python - 基于代码的唯一约束 Django 模型

python - Django:django 注册反向查找失败

math - 获取任意二维三角形的扫描线

java - Java 中高效的 BigInteger 乘法模 n

c# - 使用 C# 进行数学函数微分?

Python Youtube API 客户端警告

python - 来自缓冲区的 Numpy 二维数组?

python - 列表的 python 迭代器实际上是如何工作的?

java - 如何创建预测数据预测区间

math - maxima:在某一点评估雅可比行列式