我目前正在使用此代码:
assert(isa(values,'double'));
assert(size(values, 1) <= 1000);
说服 matlab 编码器将值设为一维数组。最终目标是能够通过 C# 和 PInvoke 与其交互。这将创建一个包含以下内容的 C 签名:
const real_T values[1000], const int32_T values_size[1]
即使对于长度小于 1000 的一维数组,我似乎也可以使用它。是否有更巧妙的方法来实现上述目标(即断言值是无限长度的一维数组)?
PS:
我也用过:
assert(all(size(values) == [1 Inf]));
但现在搁置了这个,因为创建的结构似乎非常复杂(另见这里),我不知道如何从 C# 填充它。