【问题标题】:Using the colon vector in a simulink function在 simulink 函数中使用冒号向量
【发布时间】:2017-04-03 14:30:25
【问题描述】:

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

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

SIMULINK 功能块无法执行此操作,因为冒号运算符“:”,文档仅引用数学功能块,但无法在此处输入自定义函数...

您知道如上所述计算中间值的简单方法吗?

非常感谢您的帮助!

【问题讨论】:

  • 您收到的确切错误是什么?
  • 我已经解决了,非常感谢您的帮助!
  • 你最后是怎么解决的?您的回答可以帮助他人。
  • 我用嵌入式 MATLAB 块解决了问题,正如你所建议的那样:)

标签: matlab simulink


【解决方案1】:

查看它所声明的 Fcn 块的帮助文件:

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

所以我想那是行不通的。您可以使用 Selector 模块在 Simulink 中构建表达式,但最简单的解决方案可能是使用 Embedded MATLAB 模块:

function y = fcn(u)
%#eml

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

【讨论】:

  • 非常感谢您的回复!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-04-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-26
  • 1970-01-01
相关资源
最近更新 更多