Engee 文档

Multiport Selector

将输入行或列的任意子集分配到多个输出端口。

类型: Multiport Selector

图书馆中的路径:

/Signal Operations/Signal Management/Indexing/Multiport Selector

说明

Multiport Selector 从大小为 M*N 的输入矩阵 u 中提取多个行或列子集,并将每个新的子矩阵传播到一个单独的输出端口。更多详情,请参阅 SelectIndices to output 参数的说明。

端口

输入

输入 - 输入信号
标量 | 向量 | 矩阵

输入信号 u。它可以是一个标量、长度为 N 的矢量或大小为 M 乘 N 的矩阵。

数据类型: Float16, Float32, Float64, Int8, Int16, Int32, Int64, Int128, UInt8, UInt16, UInt32, UInt64, UInt128, Boolean, Fixed-point, Enumerated

支持复数:支持

输出

输出 - 输入数据行或列的子集
标量 | 向量 | 矩阵

传递到每个输出端口的输入信号行或列的子集。Indices to output 数组中的每个单元格都定义了要传递到相应输出端口的输入信号行或列的子集。 Indices to output 数组中单元格的总数决定了程序块中输出端口的数量。

数据类型: Float16, Float32, Float64, Int8, Int16, Int32, Int64, Int128, UInt8, UInt16, UInt32, UInt64, UInt128, Boolean, Fixed-point, Enumerated

参数

选择 - 输入的维度
行(默认) | 列

选择输入维度:

  • 行"--程序块使用您指定的一维索引来选择矩阵的行,所选行中的所有元素都包含在内。

  • 列"- 该代码块使用您指定的一维指数来选择矩阵的列,所选列中的所有元素都会包含在内。

所选输入行或列可以在任意输出中出现任意次数,也可以不出现。

如果索引引用了不存在的输入行或列,程序块将按照*无效索引*参数指定的操作进行响应。

输出索引 - 输出索引
(4,[1:2;5],[7;8],10:-1:6)(默认)` | `单元元组'。

指定以单元数组形式传播到每个输出端口的行集或列集。

单元包含一个一维索引表达式,表示要传播到 -th 输出端口的输入行或列的子集。数组中单元的总数决定了程序块中输出端口的数量。

示例: (4, [1:2; 5], [7; 8], 10:-1:6)

这是一个由四个单元组成的数组,要求程序块产生四个独立的输出(每个输出到一个单独的端口)。

下表显示了当 Select=Rows 和输入维数为 时这些输出的维数。

Cell Expression Description Output dimensionality *输出维度

1

4

字符串 4 输入数据

at

2

[1:2; 5]

输入数据行 1、2 和 5

at

3

[7;8]

输入数据的第 7 和第 8 行

at

4

10:-1:6

输入数据的第 10、9、8、7 和 6 行

at

无效索引 - 索引无效时的操作 剪贴索引(默认) | `生成错误

指定出现无效索引值时要采取的操作。您可以选择以下选项之一:

  • 夹住索引"- 该程序块会将索引减少到最接近的有效值,并且不会发出警告。

例如,如果程序块接收到 644 作为输入,并且 Select=Rows, 程序块就会将索引从 72 缩减到 64。对于相同的输入,如果 Select=Columns ,程序块会将索引从 72 剪切到 4。在这两种情况下,程序块都会将索引从`2`剪切到`1`。

  • 产生错误"- 程序块会显示一个关于错误的对话框并终止模拟。