使用python绘制混沌函数

时间:2017-10-27 15:57:04

标签: python plot iteration sequence logistics

我想绘制参数a的图表。对于a的每个值,我想在初始瞬态之后显示地图的轨迹,并将其绘制在y轴上。在下面的例子中,我在一个(参数范围从1到4)中取200个点,每个a运行1000步迭代,并在跳过100个步骤后绘制x。为了实现这个,我使用了两个函数(iterate和logistic):

def logistic(x, a):
    return(a*x*(1 - x))
def iterate(f, x0, a, steps=1000):
    """x0: initial value
        a: parameter to f(x,a)"""
    x = np.zeros(steps+1)
    x[0] = x0
    for k in range(steps):
        x[k+1] = f(x[k], a)
    return(x)
n = 200 # points in a
a = np.arange(1,4,3/n)
s = 1000 # steps for each a
x = iterate(logistic, 100, a, 1000)
plt(x)

但是我收到以下错误:ValueError:使用序列设置数组元素。有人可以帮忙吗?

修改

这是我想要获得的图表

enter image description here

1 个答案:

答案 0 :(得分:0)

嗯,a是一个包含200个值的数组。因此,通过标量相乘得到200个值的结果不应该让您感到惊讶,这会导致在尝试进行分配时出现问题。