0
我试图用一个嵌入式matlab函数来模拟一个非常简单的模型,该函数使用一个输入到matlab函数中的常量块来获取输入并添加10的值,然后输出到显示块。Simulink中嵌入函数的问题
只要我按下模拟,我会得到大量的错误。首先,我得到橙色文本巨大的一段陈述警告了求解'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;
谢谢。我已将函数名称更改为'hello(u)',但问题仍然存在。我很久没有使用我的'union.m'脚本,所以我不知道它为什么试图找到它。这是我第一次试图在simulink中嵌入一个函数。 – user1574598
唯一的解决方法是从MatLab路径中取出'union.m',这对我来说似乎是荒谬的。当最初删除关于MatLab找不到与XCode一起提供的C编译器的'union.m'文件时,我还遇到了另一个问题。除了'union.m'文件的最初问题之外,现在已经解决了这个问题。 – user1574598
MATLAB在当前目录中运行,然后添加的路径优先于内置路径。在MATLAB中,你可以做“哪个 - 所有联合”,并看看它返回什么?它应该只包含内置或在你的MATLAB安装下。 – Navan