我有一个使用 Matlab Coder 转换为 C++ 的 Matlab 函数。matlab函数的输入是一维数组,:Infx1
输出是二维数组。我使用初始化这个(输出)
result = zeros(500,18);
在我的主循环中,我维护一个count
从 1 到 500 变化的变量,在循环结束之前,我使用填充输出数组
result(count,:) = blocks;
其中 blocks 是在每个循环中计算的 18x1 向量。
在我转换后的 C++ 文件中,我希望result
是一个二维数组。但它恰好是一个向量,其输出为
for (loop_ub = 0; loop_ub < 18; loop_ub++) {
result[(count + 500 * loop_ub) - 1] = blocks[loop_ub];
}
的初始化result
可以看成
memset(&result[0], 0, 9000U * sizeof(real_T));
我无法弄清楚这不是二维数组的原因。非常感谢任何帮助。
谢谢