Значения наносятся с использованием линейного пространства, отображающего количество выборок, а не числа внутри интервала - PullRequest
0 голосов
/ 23 апреля 2019

Когда я строю график с использованием linspace для значений a и b и строю его, он строит выборки вдоль оси, а не интервала.например:

a=np.linspace(0,5,100)
b=np.linspace(0,6,100)

то, что наносится на график, составляет 0-100 для a и b, а не 0-5 и 0-6 на графике.Может ли кто-нибудь помочь с этим, пожалуйста

fig, ax = plt.subplots(1,1, figsize=(8,6), sharex=True)
a=np.linspace(0,5,1000)
b=np.linspace(0,6,1000)

def lyapunov(a,b):
a,b = np.meshgrid(a,b)
d = 0.3
xold = 0.5
yold = 0.01
ee = 0.
for k in range(1000):
    xnew=f(a,b,xold,yold)
    ynew=g(b,d,xold,yold)

    xold = xnew
    yold = ynew

ml=0   
for l in range(10000):
    ydash=1

    ml = ml + np.log(abs(e(a,b,xold,yold,ydash)))

    ydash = yz(a,b,xold,yold,ydash) 
    xold=f(a,b,xold,yold)
    yold=g(b,d,xold,yold)

ml = (ml/(2*10000))
ml[np.isnan(ml)] = -0.5
return ml


z = lyapunov(a,b)
print(z)

ax.set_title('Lyapunov Exponent')
c = ax.pcolormesh(z)
fig.colorbar(c)
plt.show()

1 Ответ

0 голосов
/ 23 апреля 2019

Когда вы используете a = np.linspace (0,5,100), это означает, что сгенерируйте переменную «a» от 0 до 5, используя 100 точек, чтобы получить массив с 100 точками. Когда вы используете a = np.arange (0,5,1), это означает, что сгенерируйте переменную «a» от 0 до 5-1 с шагом 1, чтобы получить массив с пятью значениями. Вывод: массив ([0, 1, 2, 3, 4])

...