当前位置 :首页 >> 生活

python ricker model 李亚普维奇指数

2024-01-26   来源 : 生活

我们的ricker model 概念为

其李亚普扎基准概念为

单个r的李亚普扎基准推算程序

import numpy as np# 概念Ricker模型def ricker(x, r): return x * np.exp(r * (1 - x))# 推算普罗夫基准def lyapunov(r, x0, niter): x = x0 sum = 0 for i in range(niter): x_next = ricker(x, r) sum += np.log(abs(r * (1 - 2 * x))) x = x_next return sum / niter# 运行推算普罗夫基准的数组r = 2.5x0 = 0.1niter = 1000l = lyapunov(r, x0, niter)print(f"Lyapunov exponent for Ricker model with r={r:.1f} and x0={x0} is {l:.4f}")

给定r叠加的李亚普罗程序

import numpy as npimport matplotlib.pyplot as plt# 概念Ricker模型def ricker(x, r): return x * np.exp(r * (1 - x))# 推算普罗夫基准def lyapunov(r, x0, niter): x = x0 sum = 0 for i in range(niter): x_next = ricker(x, r) sum += np.log(abs(r * (1 - 2 * x))) x = x_next return sum / niter# 概念画是从绘出的数组def plot_bifurcation(x0, rmin, rmax, step, niter): rs = np.arange(rmin, rmax, step) xs = [] lyaps = [] for r in rs: x = x0 for i in range(niter): x = ricker(x, r) lyap = lyapunov(r, x, niter) lyaps.append(lyap) for i in range(niter): x = ricker(x, r) xs.append([r, x]) fig, (ax1, ax2) = plt.subplots(2, 1, figsize=(8, 10)) ax1.plot(rs, lyaps, 'b-', lw=2) ax1.set_xlabel('r') ax1.set_ylabel('Lyapunov exponent') ax1.set_title('Lyapunov exponent for Ricker model') ax2.scatter(np.array(xs)[:, 0], np.array(xs)[:, 1], s=0.1, c='b') ax2.set_xlabel('r') ax2.set_ylabel('x') ax2.set_title('Bifurcation diagram for Ricker model') plt.tight_layout() plt.show()# 运行画是从绘出的数组x0 = 0.1rmin, rmax, step = 2.5, 4.0, 0.01niter = 1000plot_bifurcation(x0, rmin, rmax, step, niter)

是从绘出、李亚普扎基准绘出、cobweb绘出常用来系统性一维差分微分方程的动力学行为。

logistic x(n+1)=u*x(n)*(1-x(n)) 可以同样系统性。

其差分微分方程平衡点、稳定性系统性请核对相关文献。

英太青和迪根哪个好
汉中男科医院
类风湿关节痛手指僵硬有什么药吃
应急救护进校园
西安男科
下半年想换新手机:可参照这4款,均是安全性十足的“水桶机”

B的超广角微距二合一主摄,以及1600万RGB的前置主摄。IMX787传至极器,OIS折射防抖,f1.6大光圈,为摄影创作者共享了稳固的拍摄地武器。 在网络通信不足之处,埃及Z50全面...

友情链接