我想创建一个复数的二维矩阵。矩阵可作为两个不同的指针,包含实部和虚部(来自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 )
如何从两个数组创建复杂数组,即实部和虚部?
答案 0 :(得分: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));