本页对应的英文页面已更新,但尚未翻译。 若要查看最新内容,请点击此处访问英文页面。

Selector

从向量、矩阵或多维信号中选择输入元素

  • 库:
  • Simulink / Signal Routing

    HDL Coder / Signal Routing

说明

Selector 模块可以输出向量、矩阵或多维信号的选定元素或重新排序的元素。

基于您为 Number of input dimensions 参数输入的值,将显示一个索引设置表。表中的每一行对应于 Number of input dimensions 中的一个输入维度。对于每个维度,您可以定义要使用的信号元素。可将向量信号指定为一维信号,将矩阵信号指定为二维信号。当您配置 Selector 模块进行多维信号操作时,模块图标将发生变化。

例如,假设一个 6 维信号具有从 1 开始的索引模式。Selector 模块对话框中的表将发生变化,使每个维度都有一个对应的行。如果如下表所示定义维度,则输出为 Y = U(1:end,2:6,[1 3 5],Idx4:Idx4+7,Idx5,Idx6(1):Idx6(2)),其中 Idx4Idx5Idx6 是维度 4、5 和 6 的索引端口。

Index Option索引Output Size
1Select all  
2Starting index (dialog)25
3Index vector (dialog)[1 3 5] 
4Starting index (port) 8
5Index vector (port)  
6Starting and ending indices (port)  

可使用总线数组作为 Selector 模块的输入信号。有关定义和使用总线数组的详细信息,请参阅将总线合并为总线数组

端口

输入

全部展开

输入信号,亦即输出信号的元素来源。

数据类型: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | Boolean | fixed point | enumerated | bus

外部端口,用于指定对应输出元素的选择的索引。

依存关系

要启用外部索引端口,请在 Index Option 表的对应行中,将 Index Option 设置为 “Index vector (port)”、“Starting index (port)” 或 “Starting and ending indices (port)”。

数据类型: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | enumerated

输出

全部展开

根据选定或重新排序的输入信号元素生成的输出信号。

数据类型: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | Boolean | fixed point | enumerated | bus

参数

全部展开

指定输入信号的维度数。

编程用法

模块参数NumberOfDimensions
类型:字符向量
值:integer
默认值:'1'

指定索引模式。如果选择 One-based,则索引 1 指定输入向量的第一个元素。如果选择 Zero-based,则索引 0 指定输入向量的第一个元素。

编程用法

模块参数IndexMode
类型:字符向量
'One-based' | 'Zero-based'
默认值:'One-based'

按维度定义信号元素的索引方式。从列表中,选择:

  • Select all

    不需要进一步配置。所有元素都被选中。

  • Index vector (dialog)

    启用 Index 列。输入元素索引向量。当输入信号大小可变时,请不要选择此选项。

  • Index vector (port)

    不需要进一步配置。

  • Starting index (dialog)

    启用 IndexOutput Size 列。在 Index 列中输入要选择的元素范围的起始索引,在 Output Size 列中输入要选择的元素数。当输入信号大小可变时,请不要选择此选项。

  • Starting index (port)

    启用 Output Size 列。在 Output Size 列中输入要选择的元素数。

  • Starting and ending indices (port)

    不需要进一步配置。

    使用此选项将生成可变大小的输出信号。当您更新时,输出维度设置为与输入信号的维度相同。在执行过程中,将根据提供给索引的信号来更新输出维度。

    记录输出信号数据时,未选择的信号用 NaN 值填充。

可以根据需要显示 IndexOutput Size 列。

编程用法

模块参数IndexOptionArray
类型:字符向量
值:'Select all' | 'Index vector (dialog)' | 'Index option (port)' | 'Starting index (dialog)' | 'Starting index (port)' | Starting and ending indices (port)
默认值:'Index vector (dialog)'

如果 Index Option 设置为 “Index vector (dialog)”,则输入所需的每个元素的索引。

如果 Index Option 设置为 “Starting index (dialog)”,则输入要选择的元素范围的起始索引。

编程用法

模块参数IndexParamArray
类型:字符向量
值:元胞数组
默认值:'{ }'

指定模块输出信号的宽度。

编程用法

模块参数OutputSizeArray
类型:字符向量
值:元胞数组
默认值:'{ }'

指定一维信号的模块输入信号的宽度。输入 -1 将从驱动模块继承。

编程用法

模块参数InputPortWidth
类型:字符向量
值:integer
默认值:'1'

将采样时间指定为 -1 以外的值。有关详细信息,请参阅指定采样时间

依存关系

此参数不可见,除非将其显式设置为 -1 以外的值。要了解详细信息,请参阅不建议设置采样时间的模块

编程用法

模块参数:SampleTime
类型:字符向量
值:标量或向量
默认值:'-1'

模块特性

数据类型

Boolean | double | enumerated | fixed point | integer | single

直接馈通

多维信号

可变大小信号

过零检测

扩展功能

C/C++ 代码生成
使用 Simulink® Coder™ 生成 C 代码和 C++ 代码。

PLC 代码生成
使用 Simulink® PLC Coder™ 生成结构化文本代码。

定点转换
使用 Fixed-Point Designer™ 设计和仿真定点系统。

在 R2006a 之前推出