我正在尝试提供一个代码,允许我绘制一个用于加倍分叉的图表。
我正在使用公式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'
答案 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()