【问题标题】:Simulink Mask ParametersSimulink 封装参数
【发布时间】:2014-08-09 08:25:59
【问题描述】:

我正在尝试创建一个包含传递函数的子系统。除了分母中的一个系数之外的所有内容都设置在此传递函数中。

我怎样才能只提升这个参数,而不是将传递函数的整个分母提升到子系统的掩码中?当用户双击子系统时,我想让掩码只请求这个单个参数,而不是整个分母。这可能吗?

这是一个三阶系统:[1 (parameter) 9 1]

我想在掩码中设置(参数)系数。

【问题讨论】:

  • 你的分母是什么样子的,我的意思是顺序是什么?
  • 它是一个三阶系统:[1 (parameter) 9 1] 我想在掩码中设置(参数)系数。

标签: matlab simulink


【解决方案1】:

这是你应该做的:

  • 采用原子子系统
  • 添加Transfer Fcn块,分母为[1 X 9 1]
  • 屏蔽这个原子子系统,参数say X 命名为say Coefficient

这是一个例子,(对不起,我的 matlab 学生版太旧,但你会知道该怎么做。)

【讨论】:

  • 太好了,这就是我要找的。跟进,你能指定原子系统有多输入多输出吗?
  • @user3821411 您所要做的就是添加更多的 Inports 和 Ouports,并在其中执行相应的逻辑,如果您有具体的问题,请作为新问题发布
【解决方案2】:

将您的传递函数放入具有一个输入和一个输出的屏蔽子系统中。硬编码传输功能块的所有参数,除了感兴趣的参数,您可以将其定义为封装参数。您无法更改内置传递功能块的掩码,因此您必须创建自己的掩码。

【讨论】:

  • 不太清楚我会怎么做,如果我只把 tf 放在一个子系统中,当我尝试引用那个参数时,它仍然会要求整个分母,不是吗?
  • 否,因为您将硬编码 TF 块中的其他参数,并且只留下一个感兴趣的参数作为掩码参数。 TF 块将要求您提供整个分母,但不是您自己的掩码,因为您正在自己构建它。模型的最终用户永远不会看到 TF 模块对话框,只会看到您自己的封装子系统对话框。有关如何创建屏蔽子系统的示例,请参阅 mathworks.co.uk/help/simulink/ug/mask-a-subsystem.html
  • @P0W 的回答说明了我想说的话。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-06
  • 1970-01-01
  • 2020-05-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多