【问题标题】:1D fft on 2nd dim on Armadillo complex matrix犰狳复矩阵上第 2 个暗淡的 1D fft
【发布时间】:2019-08-12 18:02:31
【问题描述】:

我需要计算 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);});

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

任何帮助将不胜感激。

【问题讨论】:

    标签: fft mex armadillo


    【解决方案1】:

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

    【讨论】:

    • 如此简单!谢谢!
    • 不太对劲。这里 .each_col() 带有 lambda 函数对矩阵 A 进行就地操作。也就是说,A 被修改了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多