Переменный селектор

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

Библиотека

Управление сигнала / Индексация

dspindex

Описание

Переменный Селекторный блок извлекает подмножество строк или столбцов от M-by-N входная матрица u в каждом входном порту. Вы задаете количество портов ввода и вывода в параметре Number of input signals.

Когда параметр Select устанавливается на Rows, Переменный Селекторный блок извлекает строки из каждой входной матрицы, в то время как, если параметр Select устанавливается на Columns, блок извлекает столбцы.

Когда параметр Selector mode устанавливается на Variable, вход вектора длины-L к порту Idx выбирает строки L или столбцы каждого входа, чтобы передать до вывода. Элементы вектора индексации могут быть обновлены в каждом шаге расчета, но длина вектора должна остаться то же самое в течение симуляции.

Когда параметр Selector mode устанавливается на Fixed, порт Idx отключен, и вектор длины-L, заданный в параметре Elements, выбирает строки L или столбцы каждого входа, чтобы передать до вывода. Параметр Elements является настраиваемым, таким образом, можно изменить значения индексирующих векторных элементов в любое время во время симуляции; однако, длина вектора должна остаться то же самое.

И для переменной и для зафиксированных режимов индексации, операция выбора строки эквивалентна

y = u(idx,:)						% Equivalent MATLAB code

и операция выбора столбца эквивалентна

y = u(:,idx)						% Equivalent MATLAB code

где idx является вектором индексации длины-L. Выходным размером выбора строки является L-by-N и выбор столбца, выходным размером является M-by-L. Введите строки, или столбцы могут появиться любое число раз в выводе, или нисколько.

Когда вход является неориентированным вектором, параметр Select проигнорирован; вывод является неориентированным вектором длины L, содержащий те элементы, указанные вектором индексации длины-L.

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

Когда индексирующие векторные элементы имеют булев тип данных, блок выполняет логическую индексацию. Выберите Fill empty spaces in outputs (for logical indexing), чтобы получить доступ к параметру Fill values. Эти значения добавлены к выводу, чтобы сделать его пока входные элементы.

Примечание

Переменный Селекторный блок всегда копирует выбранные входные строки в непрерывный блок памяти (различающийся блок Simulink® Selector).

Параметры

Number of input signals

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

Select

Задайте размерность входа, чтобы выбрать, Rows или Columns.

Selector mode

Задайте тип индексации операции, чтобы выполнить, Variable или Fixed. Переменная индексация использует вход в порте Idx, чтобы выбрать строки или столбцы от входа в порте In. Фиксированная индексация использует значение параметров Elements, чтобы выбрать строки из входа в порте In и отключает порт Idx.

Elements

Задайте вектор, содержащий индексы входных строк или столбцов, которые появятся в выходной матрице. Этот параметр появляется только, когда вы устанавливаете Selector mode на Fixed.

Index mode

Когда установлено в One-based, индексное значение 1 относится к первой строке или столбцу входа. Когда установлено в Zero-based, индексное значение 0 относится к первой строке или столбцу входа.

Invalid index

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

  • Clip index — Отсеките индекс к самому близкому допустимому значению и не выпускайте предупреждение.

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

  • Clip and warn — Отсеките индекс к самому близкому допустимому значению и отобразите предупреждающее сообщение в командной строке MATLAB®.

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

Этот параметр является настраиваемым (Simulink).

Fill empty spaces in outputs (for logical indexing)

Когда индексирующие векторные элементы имеют булев тип данных, блок выполняет логическую индексацию. Это может вызвать пустые места в выводе. Выберите этот параметр, чтобы определять значения быть добавленными к выводу в параметре Fill values.

Fill values

Задайте значения заливки, когда блок выполнит логическую индексацию. Этот параметр появляется только, когда вы устанавливаете флажок Fill empty spaces in outputs (for logical indexing).

Поддерживаемые типы данных

ПортПоддерживаемые типы данных

\in

  • Плавающая точка двойной точности

  • Плавающая точка с одинарной точностью

  • Фиксированная точка (подписанный и без знака)

  • Булевская переменная

  • 8-, 16-, и 32-битные целые числа со знаком

  • 8-, 16-, и 32-битное беззнаковое целое

  • Перечислимый

Idx

  • Плавающая точка двойной точности

  • Плавающая точка с одинарной точностью

  • Булевская переменная

  • 8-, 16-, и 32-битные целые числа со знаком

  • 8-, 16-, и 32-битное беззнаковое целое

  • Перечислимый

  • Плавающая точка двойной точности

  • Плавающая точка с одинарной точностью

  • Фиксированная точка (подписанный и без знака)

  • Булевская переменная

  • 8-, 16-, и 32-битные целые числа со знаком

  • 8-, 16-, и 32-битное беззнаковое целое

  • Перечислимый

Смотрите также

Расширенные возможности

Преобразование фиксированной точки
Преобразуйте алгоритмы с плавающей точкой в фиксированную точку с помощью Fixed-Point Designer™.

Представлено до R2006a