0

我正在尝试使用嵌入式 matlab 函数模拟一个非常简单的模型,该函数接受输入并使用输入到 matlab 函数的常量块将值加 10,然后输出到显示块。

一旦我按下模拟,我就会得到大量的错误。首先,我得到一个橙色文本的大段,指出求解器'variableStepDiscrete'而不是求解器的警告'ode45'

以下是从命令提示符回显的剩余行:

Code Directory :
 "/Users/dazgti/Documents/MATLAB/slprj/_sfprj/embeddedFunction/_self/sfun/src"

Machine (#32): "embeddedFunction"  Target : "sfun"


Chart "MATLAB Function" (#49):

.
     "c2_embeddedFunction.h"
 "c2_embeddedFunction.c"

 "embeddedFunction_sfun.h"

 "embeddedFunction_sfun.c"

 "embeddedFunction_sfun_debug_macros.h"


Interface and Support files:

 "embeddedFunction_sfun_registry.c"

Code generation failed Attempt to execute SCRIPT union as a function:
/Users/dazgti/Documents/MATLAB/union.m

我的 matlab 目录中有一个名为 的脚本文件union.m,但我不知道它为什么提到它。

模拟

function y  = fcn(u)
%#codegen

x = u + 10;

y = x;
4

1 回答 1

1

MATLAB Function 模块通过为您在模块中输入的 MATLAB 代码生成“C”代码来工作。在生成代码的过程中,可能会从 MATLAB Function 模块基础结构调用 MATLAB 中的 union 函数。由于您已覆盖联合函数而不是内置函数,因此 MATLAB 可能已尝试调用导致错误的脚本。最好避免将您的函数命名为与 MATLAB 内置函数相同的名称。

于 2013-11-20T20:08:21.673 回答