在simulink函数中使用冒号向量

时间:2017-04-03 14:30:26

标签: matlab simulink

我正在尝试计算SIMULINK中矢量的临时值。 在MATLAB中,代码如下所示:

(u(2:end)+ u(1:end-1))。/ 2

由于冒号运算符":" SIMULINK功能块无法执行此操作并且文档仅涉及数学功能块,但无法在那里输入自定义函数...

您是否知道如上所述计算临时值的简单方法?

非常感谢你的帮助!

1 个答案:

答案 0 :(得分:0)

查看Fcn块的帮助文件,它确实声明:

  

此外,此块不支持冒号运算符(:)。

所以我想这不会起作用。您可以使用Selector块在Simulink中构建表达式,但最简单的解决方案是使用嵌入式MATLAB块:

function y = fcn(u)
%#eml

y = (u(2:end) + u(1:end-1))./2;