我有一个简单的问题。我们可以从任何类型的方程创建分岔图,或者只从像
这样的逻辑映射方程中创建分岔图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()
结果看起来不像预期