Ошибка типа: (typecode 'l') в соответствии с правилом приведения типов "same_kind" при использовании взаимной корреляции - PullRequest
0 голосов
/ 13 марта 2020

Я пытаюсь использовать взаимную корреляцию. Лаг, который я исследую между x и y, составляет 1 временной интервал.

У меня есть такой код:

x= ([1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1])
y= ([0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1]) 
fig, [ax1, ax2] = plt.subplots(2, 1, sharex=True)
ax1.xcorr(x, y, usevlines=True, maxlags=50, normed=True, lw=2)
ax1.grid(True)

ax1.acorr(x, usevlines=True, normed=True, maxlags=50, lw=2)
ax1.grid(True)

ax2.acorr(y, usevlines=True, normed=True, maxlags=50, lw=2)
ax2.grid(True)

plt.show()

Но когда я запускаю код, он дает мне эту ошибку, приведенную на рисунке ниже. И я как бы застрял здесь.

https://i.stack.imgur.com/uV2F4.png

Есть идеи?

1 Ответ

1 голос
/ 14 марта 2020

Вы должны преобразовать свои входные данные в массив numpy с типом np.float следующим образом:

x= np.array([1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1], dtype=np.float) y= np.array([0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1], dtype=np.float)

Кроме того, ваш maxlags слишком велик (см. Следующую ошибку вы получите после исправления выше)

...