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

Переменный выбор

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

Тип: Variable Selector

Путь в библиотеке:

/Signal Operations/Signal Management/Indexing/Variable Selector

Описание

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

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

Если элементы вектора индексации имеют тип данных Bool, блок выполняет логическое индексирование. Установите флажок параметра Заполнить пустые места в выходных данных (для логической индексации), чтобы использовать параметр Заполнить значения. Эти значения добавляются к выходному сигналу, чтобы сделать его длину равной длине входных элементов.

Порты

Вход

# InN -й входной сигнал
скаляр | вектор | матрица

Details

-й входной сигнал, где – количество входов, указанное в параметре Количество входных сигналов.

Типы данных

Float16, Float32, Float64, Int8, Int16, Int32, Int64, Int128, Uint8, Uint16, Uint32, Uint64, Uint128, Bool, Fixed

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

Да

# Idx — вектор индексов
скаляр | вектор

Details

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

Зависимости

Чтобы использовать этот порт, укажите для параметра Режим выбора значение Переменный

Типы данных

Float16, Float32, Float64, Int8, Int16, Int32, Int64 |Int128, Uint8, Uint16, Uint32, Uint64, Uint128, Bool

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

Нет

Выход

# OutN -й выходной сигнал
скаляр | вектор | матрица

Details

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

Типы данных

Float16, Float32, Float64, Int8, Int16, Int32, Int64, Int128, Uint8, Uint16, Uint32, Uint64, Uint128, Bool, Fixed

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

Да

Параметры

Основные

# Количество входных сигналов — количество входных портов
Вещественное число

Details

Количество входных сигналов в виде целого положительного числа. Для каждого входного сигнала в блоке создается входной порт.

Значение по умолчанию

1

Имя для программного использования

NumInputs

Настраиваемый

Нет

Вычисляемый

Да

# Выбирать — размерность входа
Строки | Столбцы

Details

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

  • Строки – блок извлекает строки из каждой входной матрицы;

  • Столбцы – блок извлекает столбцы из каждой входной матрицы.

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

Значения

Rows | Columns

Значение по умолчанию

Rows

Имя для программного использования

rowsOrCols

Настраиваемый

Нет

Вычисляемый

Нет

# Режим выбора — режим индексирования
Фиксированный | Переменный

Details

Тип выполняемой операции индексирования. Задается как:

  • Переменный – вектор длиной , подаваемый на вход порта Idx, выбирает строк или столбцов каждого входа для передачи на выход. Вы можете обновлять элементы вектора индексации в каждый период дискретизации, но длина вектора должна оставаться неизменной в течение всего периода симуляции.

  • Фиксированный – порт Idx отключен. Вектор длиной , который вы указали в параметре Элементы, выбирает строк или столбцов каждого входа для передачи на выход. Параметр Элементы является настраиваемым, поэтому вы можете изменять значения элементов вектора индексации в любое время во время симуляции, но длина вектора должна оставаться неизменной.

Значения

Fixed | Variable

Значение по умолчанию

Variable

Имя для программного использования

IdxMode

Настраиваемый

Нет

Вычисляемый

Нет

# Элементы — индексы элементов выходной матрицы
Скаляр / массив вещественных чисел

Details

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

Зависимости

Чтобы использовать этот параметр, установите для параметра Режим выбора значение Фиксированный.

Значение по умолчанию

[1 3]

Имя для программного использования

Elements

Настраиваемый

Да

Вычисляемый

Да

# Режим индексации — режим индексирования
Индексация с нуля | Индексация с единицы

Details

Режим индексирования. Задается как:

  • Индексация с единицы – значение индекса 1 относится к первой строке или первому столбцу входа.

  • Индексация с нуля – значение индекса 0 относится к первой строке или первому столбцу входа.

Значения

Zero-based | One-based

Значение по умолчанию

One-based

Имя для программного использования

ZerOneIdxMode

Настраиваемый

Нет

Вычисляемый

Нет

# Неверный индекс — обработка ошибок
Обрезать индекс до ближайшего допустимого значения | Отобразить сообщение об ошибке

Details

Укажите, как блок обрабатывает недопустимое значение индекса. Задается как:

  • Обрезать индекс до ближайшего допустимого значения – обрезать индекс до ближайшего допустимого значения и не выдавать предупреждение.

    Например, если на вход блока подается сигнал [64, 4] и для параметра Выбирать установлено значение:

    • Строки – блок обрезает индекс от 72 до 64.

    • Столбцы – блок обрезает индекс от 72 до 4.

      В обоих случаях блок обрезает индекс от -2 до 1.

  • Отобразить сообщение об ошибке – вывод диалогового окна об ошибке и завершение симуляции.

Значения

Clip Index | Generate Error

Значение по умолчанию

Clip index

Имя для программного использования

errmode

Настраиваемый

Нет

Вычисляемый

Нет

# Заполнить пустые места в выходных данных (для логической индексации) — опция заполнения пустых мест в выходных данных
Логический тип

Details

Когда элементы вектора индексации имеют тип данных Bool, блок выполняет логическое индексирование. Логическое индексирование может привести к появлению пустых мест в выходных данных.

Установите этот флажок, чтобы указать значения, которые будут добавлены к выходным данным в параметре Заполнить значения.

Значение по умолчанию

true (включено)

Имя для программного использования

FillMode

Настраиваемый

Нет

Вычисляемый

Нет

# Заполнить значения — значения заполнения

Details

Значения заполнения, когда блок выполняет логическое индексирование.

Зависимости

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

Значение по умолчанию

0

Имя для программного использования

FillValues

Настраиваемый

Нет

Вычисляемый

Да