通过 Simulink 增加一个变量

Increment a variable by Simulink

我在 Simulink 中遇到问题,我有一个变量 "k" 作为常量块(起始值 k =1 ),我想在每次单击 [=22 后递增 "k" =] 直到 "k" 为 4 然后它将再次重置为 1。

我已经尝试过这个(见附件图 1),但在这种情况下,k 它将在模拟时间结束之前进行很长时间的修改(见附件图 2),这不是我想要的。

enter image description here enter image description here

我会感谢任何帮助,非常感谢 Jay

如果您只想在每次 运行 模拟时更新值,最好的选择是在 InitFcn 回调中添加一些代码。

这是一个(可选)代码块,每次初始化模型时都会 运行。为此,导航 File > Model Properties > Model Properties

Select 回调选项卡,然后是左侧的 InitFcn 回调。以下代码将检查 k 是否存在于工作区中,如果不存在则设置它,如果存在则递增它。如果你把它放在回调中,然后将常量块值设置为 k 你应该得到你想要的行为。

if ~exist('k', 'var')
    k = 1;
else
    k = k + 1;
end

if k>4
    k = 1;
end