Python SciPy FFT函数-输入?
我目前正在写一些代码,应该对一组数据执行FFT。我有一个python点列表,可以轻松创建时间列表。当我运行fft(datalist)时,我得到“TypeError:”numpy.ndarray“对象不可调用”错误。我认为(但请纠正我)问题在于,列表是一个维度,通过使用上面的一行代码,它们根本没有时间附件。我的问题是,我必须输入一个包含时间和数据点的二维数组吗?还是我完全错了,必须重新思考? 谢谢,迈克 编辑-忘记添加一些代码。t=时间。可能是因为数组中的条目数不等于2^n,其中n是整数Python SciPy FFT函数-输入?,python,scipy,fft,Python,Scipy,Fft,我目前正在写一些代码,应该对一组数据执行FFT。我有一个python点列表,可以轻松创建时间列表。当我运行fft(datalist)时,我得到“TypeError:”numpy.ndarray“对象不可调用”错误。我认为(但请纠正我)问题在于,列表是一个维度,通过使用上面的一行代码,它们根本没有时间附件。我的问题是,我必须输入一个包含时间和数据点的二维数组吗?还是我完全错了,必须重新思考? 谢谢,迈克 编辑-忘记添加一些代码。t=时间。可能是因为数组中的条目数不等于2^n,其中n是整数 samp
sample_rate=10.00
t=r_[0:191.6:1/sample_rate]
S = fft([mylist])
print S
Numpy和SciPy fft函数希望将Numpy数组作为输入,而不是本地python列表。而且,它们在长度不是二的幂的情况下工作得很好。您可能只需要将列表转换为数组,然后再将其传递给fft 从上面的示例代码中,尝试:
from numpy.fftpack import fft
from numpy import array
""" However you generate your list goes here """
S = fft(array([mylist]))
看起来您不小心用数组覆盖了
fft
。打印fft
给出了什么?我不明白这是怎么回事。print type(fft)和repr(fft)
有什么作用?我会把我的代码加在上面-我非常感谢你的帮助!也没有完全阅读您的评论-以为您指的是fft结果。print fft给出[10.6+0.00000000e+00j 0.1+3.29089653e+00j-2.0+0.00000000e+00j-0.2+1.77635684e-15j-2.0+0.00000000e+00j 0.1-3.29089653e+00j]拖网浏览了我的代码,在页面的前面有一些东西我忘了评论-谢谢帮助。仍然在为fft的输入而挣扎?