exponenta event banner

Найти ненулевые элементы

Поиск ненулевых элементов в массиве

  • Библиотека:
  • Операции с симуляцией/математикой

  • Find Nonzero Elements block

Описание

Блок Найти ненулевые элементы находит все ненулевые элементы входного сигнала и возвращает линейные индексы этих элементов. Если вход является многомерным сигналом, блок «Найти ненулевые элементы» может также возвращать индексы ненулевых входных элементов. В обоих случаях можно отобразить выходной порт с ненулевыми входными значениями.

Блок «Найти ненулевые элементы» выдает сигнал переменного размера. Время выборки для любого сигнала переменного размера должно быть дискретным. Если модель еще не использует решатель с фиксированным шагом, может потребоваться выбрать решатель с фиксированным шагом в диалоговом окне Параметры конфигурации (Configuration Parameters). Дополнительные сведения см. в разделах Сравнение решателей и Выбор решателя.

Порты

Вход

развернуть все

Входной сигнал, по которому блок находит все ненулевые элементы.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point

Продукция

развернуть все

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

Зависимости

По умолчанию блок выводит линейные индексы из первого выходного порта. При изменении формата вывода индекса на Subscriptsвместо этого блок предоставляет индексы элементов двухмерного или большего сигнала в виде подстрочного индекса. В этом режиме необходимо указать количество входных размеров, и блок создаст отдельный выходной порт для каждого размера.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point

Блок поиска может дополнительно выводить значения всех ненулевых элементов в виде сигнала переменного размера.

Зависимости

Чтобы включить этот порт, выберите Показать выходной порт для ненулевых входных значений.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point

Параметры

развернуть все

Главный

Выберите формат вывода для индексов ненулевых входных значений.

  • Выбор Linear indices обеспечивает индексы элементов любого размерного сигнала в векторной форме. Для сигналов одной размерности (вектора) индексы соответствуют положению ненулевых значений в векторе. Для сигналов с более чем одним измерением преобразование подстрочных индексов в индексы осуществляется по первому измерению. Вам не нужно знать размер входного сигнала.

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

Программное использование

Параметр блока: IndexOutputFormat
Текст: символьный вектор
Значения: 'Linear indices' | 'Subscripts'
По умолчанию: 'Linear indices'

Укажите количество размеров для входного сигнала как положительное целое значение от 1 до 32.

Зависимости

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

Программное использование

Параметр блока: NumberOfInputDimensions
Текст: символьный вектор
Значения: скаляр
По умолчанию: '1'

Укажите режим индексирования как Zero-based или One-based.

  • Для Zero-based индексация, индекс 0 определяет первый элемент входного вектора. Индекс 1 задает второй элемент и т. д.

  • Для One-based индексация, индекс 1 определяет первый элемент входного вектора. Индекс 2, задает второй элемент и т.д.

Программное использование

Параметр блока: IndexMode
Текст: символьный вектор
Значения: 'Zero-based' | 'One-based'
По умолчанию: 'Zero-based'

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

  • При снятии этого флажка (off), блок скрывает выходной порт для ненулевых входных значений.

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

Программное использование

Параметр блока: ShowOutputPortForNonzeroInputValues
Текст: символьный вектор
Значения: 'on' | 'off'
По умолчанию: 'off'

Укажите время выборки в качестве значения, отличного от -1. Дополнительные сведения см. в разделе Указание времени образца.

Зависимости

Этот параметр не отображается, если для него явно не задано значение, отличное от -1. Дополнительные сведения см. в разделе Блоки, для которых образец времени не рекомендуется.

Программное использование

Параметр блока: SampleTime
Текст: символьный вектор
Значения: скаляр или вектор
По умолчанию: '-1'

Типы данных

Укажите тип выходных данных.

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

Программное использование

Параметр блока: OutDataTypeStr
Текст: символьный вектор
Значения: 'Inherit: Inherit via internal rule' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32'| 'int64' | 'uint64'| 'fixdt(1,16)'| '<data type expression>'
По умолчанию: 'Inherit: Inherit via internal rule'

Характеристики блока

Типы данных

Boolean | double | fixed point | integer | single

Прямой проход

yes

Многомерные сигналы

yes

Сигналы переменного размера

yes

Обнаружение пересечения нулей

no

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

Создание кода C/C + +
Создайте код C и C++ с помощью Simulink ® Coder™

.

Преобразование с фиксированной точкой
Проектирование и моделирование систем с фиксированной точкой с помощью Designer™ с фиксированной точкой.

Представлен в R2010a