在python中创建分叉图

时间:2017-02-17 02:15:41

标签: python chaos

我正在尝试提供一个代码,允许我绘制一个用于加倍分叉的图表。

我正在使用公式x = rx − 1(1 − x),并尝试使用0.5到4的r值对其进行建模。以下是我正在使用的代码

startr = 0.5
finalr = 4
max_time = 200
x = [0.1]
r= np.linspace(.5,4,200)

for n in range(0,200):

    x = np.append(r * x[n] * (1-x[n]))


plt.plot(x, label='x');
plt.xlabel('t');

这一直被踢出去

TypeError: append() missing 1 required positional argument: 'values'

2 个答案:

答案 0 :(得分:1)

这是numpy.append()的两个绝对必要的论据,取自Numpy reference.

  

arr :array_like值附加到此数组的副本。

     

:   array_like这些值附加到arr的副本。它必须是   正确的形状(与arr相同的形状,不包括轴)。如果轴是   未指定,值可以是任何形状,之前将被展平   使用

因此,请尝试使用

np.append(x, r * x[n] * (1-x[n]))

在你的循环中。

答案 1 :(得分:0)

<块引用>

物流地图 保存文件并运行,图形的png图像文件将保存在同一文件夹中

import numpy as np
import matplotlib.pyplot as plt

Many =50000

x = np.random.rand(Many)
r = np.linspace(0,4.0, num= Many)

for i in range(1, 54):
    x_a = 1-x
    Data= np.multiply(x,r)
    Data= np.multiply(Data, x_a)
    x = Data

    plt.title(r'Logistic map: $x_{n+1} = r x_{n} (1-x_{n}).$  n = '+ str(i) )
    plt.ylabel('x-Random number')
    plt.xlabel('r-Rate')
    
    plt.scatter(r, Data, s=0.1, c='k')
    plt.show()
    plt.savefig(str(i) + " Logistic Map.png", dpi = 300)
    plt.clf()