通过Simulink增加变量

时间:2016-08-27 08:19:26

标签: matlab increment simulink

我在Simulink遇到了问题,我有一个变量" k"作为常量块(起始值k = 1),我想增加" k"每次我点击"模拟按钮"直到" k"是4然后它将再次重置为1。

我已经尝试了这个(参见附图1),但是在这种情况下,k它将在模拟时间结束之前进行如此长时间的墨水检测(见图2),这不是我想要的。

enter image description here enter image description here

我会感谢任何帮助,非常感谢杰伊

1 个答案:

答案 0 :(得分:3)

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

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

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

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

if k>4
    k = 1;
end