Оператор отношения

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

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

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

Описание

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

Двух-режим ввода

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

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

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

==

ВЕРНЫЙ, если первый входной параметр равен второму входному параметру

~=

ВЕРНЫЙ, если первый входной параметр не равен второму входному параметру

<

ВЕРНЫЙ, если первый входной параметр является меньше, чем второй входной параметр

<=

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

>=

ВЕРНЫЙ, если первый входной параметр больше, чем или равен второму входному параметру

>

ВЕРНЫЙ, если первый входной параметр больше, чем второй входной параметр

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

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

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

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

Совет

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

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

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

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

isinf

ВЕРНЫЙ, если входным параметром является Inf

isnan

ВЕРНЫЙ, если входным параметром является NaN

isfinite

ВЕРНЫЙ, если входной параметр конечен

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

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

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

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

isinf

Ложь

isnan

Ложь

isfinite

TRUE

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

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

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

Порты

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

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

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

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

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

Зависимости

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

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

Вывод

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

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

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

Параметры

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

Основной

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

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

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

  • < — ВЕРНЫЙ, если первый входной параметр является меньше, чем второй входной параметр

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

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

  • > — ВЕРНЫЙ, если первый входной параметр больше, чем второй входной параметр

  • isinf ВЕРНЫЙ, если входным параметром является Inf

  • isnan ВЕРНЫЙ, если входным параметром является NaN

  • isfinite ВЕРНЫЙ, если входной параметр конечен

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

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

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

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

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

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

Зависимости

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

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

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

Тип данных

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

Зависимости

Этот флажок не доступен, когда вы устанавливаете Оператор отношения на isInf, isNaN или isFinite, потому что в тех режимах, блок только имеет один входной порт.

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

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

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

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

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

    Примечание

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

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

    Совет

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

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

    Совет

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

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

Блочный параметр: OutDataTypeStr
Ввод: символьный вектор
Значения: 'Наследуйтесь: Логический (см. Параметры конфигурации: Оптимизация)' | 'булевская переменная' | 'fixdt (1,16)' |' <выражение типа данных>'
Значение по умолчанию: 'boolean'

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

Ceiling

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

Convergent

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

Пол

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

Самый близкий

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

Вокруг

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

Simplest

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

Zero

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

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

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

Блочный параметр: RndMeth
Ввод: символьный вектор
Значения: 'Потолок' | 'Конвергентный' | 'Пол' | 'Самый близкий' | 'Вокруг' | 'Самый Простой' | 'Нуль'
Значение по умолчанию: 'Simplest'

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

Типы данных

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

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

No

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

Yes

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

Yes

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

Yes

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

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

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

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

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

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

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