Logical Operator
Выполняет указанную логическую операцию над входными сигналами.
Тип: Logic
Путь в библиотеке:
|
Описание
Блок Logical Operator выполняет заданную логическую операцию для одного или нескольких операндов. Входное значение интерпретируется как true (1), если оно не равно нулю, и false (0), если оно равно нулю.
Конкретную логическую операцию можно выбрать в настройках блока при помощи параметра Operator.
В таблице показаны поддерживаемые логические операции:
| Операция | Описание |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Значок блока меняется в зависимости от выбранной в параметре Operator логической операции. Количество входных портов задается в параметре Number of input ports.
Размер вывода зависит от размера входного вектора и выбранного оператора:
-
Если блок имеет более одного входа, размерность остальных портов расширяется до максимально возможного с использованием 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
Второй входной сигнал. Скаляр, вектор или матрица.
| Типы данных |
|
| Поддержка комплексных чисел |
Да |
Параметры
Основные
#
Operator —
логический оператор
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.
| Значения |
|
| Значение по умолчанию |
|
| Имя для программного использования |
|
| Настраиваемый |
Нет |
| Вычисляемый |
Нет |
#
Number of input ports —
количество входов
Int64 integer
Details
Задайте количество входных портов блока как положительное целое число.
Зависимости
Чтобы использовать этот параметр, установите для параметра Operator любое значение кроме NOT.
| Значение по умолчанию |
|
| Имя для программного использования |
|
| Настраиваемый |
Нет |
| Вычисляемый |
Да |