Find Nonzero Elements

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

  • Библиотека:
  • Simulink / Математические операции

  • Find Nonzero Elements block

Описание

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

Блок Find Nonzero Elements выводит сигнал переменного размера. Шаг расчета для любого сигнала переменного размера должен быть дискретным. Если ваша модель уже не использует решатель фиксированного шага, вы, возможно, должны выбрать решатель фиксированного шага в диалоговом окне Параметров конфигурации. Для получения дополнительной информации смотрите, Сравнивают Решатели и Выбирают Solver.

Порты

Входной параметр

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

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

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

Вывод

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

Блок Find Nonzero Elements выводит индексы ненулевых элементов как сигнал переменного размера. Вы управляете типом данных выхода с помощью параметров блоков Output data type.

Зависимости

По умолчанию, блок выходные параметры линейные индексы от первого выходного порта. Когда вы изменяете Index output format в Subscripts, блок вместо этого обеспечивает индексы элемента 2D размерности или большего сигнала в форме индекса. В этом режиме необходимо задать Number of input dimensions, и блок создает отдельный выходной порт для каждой размерности.

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

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

Зависимости

Чтобы включить этот порт, выберите Show output port for nonzero input values.

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

Параметры

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

Основной

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

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

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

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

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

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

Зависимости

Чтобы включить этот параметр, установите Index output format на 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'

Типы данных

Задайте тип выходных данных.

Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, который помогает вам установить атрибуты типа данных. Для получения дополнительной информации смотрите, Задают Типы данных Используя Ассистент Типа данных.

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

Параметры блоков: 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™.

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

Введен в R2010a