2

Simulink 中的 Gain 模块和 Continuous 模块要求用户指定增益。这可以是工作区变量。但我想在运行时改变这个增益。我似乎无法为此找到解决方案。这个想法很简单,但我不敢相信它很难实现。

我尝试使用另一个块写入工作区,但发现“到工作区”块仅在模拟结束或暂停后写入工作区。

我可以将变量存储在数据存储块中,但在这种情况下,我不知道如何为增益/PID 块指定增益值。

4

3 回答 3

1

如果您关闭了内联参数(它在配置集的优化页面上),您可以打开增益块对话框并更改值。如果要使用工作区变量,则可以在模拟运行时更改工作区变量的值并执行更新图 (^D)。

还有一个称为Slider Gain的块,它允许您使用滑块 UI 更改增益值。

于 2012-11-21T02:53:23.897 回答
1

可能在某些时候会有所帮助:尝试使用 MATLAB Function Block(可直接在 Simulink 中使用的 Matlab 用户定义函数)。

于 2013-08-20T08:21:09.687 回答
0

作为命令行替代方案,您可以使用SET_PARAM函数在模型仿真期间更改模块的增益值。

例如,以下代码会将名为“my_model.mdl”的模型顶层名为“My Gain”的模块的增益值更改为 20:

set_param('my_model/My Gain','Gain','20');

但是请注意,只有可调参数可以在运行时使用SET_PARAM进行更改。

于 2012-12-08T19:39:24.113 回答