Scipy操作是否逐行而不是像Matlab一样逐列完成?

时间:2015-08-22 10:21:29

标签: python matlab numpy

我是NumPy,SciPy的新手。以前,我已经使用Matlab / Octave很长时间了。

对于二维数组,似乎- (void)xmppStream:(XMPPStream *)sender didReceiveMessage:(XMPPMessage *)message{}逐行工作。对我来说,这非常令人困惑,因为通过Matlab,这些操作是逐列完成的。 scipy中的所有其他操作是否也逐行执行?

我可以像在Matlab中一样在NumPy / SciPy中逐列执行操作吗?

1 个答案:

答案 0 :(得分:4)

Numpy的fft()接受“轴”参数,因此您可以要求逐列FFT而不是默认的逐行FFT。

例如,以下内容返回x中每列的16点FFT :(如果您不知道行数,则可以为第二个参数指定None):

 import numpy as np

 x = np.hstack([np.zeros((16,1)), np.ones((16,1))])
 x[0,0] = 1

 f = np.fft.fft(x, 16, 0)   

f的第一列是delta函数的FFT,它是全1。 f的第二列是常数序列的FFT,它是频域中的delta函数。