使用python的分叉图

时间:2017-10-04 01:48:49

标签: matplotlib

我有一个简单的问题。我们可以从任何类型的方程创建分岔图,或者只从像

这样的逻辑映射方程中创建分岔图
x=r (1-x) 

制作分叉图的主要思路是什么?我正在研究这个问题,但最后几周却不知道。我只是看到像我上面提到的相同的方程式。我确实有不同的等式,如

x[i+1]= a*x[i]*2**n+b (mod2**n)/2**n

其中mod2**n表示除以2**n后的余数。

我必须编写一个代码来制作上述等式的分岔图。 我试图更改a,但它不起作用。

import matplotlib.pyplot as plt 
import numpy as np 
def iter_map(a,N): 
    x=np.zeros(N) 
    x[0]=0.5 
    for i in range(N-1): 
        d=(a*x[i]*(2**n) +b)%(2**n) 
        x[i+1]=d/2**n 
    return x 
N=5 
n=8 
a0 = 1.0 
a_max= 4 
step= 0.001 
plt.figure()
for b in [0,1]: 
    for a in np.arange(a0, a_max, step): 
        x = iter_map(a, 8) 
        plt.plot(a*np.ones_like(x),x) 
plt.xlabel(r'$a$') 
plt.ylabel(r'$x$') 
plt.show()

结果看起来不像预期

enter image description here

0 个答案:

没有答案