Armadillo 复杂矩阵上第二个暗淡的 1D fft

1D fft on 2nd dim on Armadillo complex matrix

我需要计算 cx_mat 在其第二维中的一维 fft。所以说我有这个矩阵:

cx_mat A(randu(5,10),randu(5,10));

MATLAB 版本如下:

A_fft=fft(A,[],2);

我该如何在犰狳中解决这个问题?

我正在努力使它尽可能快,所以我认为通过列的 for 循环 运行 不是最佳选择。

然后我看到了 .each_col 属性并尝试了

cx_mat A_fft=A.each_col([](vec& a){fft(a);});

但是那不会编译。也许这是正确的,但我的语法是错误的

如有任何帮助,我们将不胜感激。

您需要有一个复向量作为 lambda 函数的参数: cx_mat A_fft=A.each_col([](cx_vec& a){fft(a);});