减小 MEX 文件中向量的大小

Reduce size of vector in MEX-file

给定一个像这样的类型向量

matlab::data::ArrayFactory Factory;
matlab::data::TypedArray<double> BigArray = Factory.createArray({420, 1});

如何在不进行(重新)分配的情况下缩小 BigArray 大小?我只想将其内部长度尺寸设置为小于 420 的值。

假设你 spring 用于 C API 而不是 C++ API,你可以在 [=13] 上使用 mxSetNmxSetM =] 对象来减少它。

int M = 420;
int N = 1;
mxArray *BigArray = mxCreateNumericMatrix(M, N, mxDOUBLE_CLASS, mxREAL);
mxSetM(BigArray, M - 4);