【问题标题】:Matlab function inside Simulink gives parse errorSimulink 中的 Matlab 函数给出解析错误
【发布时间】:2013-05-29 19:03:09
【问题描述】:

我已在 call a matlab function 的 Simulink 图中包含 Matlab 功能块。
现在当我想模拟 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 模型。

【问题讨论】:

    标签: matlab debugging simulink


    【解决方案1】:

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

    【讨论】:

    • 抱歉,刚才将您的答案标记为正确。我想补充一点,也可以专门输入输入/输出的大小。当您在编辑器中打开 Matlab 代码时。您可以在编辑栏中单击“编辑数据”,您可以在其中指定此项。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多