Product
Умножение и деление скаляров и нескаляров.
|
|
|
|
Описание
Блок Product выводит результат умножения или деления входных сигналов.
Значок блока, выполняемая операция и количество портов меняются в зависимости от значения параметров Multiplication и Number of inputs.
В этой таблице показаны выходные данные блока Product для примерных входных данных с использованием значений параметров блока:
-
Multiplication:
Element-wise(.*)
-
Number of inputs:
*/
Входные данные | Поведение блока |
---|---|
скаляр ÷ скаляр |
Выводит результат деления первого входного скаляра на второй. |
скаляр ÷ нескаляр |
Выводит нескаляр, имеющий те же размеры, что и входной нескаляр. Каждый элемент выходного нескаляра является результатом деления входного скаляра на соответствующий элемент входного нескаляра. |
нескаляр ÷ нескаляр |
Выводит нескаляр, имеющий те же размеры, что и входные данные. Каждый элемент выходных данных является результатом деления элемента первого входного нескаляра на соответствующий элемент второго входного нескаляра. |
Блок 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, в котором он работает с отдельными числовыми элементами любых нескалярных входных данных. В режиме Element-wise mode блок Product может выполнять различные операции умножения, деления и арифметической инверсии.
Значение параметра Number of inputs определяет как количество входных данных, так и то, будет ли каждый из них умножен или разделен для формирования выходных данных.
-
Когда блок Product находится в режиме Element-wise mode и имеет только один вход, он работает так, как описано в разделе Алгоритмы.
Чтобы вычислить выходные данные, блок сначала расширяет все входы до единого размера (используя стандартный broadcast), а затем выполняет поэлементные действия.
Matrix Mode
Когда значение параметра Multiplication равно Matrix(*)
, блок Product находится в режиме Matrix mode, в котором он обрабатывает нескалярные входные данные в виде матриц. В этом режиме блок Product может инвертировать одну квадратную матрицу или умножать и делить любое количество матриц, размеры которых определены математически.
Значение параметра Number of inputs определяет как количество существующих входных данных, так и то, будет ли каждая входная матрица умножена или разделена для формирования выходных данных. Синтаксис Number of inputs такой же, как и в Element-wise mode. Разница между режимами заключается в типе умножения и деления.
Взаимодействия между входами блока и режимами
Взаимодействия между входными данными блока Product и его режимами Multiplication:
-
* или /
Блок имеет один входной порт. В режиме Element-wise mode блок обрабатывает входные данные, как описано в разделе Алгоритмы. В режиме Matrix mode, если значение параметра равно
1
или*
, блок выводит входное значение. Если значение равно/
, входные данные должны быть квадратной матрицей (включая скаляр в качестве вырожденного случая), и блок выводит обратную матрицу. Дополнительные сведения см. в разделах Element-Wise Mode и Matrix Mode.
-
Строка без кавычек, состоящая из двух или более символов * и /
Блок имеет количество входных данных, заданное длиной символьного вектора. Каждый входной сигнал, соответствующий символу
*
, умножается на выходной сигнал. Каждый входной сигнал, соответствующий символу/
, делится на выходной. Операции выполняются в режиме Element-wise mode или в режиме Matrix mode, как указано параметром Multiplication. Дополнительные сведения см. в разделах Element-Wise Mode и Matrix Mode.
Порты
Вход
x — входной сигнал для умножения
скаляр
| вектор
| матрица
Входной сигнал для умножения на другие входные сигналы.
Зависимости
Чтобы использовать один или несколько портов x, укажите один или несколько символов *
для параметра Number of inputs и установите для параметра Multiplication значение Element-wise(.*)
.
Типы данных: Float16
, Float32
, Float64
, Int8
, Int16
, Int32
, Int64
, Int128
, UInt8
, UInt16
, UInt32
, UInt64
, UInt128
, Fixed
, Bool
Поддержка комплексных чисел: Да
÷ — входной сигнал для деления
скаляр
| вектор
| матрица
Входной сигнал для операций деления или инверсии.
Зависимости
Чтобы использовать один или несколько портов ÷, укажите один или несколько символов /
для параметра Number of inputs и установите для параметра Multiplication значение Element-wise(.*)
.
Типы данных: Float16
, Float32
, Float64
, Int8
, Int16
, Int32
, Int64
, Int128
, UInt8
, UInt16
, UInt32
, UInt64
, UInt128
, Fixed
, Bool
Поддержка комплексных чисел: Да
* — входной сигнал для умножения
скаляр
| вектор
| матрица
Входной сигнал для умножения на другие входные сигналы.
Зависимости
Чтобы использовать один или несколько портов *, укажите один или несколько символов *
для параметра Number of inputs и установите для параметра Multiplication значение Matrix(*)
.
Типы данных: Float16
, Float32
, Float64
, Int8
, Int16
, Int32
, Int64
, Int128
, UInt8
, UInt16
, UInt32
, UInt64
, UInt128
, Fixed
, Bool
Поддержка комплексных чисел: Да
Inv — входной сигнал для деления или инвертирования
скаляр
| вектор
| матрица
Входной сигнал для операций деления или инверсии.
Зависимости
Чтобы использовать один или несколько портов Inv, укажите один или несколько символов /
для параметра Number of inputs и установите для параметра Multiplication значение Matrix(*)
.
Типы данных: Float16
, Float32
, Float64
, Int8
, Int16
, Int32
, Int64
, Int128
, UInt8
, UInt16
, UInt32
, UInt64
, UInt128
, Fixed
, Bool
Поддержка комплексных чисел: Да
Параметры
Main
Number of inputs — количество и названия входных портов и тип операции
*/ (по умолчанию)
Операции, выполняемые блоком, – умножение или деление.
Когда вы указываете:
-
* или /*
Блок имеет один входной порт. В режиме Element-wise mode блок работает так, как описано в разделе Алгоритмы. В режиме Matrix mode, если значение параметра равно
1
или*
, блок выводит входное значение. Если значение равно/
, входные данные должны быть квадратной матрицей (включая скаляр в качестве вырожденного случая), и блок выводит обратную матрицу. Дополнительные сведения см. в разделах Element-Wise Mode и Matrix Mode. -
Строка без кавычек, состоящая из двух или более символов * и /
Блок имеет количество входных данных, заданное длиной символьного вектора. Каждый входной сигнал, соответствующий символу
*
, умножается на выходной сигнал. Каждый входной сигнал, соответствующий символу/
, делится на выходной. Операции выполняются в режиме Element-wise mode или в режиме Matrix mode, как указано параметром Multiplication. Дополнительные сведения см. в разделах Element-Wise Mode и Matrix Mode.
Параметр блока |
|
Значения |
|
По умолчанию |
|
Multiplication — тип умножения
Element-wise(.*) (по умолчанию)
| Matrix(*)
Укажите, в каком режиме блок выполняет умножение или деление Element-wise(.*)
или Matrix(*)
.
Дополнительные сведения см. в разделах Element-Wise Mode и Matrix Mode.
Параметр блока |
|
Значения |
|
По умолчанию |
|
Алгоритмы
Блок Product с одним входом в режиме Element-Wise
использует представленные ниже алгоритмы для выполнения поэлементных операций над входными данными:
Входные данные | Поэлементная операция | Алгоритм |
---|---|---|
Действительный скаляр, |
Умножение |
|
Деление |
|
|
Действительный вектор или матрица с элементами, |
Умножение |
|
Деление |
|
|
Комплексный скаляр, |
Умножение |
|
Деление |
|
|
Комплексный вектор или матрица с элементами, |
Умножение |
|
Деление |
|