0

我想创建一个复数的二维矩阵。该矩阵可作为两个不同的指针使用,包含实部和虚部(来自 MATLAB - MEX)。我正在使用 C++ 接口。

我在 API 中看到的最接近的是 C 接口 af_cplx2()。

// C Interface for creating complex array from two input arrays.
AFAPI af_err af_cplx2   (   af_array *  out,
const af_array  lhs,
const af_array  rhs,
const bool  batch 
)   

C++ 接口仅获取一个数组并从实数数组创建复数:

// C++ Interface for creating complex array from real array.
AFAPI array af::complex (   const array &   in  )   

如何从两个数组(实部和虚部)创建复数数组?

4

1 回答 1

0

af::complex 可用于使用两个数组创建复杂数组,例如:

af::array c = af::complex(r, i);    // r,i are of af::array

例如,要从指向 MEX 文件中实部和虚部的指针创建复数数组:

double *p_real = mxGetPr(mex_array);
double *p_imag = mxGetPi(mex_array);

af::array c = af::complex(af::array(rows,cols,p_real),
                          af::array(rows,cols,p_imag));
于 2015-07-07T14:18:48.687 回答