For Iterator
For Iterator 子系统的控制模块
描述
放置在 Subsystem 模块中的 For Iterator 模块在当前时间步中重复执行子系统,直到迭代变量超过指定的迭代限制。您可以使用此模块实现与某种编程语言中的 for
循环等效的模块图。
For Iterator Subsystem 模块的输出不能是函数调用信号。模型更新时,Simulink® 显示错误消息。
端口
输入
Number of Iterations — 迭代器变量的外部值
标量 | 向量,大小为 1 | 矩阵,大小为 1×1
输入端口接受混合数值类型的数据。
如果输入端口值为非整数,则先截断为整数。
在内部将输入值强制转换为针对迭代变量输出端口指定的整数类型。
如果未指定输出端口,则输入端口值将强制转换为
int32
类型。如果输入端口值超过输出端口类型的最大值,则溢出将饱和。
数据类型: single
| double
| int8
| int16
| int32
| uint8
| uint16
| uint32
输出
Iterator value — 迭代器变量在时间步期间的值
标量 | 向量,大小为 1 | 矩阵,大小 1×1
选中显示迭代变量参数复选框会将输出端口添加到此模块。
数据类型: double
| int8
| int16
| int32
| uint8
| uint16
| uint32
参数
开始时的状态 — 选择时间步之间的模块状态
保持 (默认) | 重置
选择如何处理时间步之间的模块状态。
- 保持
在时间步之间保持模块状态。模块状态值跨时间步保持不变。
- 重置
在每个时间步的开始和第一个迭代循环之前,将模块状态重置为其初始值。
编程用法
模块参数:ResetStates |
类型:字符向量 |
值:'held' | 'reset' |
默认值:'held' |
迭代限制来源 — 选择迭代次数的数据源
内部 (默认) | 外部
选择迭代次数的数据源。
- 内部
迭代限制参数的值确定迭代次数。
- 外部
N 端口的信号值确定迭代次数。信号源必须位于 For Iterator Subsystem 模块之外。
依存关系
选择内部将显示并启用迭代限制参数。选择外部将添加标签为 N 的输入端口。
编程用法
模块参数: IterationSource |
类型:字符向量 |
值:'internal' | 'external' |
默认值:'internal' |
迭代限制 — 指定迭代次数
5
(默认) | 整数
指定迭代次数。此参数支持存储类。您可以在模型资源管理器的基础工作区中,将命名常量定义为内置存储类 Define (custom)
类型的 Simulink.Parameter
对象。
5
对 For Iterator Subsystem 模块中的模块执行
5
次迭代。- 整数
指定一个整数或指定的常变量。
依存关系
要启用此参数,请从迭代限制来源下拉列表中选择内部。
编程用法
模块参数:IterationLimit |
类型:字符向量 |
值:'5' | '<integer>' |
默认值:'5' |
在外部设置下一个 i (迭代变量) — 控制输入端口的显示
off (默认) | on
控制输入端口的显示。
- off
删除输入端口。
- on
添加标签为 Next_i 的输入端口以连接到外部迭代变量源。当前迭代中的输入值用作下一次迭代的迭代变量值。
依存关系
要启用此参数,请选择显示迭代变量参数,这也会显示标签为 1:N 的输出端口。
编程用法
模块参数:ExternalIncrement |
类型:字符向量 |
值:'off' | 'on' |
默认值:'off' |
显示迭代变量 — 控制输出端口的显示
on (默认) | off
使用循环的当前迭代器值控制输出端口的显示。
- on
将标签为 1:N 的输出端口添加到 For Iterator 模块。
- off
删除输出端口。
依存关系
选择此参数将启用在外部设置下一个 i (迭代变量) 参数。
编程用法
模块参数:ShowIterationPort |
类型:字符向量 |
值:'on' | 'off' |
默认值:'on' |
索引模式 — 选择初始迭代序号
从 1 开始 (默认) | 从 0 开始
选择 0
或 1
作为初始迭代序号。
- 从 1 开始
迭代序号从 1 开始。
- 从 0 开始
迭代序号从 0 开始。
编程用法
模块参数:IndexMode |
类型:字符向量 |
值:'One-based' | 'Zero-based' |
默认值:'One-based' |
迭代变量数据类型 — 选择数据类型
int32 (默认) | uint32 | int16 | uint16 | int8 | uint8 | double
设置从迭代序号端口输出的迭代值的类型。迭代变量允许的最大值由索引模式和迭代变量数据类型参数确定。例如,如果将索引模式设置为从 1 开始,并将迭代变量数据类型设置为 int8,则迭代变量允许的最大值为 27-1。但是,如果将迭代变量数据类型设置为 uint32 或 double,迭代变量允许的最大值将限制为有符号 32 位整数 (int32
) 的最大正值。有关不同整数类的值范围的详细信息,请参阅整数。
- int32
将数据类型设置为
int32
。- uint32
将数据类型设置为
uint32
。- int16
将数据类型设置为
int16
。- uint16
将数据类型设置为
uint16
。- int8
将数据类型设置为
int8
。- uint8
将数据类型设置为
uint8
。- double
将数据类型设置为
double
。
编程用法
模块参数:IterationVariableDataType |
类型:字符向量 |
值:'int32' | 'uint32' |'int16' | 'uint16' |'int8' | 'uint8' |'double' |
默认值:'int32' |
版本历史记录
在 R2006a 之前推出
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)