Simulink中嵌入式功能的问题

时间:2013-11-20 18:10:53

标签: matlab simulink matlab-coder

我正在尝试使用嵌入式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的脚本文件,但我不知道它为什么提到它。

sim

function y  = fcn(u)
%#codegen

x = u + 10;

y = x;

1 个答案:

答案 0 :(得分:1)

MATLAB功能块通过为您在块中输入的MATLAB代码生成“C”代码来工作。在生成代码的过程中,可能已经在MATLAB中从MATLAB功能块基础结构中调用了union功能。由于您已重写了union函数而不是内置函数,因此MATLAB可能试图调用导致错误的脚本。最好避免使用与MATLAB内置函数相同的命名函数。