我在使用 Matlab Codgen 生成 MEX 文件时遇到了一些问题。我无法确定此错误的原因,在我的理解中,我收到一条不反映真实情况的错误消息。
我要转换的功能如下:
function section = locateCupPlanInSec(separatorInterval,currentAngle)
lowerSep = 1;
upperSep = size(separatorInterval,2);
section = 0; % init value
while (upperSep-lowerSep) > 1
middleSep = (upperSep+lowerSep)/2;
middleAngle = separatorInterval(:,middleSep);
if currentSliceAngle > middleAngle
lowerSep = middleSep;
else
upperSep = middleSep;
end
end
section = lowerSep;
currentAngle 是 double(1x1),separatorInterval 是 double(1x:inf) 的数组。当我使用代码生成器时,生成试用代码和构建 MEX 没有任何问题。但是在使用 MEX 运行测试文件时,我得到以下信息:
Error using TestBenchManager.executeTestBench (line 0)
Error evaluating test code.
Caused by: Undefined function or variable 'separatorInterval'.
Error in runTestExecute (line 0)
Error in runTestBench (line 0)
Error in runTestBench (line 0)
但是 separatorInterval 已定义,我可以在工作区中看到它。我究竟做错了什么?谢谢