Python中的分叉和Lyapunov指数

问题描述 投票:2回答:1

当谈到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时,我只是得到一个疯狂的点点而不是分叉图。我希望我能得到一些指导,以便走向正确的图表,我希望可以使用它来接近我的最终目标。

谢谢你的帮助,我很感激!

python physics chaos
1个回答
0
投票

我不完全确定你要完成什么,而且我不太了解分叉能够自己解决这个问题,但我能够得到一些似乎有用的东西。主要的警告似乎是如果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)

产生的数字:bifurcation output

© www.soinside.com 2019 - 2024. All rights reserved.