Relational Operator

Выполните заданную реляционную операцию на входных параметрах

  • Библиотека:
  • Simulink / Обычно Используемые Блоки

    Simulink / Логика и Битовые операции

    HDL Coder / Обычно Используемые Блоки

    HDL Coder / Операции Плавающей точки HDL

    HDL Coder / Логика и Битовые операции

Описание

Блок Relational Operator выполняет заданную реляционную операцию на входе. Значение, которое вы выбираете для параметра Relational operator, определяет, принимает ли блок один или два входных сигнала.

2D режим ввода

По умолчанию блок Relational Operator сравнивает два входных параметров с помощью параметра Relational operator, который вы задаете. Первый вход соответствует главному входному порту и второму входу к нижнему входному порту. (См. Местоположение порта После Вращения или Зеркального отражения для описания порядка порта для различных ориентаций блока.)

Можно задать одну из следующих операций в 2D режиме ввода:

ОперацияОписание

==

Верный, если первый вход равен второму входу

~=

Верный, если первый вход не равен второму входу

<

Верный, если первый вход меньше второго входа

<=

Верный, если первый вход меньше чем или равен второму входу

>=

Верный, если первый вход больше или равен второму входу

>

Верный, если первый вход больше второго входа

Можно задать входные параметры как скаляры, массивы или комбинацию скаляра и массива.

Для...Выход...
Скалярные входные параметрыСкаляр
Входные параметры массивовМассив тех же размерностей, где каждым элементом является результат поэлементно сравнение входных массивов
Смешанный скаляр и входные параметры массивовМассив, где каждым элементом является результат сравнения между скаляром и соответствующим элементом массива

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

Можно задать тип выходных данных с помощью параметра Output data type. Выход равняется 1 для истины и 0 для лжи.

Совет

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

Режим с одним входом

Когда вы выбираете одну из следующих операций для Relational operator, блок переключается на режим с одним входом.

ОперацияОписание

isInf

Верный, если входом является Inf

isNaN

Верный, если входом является NaN

isFinite

Верный, если вход конечен

Для входа, который не является плавающей точкой, блок производит следующий выход.

Тип данныхОперацияБлок Выход
  • Фиксированная точка

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

  • Встроенное целое число

isInf

Ложь

isNaN

Ложь

isFinite

Ложь

Правила для распространения типа данных

Следующие правила касаются распространения типа данных, когда ваш блок имеет один или несколько входных портов с незаданными типами данных.

Когда блок находится в...И...Использование блока...
2D режим вводаОба входных порта имеют незаданные типы данных double как тип данных по умолчанию для обоих входных параметров
Один входной порт имеет незаданный тип данныхТип данных от заданного входного порта как тип данных по умолчанию другого порта
Режим с одним входомВходной порт имеет незаданный тип данных double как тип данных по умолчанию для входа

Порты

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

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

Первый входной сигнал в виде скаляра, вектора или матрицы.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated
Поддержка комплексного числа: Да

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

Зависимости

Чтобы включить этот порт, установите Relational operator на ==, ~=, <, <=, >=, или >.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated
Поддержка комплексного числа: Да

Вывод

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

Выходной сигнал, состоя из нулей и единиц, с теми же размерностями как вход. Вы управляете типом выходных данных параметром Output data type.

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

Параметры

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

Основной

Задайте операцию для сравнения двух входных параметров или определения типа сигнала одного входа.

  • == — Верный, если первый вход равен второму входу

  • ~= — Верный, если первый вход не равен второму входу

  • < — Верный, если первый вход меньше второго входа

  • <= — Верный, если первый вход меньше чем или равен второму входу

  • >= — Верный, если первый вход больше или равен второму входу

  • > — Верный, если первый вход больше второго входа

  • isInf — Верный, если входом является Inf

  • isNaN — Верный, если входом является NaN

  • isFinite — Верный, если вход конечен

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

Параметры блоков: Operator
Ввод: символьный вектор
Значения: '==' | '~=' | '<' | '<=' | '>=' | '>' | 'isInf' | 'isNaN' | 'isFinite'
Значение по умолчанию: '<='

Выберите, чтобы включить обнаружение пересечения нулем. Для получения дополнительной информации смотрите Обнаружение Пересечения нулем.

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

Параметр: ZeroCross
Ввод: вектор символов, строка
Значения: 'on' | 'off'
Значение по умолчанию: 'on'

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

Зависимости

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

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

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

Тип данных

Чтобы потребовать, чтобы все входные параметры блока имели совпадающий тип данных, установите этот флажок. Когда вы снимаете этот флажок, входные параметры могут иметь различные типы данных.

Зависимости

Этот флажок не доступен, когда вы устанавливаете Relational operator на isInfisnan, или isFinite потому что в тех режимах блок только имеет один входной порт.

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

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

Задайте тип выходных данных. Когда вы выбираете:

  • boolean — Блок выход имеет тип данных boolean.

  • Inherit: Logical (see Configuration Parameters: Optimization) — Блок использует параметр конфигурации Implement logic signals as Boolean data, чтобы задать тип выходных данных (см. сигналы логики Реализации как булевы данные (по сравнению с двойным)).

    Примечание

    Эта опция поддерживает модели, созданные перед boolean опция была доступна. Используйте одну из других опций, предпочтительно boolean, для новых моделей.

  • fixdt(1,16) — Блок выход имеет заданный тип данных с фиксированной точкой fixdt(1,16).

    Совет

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

  • <data type expression> — Блок выход имеет тип данных, который вы задаете как выражение типа данных, например, Simulink.NumericType.

    Совет

    Ввести встроенный тип данных (doubleединственныйint8uint8int16uint16int32, или uint32), заключите выражение в одинарные кавычки. Например, введите 'double' вместо double.

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

Параметры блоков: OutDataTypeStr
Ввод: символьный вектор
Значения: 'Inherit: Logical (see Configuration Parameters: Optimization)' | 'boolean' | 'fixdt(1,16)' | '<data type expression>'
Значение по умолчанию: 'boolean'

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

Ceiling

Округляет положительные и отрицательные числа к положительной бесконечности. Эквивалентный MATLAB®ceil функция.

Convergent

Номер раундов к самому близкому представимому значению. Если связь происходит, раунды к самому близкому даже целое число. Эквивалентный convergent Fixed-Point Designer™ функция.

Floor

Округляет положительные и отрицательные числа к отрицательной бесконечности. Эквивалентный floor MATLAB функция.

Nearest

Номер раундов к самому близкому представимому значению. Если связь происходит, раунды к положительной бесконечности. Эквивалентный Fixed-Point Designer nearest функция.

Round

Номер раундов к самому близкому представимому значению. Если связь происходит, округляет положительные числа к положительной бесконечности и округляет отрицательные числа к отрицательной бесконечности. Эквивалентный Fixed-Point Designer round функция.

Simplest

Принимает решение между округлением к полу и округлением к нулю сгенерировать округление кода, который максимально эффективен.

Zero

Номер раундов к нулю. Эквивалентный fix MATLAB функция.

Для получения дополнительной информации смотрите Округление (Fixed-Point Designer).

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

Параметры блоков: RndMeth
Ввод: символьный вектор
Значения: 'Ceiling' | 'Convergent' | 'Floor' | 'Nearest' | 'Round' | 'Simplest' | 'Zero'
Значение по умолчанию: 'Simplest'

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

Типы данных

Boolean | double | enumerated | fixed point | integer | single

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

yes

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

yes

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

yes

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

yes

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

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

Генерация кода PLC
Сгенерируйте код Структурированного текста с помощью Simulink® PLC Coder™.

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

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

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