Relational Operator

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

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

    Simulink/Логические и битовые операции

    HDL-кодер/обычно используемые блоки

    Операции HDL-кодера/HDL с плавающей точкой

    HDL-кодер/логика и битовые операции

  • Relational Operator block

Описание

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

Двухвходовой режим

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

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

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

==

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

~=

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

<

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

<=

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

>=

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

>

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

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

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

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

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

Совет

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

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

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

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

isInf

True, если вход Inf

isNaN

True, если вход NaN

isFinite

True, если вход конечен

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

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

  • Булев

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

isInf

Ложный

isNaN

Ложный

isFinite

Правда

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

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

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

Порты

Вход

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

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

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

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

Зависимости

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

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

Выход

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

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

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

Параметры

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

Главный

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

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

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

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

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

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

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

  • isInf - True, если вход Inf

  • isNaN - True, если вход NaN

  • isFinite - True, если вход конечен

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

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

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

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

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

Задайте шаг расчета как значение, отличное от -1. Для получения дополнительной информации см. Раздел «Задание шага расчета».

Зависимости

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

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

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

Тип данных

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

Зависимости

Этот флажок недоступен, если для Relational operator задано значение isInf, isNaN, или isFinite потому что в этих режимах блок имеет только один входной порт.

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

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

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

  • boolean - Выход блока имеет тип данных boolean.

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

    Примечание

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

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

    Совет

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

  • <data type expression> - Выход блока имеет тип данных, заданный вами в качестве выражения типа данных, например Simulink.NumericType.

    Совет

    Для ввода встроенного типа данных (double, single, int8, uint8, int16, uint16, int32, или uint32), заключайте выражение в одинарные кавычки. Для примера введите 'double' вместо double.

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

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

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

Ceiling

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

Convergent

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

Floor

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

Nearest

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

Round

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

Simplest

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

Zero

Число округлений к нулю. Эквивалентно MATLAB fix функция.

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

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

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

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

Типы данных

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

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

yes

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

yes

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

yes

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

yes

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

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

.

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

.

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

См. также

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