Matlab的错误“中找到需要的变量大小”(Matlab error “Find requires

2019-09-26 09:11发布

[~,col] = find(ocpRefPt(2,:)>x1 & ocpRefPt(2,:)<x2 & ocpRefPt(1,:)>y1 & ocpRefPt(1,:)<y2);

关于是在编译失败的行。 上面的行是一个循环。 x1x2x3x4是标量(自然数) ocpRefPt是2x16的矩阵

Error: FIND requires variable sizing

这是什么意思。 如何克服这个问题?

Answer 1:

如此看来,你正试图与编译emlmex使嵌入式代码。 该错误是说的输出的大小find不知道,显然,编译器需要固定大小的输出。 见这个新闻组后的一个解释。

编译这种方法似乎是过时的-使用MATLAB编码器 ( codegen命令),而不是:

emlmex生成MATLAB代码C-MEX文件。

 emlmex [-options] fun1 [fun2 ...] 

此功能已经过时了。 对于一般用途的加速和代码生成使用CODEGEN



文章来源: Matlab error “Find requires variable sizing”