首页 > 解决方案 > Simulink For Iterator 迭代限制可见性

问题描述

是否可以在 Simulink For 迭代器块上显示 N(迭代限制)值?

用黄色标记:对于迭代器 0:N-1

在块上,我们看到: 对于 0 : N - 1 迭代器
我想看看: 对于 0 : 5 迭代器
与其他编程语法类似:for (int i=0;i<6;i++) 对于 (int i = 0; i < 6 ; 我++)

标签: simulink

解决方案


您可以在每个块下方(默认情况下)显示的“块注释”中显示任何块属性的值。

右键单击块,单击“块属性”。导航到“块注释”选项卡,然后在文本框中输入类似

IterationLimit=  %<IterationLimit>

关闭对话框,应用任何更改,限制应出现在块下方。

应用蒙版

另一种方法是将掩码应用于迭代器子系统内的“For Iterator”块。右键单击“For Iterator”,然后单击“Mask”,“Create Mask”。然后在“图标绘制命令”框中输入以下脚本。

mode = get_param(gcb,'IndexMode');
if strcmp(mode,'One-based')
    start = 1;
else
    start = 0;
end

limit = str2num(get_param(gcb,'IterationLimit'));
disp(sprintf('For %i:%i', start, limit-1));

clear limit mode start

这将在块上显示“For 1:6”(例如),而不是默认行为。


推荐阅读