当谈到python时,我是一个相对初学者,我目前正试图找出一些python来解决我遇到的问题。我试图计算我应该创建的分叉图的lyapunov指数。
方程是X_(n + 1)= asin(pi x_(n)),其中a = 0.9(当我计算指数时)
这是我设置的代码,用于创建一个变大的值数组。
import numpy as np
np.set_printoptions(threshold=np.nan)
import matplotlib.pyplot as plt
a = np.linspace(0,1)
xn = np.array([.001], dtype = float)
for i in range(0,10000):
y = a*np.sin(np.pi*xn[i])
xn = np.append(xn,y)
plt.plot(a,xn[-1])
然而,非常明显地,当我绘制xn时,我只是得到一个疯狂的点点而不是分叉图。我希望我能得到一些指导,以便走向正确的图表,我希望可以使用它来接近我的最终目标。
谢谢你的帮助,我很感激!
我不完全确定你要完成什么,而且我不太了解分叉能够自己解决这个问题,但我能够得到一些似乎有用的东西。主要的警告似乎是如果alpha开始时小于0.158,它将不会产生正确的输出。
import numpy as np
import matplotlib.pyplot as plt
x = [0.001]
a = np.linspace(0.2,1,100000)
for i in range(1,a.shape[0]):
x.append(a[i]*np.sin(np.pi*x[i-1]))
fig = plt.figure(figsize=(8,4))
plt.scatter(a,x,s=0.1)