1

我在使用 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 已定义,我可以在工作区中看到它。我究竟做错了什么?谢谢

4

0 回答 0