我试图绘制具有边界条件的一维空间扩展系统的分叉图
x[i,n+1] = (1-eps)*(r*x[i,n]*(1-x[i,n])) + 0.5*eps*( r*x[i-1,n]*(1-x[i-1,n]) + r*x[i+1,n]*(1-x[i+1,n])) + p
Run Code Online (Sandbox Code Playgroud)
我正在面临获得所需输出数字的问题可能是因为我正在使用的瞬态数量.有人可以通过交叉检查我的代码来帮助我,我应该选择nTransients的值或者我应该忽略多少个瞬态?
我的Python代码如下:
import numpy as np
from numpy import *
from pylab import *
L = 60 # no. of lattice sites
eps = 0.6 # diffusive coupling strength
r = 4.0 # control parameter r
np.random.seed(1010)
ic = np.random.uniform(0.1, 0.9, L) # random initial condition betn. (0,1)
nTransients = 900 # The iterates we'll throw away
nIterates = 1000 # This sets how much the attractor is filled …Run Code Online (Sandbox Code Playgroud) 我试图使用python包PyDDE解决以下微分方程:
dy[i]/dt = w[i] + K/N * \sum{j=1toN} sin(y[j] -y[i]), where i = 1,2,3,4...N=50
Run Code Online (Sandbox Code Playgroud)
下面是解决这个等式的python代码
from numpy import random, sin, arange, pi, array, zeros
import PyDDE.pydde as p
def odegrad(s, c, t):
global N
K = c[0]
theta = s[0]
w = random.standard_cauchy(N)
for i in range(N):
coup_sum = 0.0
for j in range(N):
coup_sum += sin(theta[j] - theta[i])
theta[i] = w[i] + (K*coup_sum)/(float (N))
return array([theta])
# constant parameters
global N
N = 50
K = 1.0
# initial …Run Code Online (Sandbox Code Playgroud)