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

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

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

Описание

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

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

Порты

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

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

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

Типы данных: единственный | удваиваются | int8 | int16 | int32 | uint8 | uint16 | uint32 | булевская переменная | фиксированная точка

Вывод

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

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

Зависимости

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

Типы данных: единственный | удваиваются | int8 | int16 | int32 | uint8 | uint16 | uint32 | булевская переменная | фиксированная точка

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

Зависимости

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

Типы данных: единственный | удваиваются | int8 | int16 | int32 | uint8 | uint16 | uint32 | булевская переменная | фиксированная точка

Параметры

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

Основной

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

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

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

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

Блочный параметр: IndexOutputFormat
Ввод: символьный вектор
Значения: 'Линейные индексы' | 'Индексы'
Значение по умолчанию: Линейные индексы

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

Зависимости

Чтобы включить этот параметр, установите Индексный выходной формат на Subscripts.

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

Блочный параметр: NumberOfInputDimensions
Ввод: символьный вектор
Значения: скаляр
Значение по умолчанию: '1'

Задайте режим индексации как Zero-based или One-based.

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

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

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

Блочный параметр: IndexMode
Ввод: символьный вектор
Значения: 'Основанный на нуле' | 'На основе один'
Значение по умолчанию: 'Zero-based'

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

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

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

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

Блочный параметр: ShowOutputPortForNonzeroInputValues
Ввод: символьный вектор
Значения: 'on' | 'off'
Значение по умолчанию: 'off'

Задайте частоту дискретизации как значение кроме-1. Для получения дополнительной информации см. Настройку времени выборки.

Зависимости

Этот параметр не видим, если он явным образом не установлен в значение кроме -1. Чтобы узнать больше, смотрите Блоки, для Которых Не Рекомендуется Частота дискретизации.

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

Блочный параметр: 'SampleTime'
Ввод: символьный вектор
Значения: скаляр
Значение по умолчанию: '-1'

Типы данных

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

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

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

Блочный параметр: OutDataTypeStr
Ввод: символьный вектор
Значения: 'Наследуйтесь: Наследуйтесь через внутреннее правило' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'fixdt (1,16)' |' <выражение типа данных>'
Значение по умолчанию: 'Inherit: Inherit via internal rule'

Блокируйте характеристики

Типы данных

double | single | Boolean | base integer | fixed point

Прямое сквозное соединение

No

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

Yes

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

Yes

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

No

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

Генерация кода C/C++
Генерация кода C и C++ с помощью Simulink® Coder™.

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

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

Была ли эта тема полезной?