Документация Engee

Multiport Selector

Распределитель произвольных подмножеств входных строк или столбцов по нескольким выходным портам.

multiport selector

Описание

Блок Multiport Selector извлекает несколько подмножеств строк или столбцов из входной матрицы u размера M*N и распространяет каждую новую подматрицу на отдельный выходной порт. Более подробно см. описание параметров Select и Indices to output.

Порты

Вход

Input — входной сигнал
скаляр | вектор | матрица

Входной сигнал u. Может быть скаляром, вектором длины N или матрицей размером M на N.

Типы данных: Float16 | Float32 | Float64 | Int8 | Int16 | Int32 | Int64 | Int128 | UInt8 | UInt16 | UInt32 | UInt64 | UInt128 | Boolean | Fixed-point | Enumerated

Поддержка комплексных чисел: Да

Выход

Output(s) — подмножества строк или столбцов входных данных
скаляр | вектор | матрица

Подмножества строк или столбцов входного сигнала, передаваемые в каждый выходной порт. Каждая ячейка в массиве Indices to output определяет подмножество строк или столбцов входного сигнала, которое будет передано в соответствующий выходной порт.

Общее количество ячеек в массиве Indices to output определяет количество выходных портов в блоке.

Типы данных: Float16 | Float32 | Float64 | Int8 | Int16 | Int32 | Int64 | Int128 | UInt8 | UInt16 | UInt32 | UInt64 | UInt128 | Boolean | Fixed-point | Enumerated

Параметры

Select — размерность входа
Rows (по умолчанию) | Columns

Выберите размерность входа:

  • Rows - блок использует указанные вами одномерные индексы для выбора строк матрицы, и все элементы в выбранных строках включаются.

  • Columns - блок использует указанные вами одномерные индексы для выбора столбцов матрицы, и все элементы в выбранных столбцах включаются.

Выбранная входная строка или столбец может появляться любое количество раз в любом из выходов или не появляться вообще.

Если индекс ссылается на несуществующую строку или столбец входа, блок реагирует действием, которое вы указали с помощью параметра Invalid index.

Indices to output — индексы для вывода
(4, [1:2; 5], [7; 8], 10:-1:6) (по умолчанию) | кортеж ячеек

Укажите наборы строк или столбцов для распространения на каждый из выходных портов в виде массива ячеек.

Ячейка содержит одномерное индексирующее выражение, указывающее подмножество входных строк или столбцов, которые будут переданы в -ый выходной порт. Общее количество ячеек в массиве определяет количество выходных портов в блоке.

Пример: (4, [1:2; 5], [7; 8], 10:-1:6)

Это массив из четырех ячеек, который требует, чтобы блок генерировал четыре независимых выхода (каждый на отдельный порт).

В следующей таблице показаны размерности этих выходов, когда Select=Rows, а размерность входа на .

Ячейка Выражение Описание Размерность выходного сигнала

1

4

Строка 4 входных данных

на

2

[1:2; 5]

Строки 1, 2 и 5 входных данных

на

3

[7;8]

Строки 7 и 8 входных данных

на

4

10:-1:6

Строки 10, 9, 8, 7 и 6 входных данных

на

Invalid index — действие в случае неверного индекса Clip Index (по умолчанию) | Generate Error

Укажите действие, которое необходимо предпринять при наличии недопустимого значения индекса. Вы можете выбрать один из следующих вариантов:

  • Clip index - блок сокращает индекс до ближайшего допустимого значения и не выдает предупреждения.

Например, если блок получает на вход 64 на 4 и Select=Rows, то блок обрезает индекс от 72 до 64. Для того же входа, если Select=Columns, блок вырезает индекс от 72 до 4. В обоих случаях блок вырезает индекс от -2 до 1.

  • Generate error - блок выводит диалоговое окно об ошибке и завершает симуляцию.