我正在尝试将以下 Matlab 代码翻译成 python
d=real(ifft(fft(fw).*conj(fft(rv))))
d=[d(ld+1:length(d)) d(1:ld)]'
但问题出现在下面这行代码中:
ld=length(d)
我的问题是关于matlab中的长度函数。我如何正确地将其转换为Python,以获得一个整数?我已经尝试过了np.size(d,1)并且np.prod(d.shape)。但这两者都返回一个“列表”而不是整数。有没有更简单的方法来做到这一点?
正如length在 Matlab 中返回矩阵在其维度中的最大长度一样,如果d是 python 中的 numpy 数组,您可以编写:
ld = max(d.shape)
Run Code Online (Sandbox Code Playgroud)
例如,如果d有(10, 30, 20)维度,ld则的值为30。