Логический оператор
Выполняет указанную логическую операцию над входными сигналами.
Тип: Logic
Путь в библиотеке:
|
Описание
Блок Логический оператор выполняет заданную логическую операцию для одного или нескольких операндов. Входное значение интерпретируется как true (1)
, если оно не равно нулю, и false (0)
, если оно равно нулю.
Конкретную логическую операцию можно выбрать в настройках блока при помощи параметра Оператор.
В таблице показаны поддерживаемые логические операции:
Операция | Описание |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Значок блока меняется в зависимости от выбранной в параметре Оператор логической операции. Количество входных портов задается в параметре Количество входных портов.
Размер вывода зависит от размера входного вектора и выбранного оператора:
-
Если блок имеет более одного входа, размерность остальных портов расширяется до максимально возможного с использованием broadcast-операций. Например, если сигналы на входе имеют размеры
4
на1
,1
на5
и1
на1
, то при помощи broadcast на выходе получится массив размером4
на5
. Этот процесс автоматически расширяет массивы по измерениям, равным единице, чтобы согласовать размерности входных данных для вычислений.Broadcast — это процесс автоматического приведения массивов к совместимым размерам для выполнения операций. Broadcast работает по правилам "распространения" по измерениям, равным единице: если массивы имеют несовпадающие размеры, но хотя бы одно из измерений равно 1
, то операция выполняется, при этом массив расширяется по соответствующему измерению.Размерность скалярных входных сигналов увеличивается до размерности нескалярных входных сигналов, что также достигается с помощью broadcast-операции. Если у блока несколько входов, и один из них скалярный, broadcast автоматически расширяет его до той же размерности, что и остальные входные данные.
Если блок имеет более одного входа, выход имеет те же размерности, что и входы, и каждый выходной элемент является результатом применения указанной логической операции к соответствующим входным элементам. Например, если задана операция
AND
, а входные данные представляют собой массивы2
на2
, на выходе будет массив2
на2
, верхний левый элемент которого является результатом примененияAND
к верхним левым элементам входных данных, и так далее. -
Для одного входного вектора блок применяет операцию (кроме оператора
NOT
) ко всем элементам вектора. Выход в этом случае всегда является скаляром. -
Оператор
NOT
принимает только один вход, который может быть скаляром или вектором. Если вход представляет вектор, выход представляет вектор того же размера, содержащий логические дополнения элементов входного вектора.
Порты
Выход
#
OUT_1
—
выходной сигнал
скаляр
| вектор
| матрица
Details
Выходной сигнал, состоящий из нулей и единиц, с теми же размерностями, что и вход.
Типы данных |
|
Поддержка комплексных чисел |
Да |
Вход
#
IN_1
—
первый входной сигнал
скаляр
| вектор
| матрица
Details
Первый входной сигнал. Скаляр, вектор или матрица.
Типы данных |
|
Поддержка комплексных чисел |
Да |
#
IN_2
—
второй входной сигнал
скаляр
| вектор
| матрица
Details
Второй входной сигнал. Скаляр, вектор или матрица.
Типы данных |
|
Поддержка комплексных чисел |
Да |
Параметры
Основные
#
Оператор —
логический оператор
AND
| OR
| NAND
| NOR
| XOR
| NXOR
| NOT
Details
Выберите логический оператор, который будет применяться к входным сигналам блока:
-
AND
—true
, если все входыfalse
. -
OR
—true
, если хотя бы один входtrue
. -
NAND
—true
, если хотя бы один входfalse
. -
NOR
—true
, когда нет входных данных в значенииtrue
. -
XOR
—true
, если нечетное количество входовtrue
. -
NXOR
—true
, если четное количество входовtrue
. -
NOT
—true
, если входfalse
.
Значения |
|
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
Вычисляемый |
Нет |
#
Количество входных портов —
количество входов
Целое число типа Int64
Details
Задайте количество входных портов блока как положительное целое число.
Зависимости
Чтобы использовать этот параметр, установите для параметра Оператор любое значение кроме NOT
.
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
Вычисляемый |
Да |