Документация Engee

ProductDSP

Умножение и деление скаляров и нескаляров.

product

Описание

Блок Product выводит результат умножения или деления двух входных данных: двух скаляров, скалярного и нескалярного, или двух нескаляров, имеющих одинаковые размеры.

Блок Product выполняет скалярное или матричное умножение, в зависимости от значения параметра Multiplication. Блок принимает один или несколько входов, в зависимости от параметра Number of inputs. Параметр Number of inputs также определяет операцию, которую необходимо выполнить для каждого входа.

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

Блок Product имеет два режима:

  • Element-wise mode — обрабатывает нескалярные входные данные поэлементно

  • Matrix mode — который обрабатывает нескалярные входные данные в виде матриц.

Element-Wise Mode

Когда вы устанавливаете Multiplication на Element-wise(.*), блок Product находится в режиме Element-wise mode, в котором он работает с отдельными числовыми элементами любых нескалярных входных данных. В поэлементном режиме блок Product может выполнять различные операции умножения, деления и арифметической инверсии.

Значение параметра Number of inputs определяет как количество входных данных, так и то, будет ли каждый из них умножен или разделен для формирования выходных данных. Когда блок Product находится в поэлементном режиме и имеет только один вход, он функционально эквивалентен блоку Product of Elements. Когда блок имеет несколько входов, любые нескалярные входы должны иметь идентичные размеры, и блок выводит нескалярное значение с этими размерами. Чтобы вычислить выходные данные, блок сначала расширяет любой скалярный входной сигнал до нескалярного, который имеет те же размеры, что и нескалярные входные данные.

Matrix Mode

Когда значение параметра Multiplication равно Matrix(*), блок Product находится в режиме Matrix mode, в котором он обрабатывает нескалярные входные данные в виде матриц. В этом режиме блок Product может инвертировать одну квадратную матрицу или умножать и делить любое количество матриц, размеры которых определены математически.

Значение параметра Number of inputs определяет как количество существующих входных данных, так и то, будет ли каждая входная матрица умножена или разделена для формирования выходных данных. Синтаксис Number of inputs такой же как и в Element-wise mode. Разница между режимами заключается в типе умножения и деления, которые происходят.

Порты

Вход

Port_1 — первый ввод для умножения или деления
скаляр | вектор

Первый ввод для умножения или деления, предоставляемый в виде скаляра или вектора.

Типы данных: Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Bool

Port_N — N-й ввод для умножения или деления
скаляр | вектор

N-й ввод для умножения или деления, предоставляемый в виде скаляра или вектора.

Типы данных: Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Bool

Выход

Port_1 — выходные данные, вычисляемые путем умножения, деления или инвертирования входных данных
скаляр | вектор

Выходные данные, вычисляемые путем умножения, деления или инвертирования входных данных.

Типы данных: Float64

Параметры

Number of inputs — количество и названия входных портов
** (по умолчанию)

Количество входных портов блока равно количеству символов в этой строке. Символы становятся названиями этих портов.

Multiplication — умножение
Element-wise(.*) (по умолчанию) | Matrix(*)

Укажите, выполняет ли блок умножение Element-wise(.*) или Matrix(*).