2010-08-13 2 views
0

나는 numpy/scipy의 최신 버전을 사용합니다.
다음 스크립트는 작동하지 않습니다이 (가) scipy에서 fftshift가 깨졌습니다.

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 

편집을 : 내가 문제를 발견했다. 파이썬 인터프리터는 -Qnew 옵션을 사용하여 내 편집기 설정을 통해 암시 적으로 호출되었습니다. 이것은 명백하게 scipy 코드를 깨뜨린다. 응답 한 모든 사람들에게 감사드립니다! 는 현재 버전에서 이전 사본을 설치하고 보고서를 작성하려고 버그가 있다면

+0

나를 위해 잘 작동합니다. 코드가 올바르게 복사 되었습니까? – katrielalex

+0

나를 위해 잘 작동합니다. 나는 Numpy (1.5.0b1)와 Scipy (0.8.0rc3)의 최신 릴리스 버전을 사용하고 있습니다. –

답변

0

작품 미세에 버그 보고서를 작성해야합니다.

>>> 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) 
>>> shifted 
array([ 0.00000000+0.j  , 0.00084688+0.03066325j, 
     0.00338468+0.06122841j, ..., 0.00760489-0.09159769j, 
     0.00338468-0.06122841j, 0.00084688-0.03066325j]) 


>>> import sys 
>>> sys.version 
'2.6.4 (r264:75706, Jan 22 2010, 16:41:54) [MSC v.1500 32 bit (Intel)]' 
>>> import numpy 
>>> numpy.version.version 
'1.3.0' 
>>> import scipy 
>>> scipy.version.version 
'0.7.1' 
>>> import matplotlib 
>>> matplotlib.__version__ 
'0.99.1' 
>>> 
관련 문제