我已经使用 MatlabCoder 转换了一个函数,该函数以 NxN 矩阵作为输入,并给出从 matlab 到 C 的 NxN 矩阵输出。
它给了我一个有两个参数的函数,即
void func(const emxArray_real_T *x, emxArray_real_T *y)
我知道 x 是函数的输入,我可以从 y 获得函数的输出。
问题是我在 float[][] 中有一个数组,我希望将此数据作为 func 的输入,该 func 仅将 emxArray_real_T *x 作为输入。
关于如何将此 float[][] 数据转换为 emxArray_real_T *x 的任何想法
emxArray_real_T 有这个结构
struct emxArray_real_T
{
real_T *data;
int32_T *size;
int32_T allocatedSize;
int32_T numDimensions;
boolean_T canFreeData;
};
基本上你需要有*data
成员emxArray
指向float
大批。在C中,float
数据存储为single
精确。更新其他成员emxArray
因此。
您可能想查看有关数组 C 代码接口的 MathWorks 文档
This answer包含完全相同的场景C# for double
数据类型。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)