Find Nonzero Elements

Нахождение ненулевых элементов в массиве

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

  • Find Nonzero Elements block

Описание

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

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

Порты

Вход

расширить все

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

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

Выход

расширить все

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

Зависимости

По умолчанию блок выводит линейные индексы из первого выходного порта. Когда вы меняете Index output format на Subscriptsблок вместо этого обеспечивает индексы элемента двухмерного или большего сигнала в форме индекса. В этом режиме необходимо задать 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 обеспечивает индексы элемента двухмерного или большего сигнала в форме индекса. Поскольку блок показывает выходу порт для каждой размерности, эта опция требует, чтобы вы задали 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, которая помогает вам задать атрибуты type данных. Для получения дополнительной информации смотрите Задать типы данных Используя 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++ с помощью Coder™ Simulink ®

.

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

Введенный в R2010a