Simulink中的Matlab函数给出了解析错误

时间:2013-06-03 15:08:26

标签: matlab debugging simulink

我在Simulink图中将Matlab功能块包含到call a matlab function 现在,当我想模拟Simulink图时,我收到错误:

Errors occurred during parsing of MATLAB function 'MATLAB Function'(#384) 

但是我在matlab函数脚本中找不到任何错误:

 function out = Sigma(xyz,x1,u)
 x = xyz(1);
 y = xyz(2);
 z = xyz(3);
 out = [-x^3 + 3*x + 2 + 5*y - z + u; ...
        -0.8 - x^2 - 2*x - y;         ...
        0.005*(4*(x1 + 1.77) - z)];
 end

输入xyz是一个多路复用信号,长度为3x1u是标量值。出了什么问题?任何人都可以浏览我的文件(zip-archive可用here)?

它包含三个文件。

  • main.m,声明了一些变量中的主文件,并运行了simulink模型
  • Sigma.m,matlab函数的副本
  • HindmarshRose.mdl,simulink模型。

1 个答案:

答案 0 :(得分:2)

MATLAB功能块需要在初始化时知道​​输出的大小和数据类型。 在out = zeros(3,1);行之前添加行x = xyz(1);