Деление
Выполняет умножение и деление скаляров и нескаляров.
Тип: Product
Деление Путь в библиотеке:
|
|
Умножение Путь в библиотеке:
|
|
Умножение элементов Путь в библиотеке:
|
Описание
Блок Деление выводит результат умножения или деления входных сигналов.
Значок блока, выполняемая операция и количество портов меняются в зависимости от значения параметров Умножение и Количество входных сигналов.
В этой таблице показаны выходные данные блока Деление для примерных входных данных с использованием значений параметров блока:
-
Умножение:
Поэлементное(.*) -
Количество входных сигналов:
*/
| Входные данные | Поведение блока |
|---|---|
скаляр ÷ скаляр |
Выводит результат деления первого входного скаляра на второй. |
скаляр ÷ нескаляр |
Выводит нескаляр, имеющий те же размеры, что и входной нескаляр. Каждый элемент выходного нескаляра является результатом деления входного скаляра на соответствующий элемент входного нескаляра. |
нескаляр ÷ нескаляр |
Выводит нескаляр, имеющий те же размеры, что и входные данные. Каждый элемент выходных данных является результатом деления элемента первого входного нескаляра на соответствующий элемент второго входного нескаляра. |
Блок Деление может:
-
Численно умножать и делить любое количество скалярных, векторных или матричных входных данных.
-
Выполнять матричное умножение и деление на любом количестве матричных входных данных.
Блок Деление выполняет поэлементное или матричное умножение или деление, в зависимости от значения параметра Умножение. Блок принимает один или несколько потоков входных данных, в зависимости от параметра Количество входных сигналов. Параметр Количество входных сигналов также определяет операцию, которую необходимо выполнить для каждого входа.
Входными данными для блока Деление может быть любая комбинация скаляров, векторов и матриц, для которых выполняемая операция имеет математически определенный результат. Блок выполняет указанные операции над входными данными, затем выводит результат.
Блок Деление имеет два режима:
-
Поэлементное(.*)— обрабатывает нескалярные входные данные поэлементно. -
Матричное(*)— обрабатывает нескалярные входные данные в виде матриц.
Поэлементный режим
Когда вы устанавливаете Умножение на Поэлементное(.*), блок Деление работает с отдельными числовыми элементами любых нескалярных входных данных. В режиме Поэлементное(.*) блок Деление может выполнять различные операции умножения, деления и арифметической инверсии.
Значение параметра Количество входных сигналов определяет как количество входных данных, так и то, будет ли каждый из них умножен или разделен для формирования выходных данных.
Когда блок Деление находится в режиме Поэлементное(.*) и имеет только один вход, он работает так, как описано в разделе Алгоритмы.
Чтобы вычислить выходные данные, блок сначала расширяет все входы до единого размера (используя стандартный broadcast), а затем выполняет поэлементные действия.
В этой таблице показаны выходные данные блока Деление для примерных входных данных с использованием указанных значений для параметра Количество входных сигналов.
| Значения параметра | Пример |
|---|---|
Количество входных сигналов: |
|
Количество входных сигналов: |
|
Количество входных сигналов: |
|
Количество входных сигналов: |
|
Количество входных сигналов: |
|
Матричный режим
Когда значение параметра Умножение равно Матричное(*), блок Деление обрабатывает нескалярные входные данные в виде матриц. В этом режиме блок Деление может инвертировать одну квадратную матрицу или умножать и делить любое количество матриц, размеры которых определены математически.
Значение параметра Количество входных сигналов определяет как количество существующих входных данных, так и то, будет ли каждая входная матрица умножена или разделена для формирования выходных данных. Синтаксис Количество входных сигналов такой же, как и для режима Поэлементное(.*). Разница между режимами заключается в типе умножения и деления.
Взаимодействия между входами блока и режимами
Взаимодействия между входными данными блока Деление и его режимами Умножение:
-
В параметре Количество входных сигналов заданы значения
1,*или/.Блок имеет один входной порт. В режиме
Поэлементное(.*)блок обрабатывает входные данные, как описано в разделе Алгоритмы. В режимеМатричное(*), если значение параметра равно1или*, то блок выводит входное значение. Если значение равно/, входные данные должны быть квадратной матрицей (включая скаляр в качестве вырожденного случая), и блок выводит обратную матрицу. Дополнительные сведения см. в разделах Поэлементный режим и Матричный режим. -
В параметре Количество входных сигналов задано целое значение строго больше
1Блок имеет количество входных данных, заданное целочисленным значением. Входные данные умножаются вместе в режиме
Поэлементное(.*)или в режимеМатричное(*), как указано параметром Умножение. Дополнительные сведения см. в разделах Поэлементный режим и Матричный режим. -
В параметре Количество входных сигналов задана строка без кавычек, состоящая из двух или более символов
*и/Блок имеет количество входных данных, заданное длиной символьного вектора. Каждый входной сигнал, соответствующий символу
*, умножается на выходной сигнал. Каждый выходной сигнал, соответствующий символу/, делится на входной. Операции выполняются в режимеПоэлементное(.*)или в режимеМатричное(*), как указано параметром Умножение. Дополнительные сведения см. в разделах Поэлементный режим и Матричный режим.
Порты
Выход
#
OUT_1
—
выходной сигнал
скаляр | вектор | матрица
Details
Выходной сигнал, вычисляемый путем умножения или деления входных сигналов.
| Типы данных |
|
| Поддержка комплексных чисел |
Да |
Вход
#
x
—
входной сигнал для умножения
скаляр | вектор | матрица
Details
Входной сигнал для умножения на другие входные сигналы.
Зависимости
Чтобы использовать один или несколько портов x, укажите один или несколько символов * для параметра Количество входных сигналов и установите для параметра Умножение значение Поэлементное(.*).
Чтобы использовать один или несколько портов *, укажите один или несколько символов * для параметра Количество входных сигналов и установите для параметра Умножение значение Матричное(*).
| Типы данных |
|
| Поддержка комплексных чисел |
Да |
#
/
—
входной сигнал для деления или инверсии
скаляр | вектор | матрица
Details
Входной сигнал для операций деления или инверсии.
Зависимости
Чтобы использовать один или несколько портов ÷, укажите один или несколько символов / для параметра Количество входных сигналов и установите для параметра Умножение значение Поэлементное(.*).
Чтобы использовать один или несколько портов Inv, укажите один или несколько символов / для параметра Количество входных сигналов и установите для параметра Умножение значение Матричное(*).
| Типы данных |
|
| Поддержка комплексных чисел |
Да |
Параметры
Основные
# Количество входных сигналов — количество и названия входных портов и тип операции
Details
Операции, выполняемые блоком: умножение или деление.
| Значение по умолчанию |
|
| Имя для программного использования |
|
| Настраиваемый |
Нет |
| Вычисляемый |
Да |
#
Умножение —
тип умножения
Поэлементное(.) | Матричное()
Details
Укажите, в каком режиме блок выполняет умножение или деление Поэлементное(.*) или Матричное(*).
Дополнительные сведения см. в разделах Поэлементный режим и Матричный режим.
| Значения |
|
| Значение по умолчанию |
|
| Имя для программного использования |
|
| Настраиваемый |
Нет |
| Вычисляемый |
Нет |
Настройки выхода
#
Тип данных выхода —
тип выходных данных
Наследовать автоматически | Наследовать от первого входа | Float64 | Float32 | Float16 | Int8 | UInt8 | Int16 | UInt16 | Int32 | UInt32 | Int64 | UInt64 | Int128 | UInt128 | Фиксированная точка
Details
Укажите тип выходных данных. Тип может быть унаследован или указан напрямую.
| Значения |
|
| Значение по умолчанию |
|
| Имя для программного использования |
|
| Настраиваемый |
Нет |
| Вычисляемый |
Нет |
#
Тип выходного сигнала в виде фиксированной точки —
тип выходных данных с фиксированной точкой
Тип данных
Details
Укажите тип выходных данных с фиксированной точкой.
Зависимости
Чтобы использовать этот параметр, установите для параметра Тип данных выхода значение Фиксированная точка.
| Значение по умолчанию |
|
| Имя для программного использования |
|
| Настраиваемый |
Нет |
| Вычисляемый |
Да |
Основные
#
Метод округления до целого —
режим округления для операций с фиксированной точкой
К большему | Конвергентный | К меньшему | К ближайшему | К целому | К нулю
Details
Выберите режим округления для операций с фиксированной точкой. Вы можете выбрать:
-
К меньшему— округляет как положительные, так и отрицательные числа в меньшую сторону (в сторону отрицательной бесконечности). -
К большему— округляет как положительные, так и отрицательные числа в большую сторону (в сторону положительной бесконечности). -
Конвергентный— округляет число до ближайшего представимого значения. В случае если дробная часть числа оканчивается на 5, число округляется до ближайшего четного целого числа. -
К ближайшему— округляет число до ближайшего представимого значения. В случае если дробная часть числа оканчивается на 5, число округляется в большую сторону (в сторону положительной бесконечности). -
К целому— округляет число до ближайшего целого числа.
-
К нулю— округляет число в сторону нуля.
| Значения |
|
| Значение по умолчанию |
|
| Имя для программного использования |
|
| Настраиваемый |
Нет |
| Вычисляемый |
Нет |
#
Ограничить при переполнении целого —
метод действия при переполнении
Логический тип
Details
При установке этого флажка насыщение применяется ко всем внутренним операциям блока, а не только к выходу или результату.
| Действие | Причины для принятия этого решения | Что происходит при переполнении | Пример |
|---|---|---|---|
Установите этот флажок. |
В вашей модели возможно переполнение, и вам нужна явная защита от насыщения в генерируемом коде. |
Переполнения насыщаются до минимального или максимального значения, которое может представлять данный тип данных. |
Переполнение, связанное со знаковым 8-битным целым числом, может насытиться до |
Не устанавливайте этот флажок. |
Вы хотите оптимизировать эффективность генерируемого кода. |
Переполнения оборачиваются в соответствующее значение, которое может быть представлено типом данных. |
Число |
| Значение по умолчанию |
|
| Имя для программного использования |
|
| Настраиваемый |
Нет |
| Вычисляемый |
Нет |
#
Тип данных для всех входных портов должен быть одинаковым —
режим одинакового типа данных для всех входов
Логический тип
Details
Установите этот флажок, чтобы задать одинаковый тип данных для всех входных портов.
| Значение по умолчанию |
|
| Имя для программного использования |
|
| Настраиваемый |
Нет |
| Вычисляемый |
Нет |
Алгоритмы
Блок Деление с одним входом в режиме Поэлементное(.*) использует представленные ниже алгоритмы для выполнения поэлементных операций над входными данными:
| Входные данные | Поэлементная операция | Алгоритм |
|---|---|---|
Действительный скаляр, |
Умножение |
|
Деление |
|
|
Действительный вектор или матрица с элементами, |
Умножение |
|
Деление |
|
|
Комплексный скаляр, |
Умножение |
|
Деление |
|
|
Комплексный вектор или матрица с элементами, |
Умножение |
|
Деление |
|




