Я использую последнюю версию numpy / scipy.
Следующий скрипт не работает:
import numpy as np
import matplotlib.pyplot as plt
from scipy.fftpack import fft, fftshift, fftfreq
hn= np.ones(10)
hF = fft(hn,1024)
shifted = fftshift(hF)
выдает следующее сообщение об ошибке:
Traceback (most recent call last):
File "D:\deleteme\New3.py", line 6, in <module>
shifted = fftshift(hF)
File "C:\Python26\lib\site-packages\numpy\fft\helper.py", line 40, in fftshift
y = take(y,mylist,k)
File "C:\Python26\lib\site-packages\numpy\core\fromnumeric.py", line 103, in take
return take(indices, axis, out, mode)
TypeError: array cannot be safely cast to required type
РЕДАКТИРОВАТЬ : я нашел проблему. Мой интерпретатор python вызывался неявно (через настройки редактора) с параметром -Qnew. Это, очевидно, нарушает код scipy.
Спасибо всем, кто откликнулся!