gpt4 book ai didi

c++ - 如何将 Eigen FFT 与 MatrixXf 一起使用?

转载 作者:太空狗 更新时间:2023-10-29 20:14:13 26 4
gpt4 key购买 nike

我是 Eigen 库的新手。我想计算特征矩阵的 FFT。但是,我这样做的尝试表明不受支持的 Eigen FFT 模块不能与 MatrixXf 一起使用。我想完成类似的事情:

#include <eigen3/unsupported/Eigen/FFT>
#include<Eigen/Dense>
#include<iostream>
using namespace std;
using namespace Eigen;
int main(){
MatrixXf A = MatrixXf::Random(3,10);
FFT<float> fft;
MatrixXf B;
fft.fwd(B,A);
}

这可以实现吗?欢迎任何其他建议。从 matlab 迁移到 Eigen 花费了我大量的 self 说服力,除非不可避免,否则我宁愿不使用其他库。谢谢。

最佳答案

不幸的是,它是不正确的;

1) 你必须迭代输入矩阵的行(真实的)

2) 然后遍历输出矩阵的列(复杂)

FFT<float> fft;
Eigen::Matrix<float, dim_x, dim_y> in = setMatrix();
Eigen::Matrix<complex<float>, dim_x, dim_y> out;

for (int k = 0; k < in.rows(); k++) {
Eigen::Matrix<complex<float>, dim_x, 1> tmpOut;
fft.fwd(tmpOut, in.row(k));
out.row(k) = tmpOut;
}

for (int k = 0; k < in.cols(); k++) {
Eigen::Matrix<complex<float>, 1, dim_y> tmpOut;
fft.fwd(tmpOut, out.col(k));
out.col(k) = tmpOut;
}

关于c++ - 如何将 Eigen FFT 与 MatrixXf 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17194451/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com