Совокупное произведение элементов канала, столбца или строки
Математические функции/Математические операции
dspmathops

Блок «Совокупное изделие» вычисляет совокупное изделие по указанному размеру ввода или по времени (выполняемое изделие).
Входной сигнал может быть вектором или матрицей.
Блок кумулятивного произведения принимает векторные или матричные входные данные, содержащие вещественные или комплексные значения.
Дополнительный порт сброса, Rst, принимает скалярные значения, которые могут быть любым встроенным типом данных Simulink ®, включаяboolean. Скорость входа в порт Rst должна быть такой же или медленнее, чем у входного сигнала данных. Время выборки для входа в порт Rst должно быть положительным целым числом, кратным времени входной выборки.
Если для параметра Умножение ввода вдоль (Multiply input along) задано значение Channels (running product)блок вычисляет совокупное произведение элементов в каждом входном канале. Рабочее произведение текущего ввода учитывает рабочее произведение всех предыдущих входов. В этом режиме необходимо также указать значение параметра обработки ввода. При установке для параметра обработки ввода значения Columns as channels (frame based)блок вычисляет рабочее произведение по каждому столбцу текущего входного сигнала. При установке для параметра обработки ввода значения Elements as channels (sample based)блок вычисляет выполняющееся произведение для каждого элемента ввода во времени. Дополнительные сведения см. в следующих разделах:
При установке для параметра обработки ввода значения Columns as channels (frame based)блок обрабатывает каждый входной столбец как независимый канал. Как показано на следующем рисунке и уравнении, выходные данные имеют следующие характеристики:
Первая строка первого выходного сигнала совпадает с первой строкой первого входного сигнала.
Первая строка каждого последующего выхода является произведением элемента первой строки текущего входа (время t) и последней строки предыдущего выхода (время t-Tf, где Tf - период кадра).
Выходные данные имеют тот же размер, измерение, тип данных и сложность, что и входные данные.
При вводе матрицы M-на-N, u, выход, y, является матрицей M-на-N, первая строка которой имеет элементы
⋅yM,j (t − Tf)

При установке для параметра обработки ввода значения Elements as channels (sample based)блок обрабатывает каждый элемент входной матрицы как независимый канал. Как показано на следующем рисунке и уравнении, выходные данные имеют следующие характеристики:
Первый выход совпадает с первым входом.
Каждый последующий выход - это элементное произведение текущего входа (время t) и предыдущего выхода (время t - Ts, где Ts - период выборки).
Выходные данные имеют тот же размер, измерение, тип данных и сложность, что и входные данные.
При вводе матрицы M-на-N, u, выход, y, является матрицей M-на-N с элементами
1≤i≤M1≤j≤N
Для удобства блок обрабатывает неориентированные векторные входы длиной М как векторы M-by-1 столбцов при умножении вдоль каналов. В таких случаях выходной сигнал представляет собой неориентированный вектор длины-М.

При вычислении запущенного продукта можно настроить блок на сброс запущенного продукта при обнаружении события сброса по желанию. Rst порт. Скорость входа в порт Rst должна быть такой же или медленнее, чем у входного сигнала данных. Время выборки для входа в порт Rst должно быть положительным целым числом, кратным времени входной выборки. Входные данные для Rst порт может иметь логический тип данных.
Если происходит событие сброса, когда блок выполняет обработку на основе выборки, блок инициализирует токовый выход по значениям текущего входа. Если происходит событие сброса, когда блок выполняет основанную на кадрах обработку, блок инициализирует первую строку текущего выходного сигнала на значения в первой строке текущего входного сигнала.
Параметр Reset port определяет событие reset, которое может быть одним из следующих:
None отключает Rst порт.
Rising edge - Запускает операцию сброса, когда Rst вход выполняет одно из следующих действий:
Увеличивается от отрицательного значения до положительного значения или нуля
Поднимается от нуля до положительного значения, где подъем не является продолжением подъема от отрицательного значения до нуля (см. следующий рисунок)

Falling edge - Запускает операцию сброса, когда Rst вход выполняет одно из следующих действий:
Падает от положительного значения до отрицательного значения или нуля
Падает от нуля до отрицательного значения, где падение не является продолжением падения от положительного значения до нуля (см. следующий рисунок)

Either edge - Запускает операцию сброса, когда Rst вход представляет собой Rising edge или Falling edge (как описано выше)
Non-zero sample - Запускает операцию сброса в каждый момент времени, когда Rst вход не равен нулю
Примечание
При запуске моделирования в Simulink MultiTasking режим, сигналы сброса имеют задержку в одну выборку. Когда блок обнаруживает событие сброса, задержка в одну выборку происходит на скорости порта сброса, прежде чем блок применит сброс. Дополнительные сведения о задержках и режимах задания Simulink см. в разделах Избыточная алгоритмическая задержка (задержка задания) и Планирование и создание кода на основе времени (кодер Simulink).
Если для параметра Умножение ввода вдоль (Multiply input along) задано значение Columnsблок вычисляет совокупное произведение каждого столбца входного сигнала. В этом режиме текущее совокупное произведение не зависит от совокупных произведений предыдущих входов.
y = cumprod(u) % Equivalent MATLAB code
Выходные данные имеют тот же размер, измерение, тип данных и сложность, что и входные данные. M-я выходная строка является произведением по элементам первых m входных строк.
Учитывая вход M-by-N, u, выход y является матрицей M-by-N, j-й столбец которой имеет элементы
При умножении вдоль столбцов блок обрабатывает неориентированные векторные входы длиной M как M-by-1 векторы столбцов.

Если для параметра Умножение ввода вдоль (Multiply input along) задано значение Rowsблок вычисляет совокупное произведение элементов строки. В этом режиме текущее совокупное произведение не зависит от совокупных произведений предыдущих входов.
y = cumprod(u,2) % Equivalent MATLAB code
Выходные данные имеют тот же размер, измерение и тип данных, что и входные данные. n-й выходной столбец является произведением по элементам первых n входных столбцов.
При вводе матрицы M-на-N, u, выход, y, является матрицей M-на-N, i-я строка которой имеет элементы
При умножении вдоль строк блок обрабатывает неориентированные векторные входы длиной N как 1-by-N векторы строк.

На следующей диаграмме показаны типы данных, используемые в блоке совокупного продукта для сигналов с фиксированной точкой.

Выходной сигнал множителя находится в виде выходных данных произведения, когда, по меньшей мере, один из входных сигналов множителя является реальным. Когда оба входа умножителя являются комплексными, результат умножения находится в накопительном типе данных. Для получения подробной информации о выполненном комплексном умножении см. Типы данных умножения. В диалоговом окне блока можно задать типы данных накопителя, вывода продукта, промежуточного продукта и вывода, как описано в разделе «Параметры».
Главная вкладка
Укажите размер, вдоль которого будет вычисляться совокупное изделие. Можно выбрать умножение вдоль Channels (running product), Columns, или Rows. Дополнительные сведения см. в следующих разделах:
Укажите, как блок должен обрабатывать входные данные при вычислении выполняемого продукта по каналам входных данных. Можно задать для этого параметра одну из следующих опций:
Columns as channels (frame based) - При выборе этой опции блок обрабатывает каждый столбец ввода как отдельный канал.
Elements as channels (sample based) - При выборе этой опции блок обрабатывает каждый элемент ввода как отдельный канал.
Этот параметр доступен только в том случае, если для параметра «Умножение» задано значение Channels (running product).
Определяет событие сброса, которое заставляет блок сбрасывать продукт по каналам. Скорость входа в порт Rst должна быть такой же или медленнее, чем у входного сигнала данных. Время выборки для входа в порт Rst должно быть положительным целым числом, кратным времени входной выборки. Этот параметр появляется только в том случае, если для параметра «Умножение» задано значение Channels (running product). Дополнительные сведения см. в разделе Сброс запущенного продукта.
Вкладка «Типы данных»
Примечание
Наследование с плавающей запятой имеет приоритет над параметрами типа данных, определенными на этой панели. Если входные данные имеют плавающую точку, блок игнорирует эти настройки, и все внутренние типы данных являются плавающей точкой.
Укажите режим округления для операций с фиксированной точкой как одно из следующих:
Floor
Ceiling
Convergent
Nearest
Round
Simplest
Zero
Дополнительные сведения см. в разделе Режим округления.
При выборе этого параметра блок насыщает результат операции с фиксированной точкой. При сбросе этого параметра блок переносит результат операции с фиксированной точкой. Для получения подробной информации о saturate и wrap, см. режим переполнения для операций с фиксированной точкой.
Укажите промежуточный тип данных продукта. Как показано в разделе Типы данных с фиксированной точкой, вывод множителя преобразуется в промежуточный тип данных продукта до того, как в него будет умножен следующий элемент ввода. Можно установить для него значение:
Правило, наследующее тип данных, например: Inherit: Same as input
Выражение, которое вычисляет допустимый тип данных, например: fixdt([],16,0)
Нажмите кнопку Show data type assistant (Показать помощник по типам данных
), чтобы отобразить помощник по типам данных, который помогает задать параметр вывода продукта.
Дополнительные сведения см. в разделе Определение типов данных с помощью помощника по типам данных (Simulink).
Укажите тип выходных данных продукта. Примеры использования типа выходных данных продукта в этом блоке приведены в разделах Типы данных с фиксированной точкой и Типы данных умножения. Можно установить для него значение:
Правило, наследующее тип данных, например: Inherit: Same as input
Выражение, которое вычисляет допустимый тип данных, например: fixdt([],16,0)
Нажмите кнопку Show data type assistant (Показать помощник по типам данных
), чтобы отобразить помощник по типам данных, который помогает задать параметр вывода продукта.
Дополнительные сведения см. в разделе Определение типов данных с помощью помощника по типам данных (Simulink).
Укажите тип данных накопителя. Примеры использования типа данных накопителя в этом блоке приведены в разделе Типы данных с фиксированной точкой. Для этого параметра можно установить значение:
Правило, наследующее тип данных, например: Inherit: Same as input
Правило, наследующее тип данных, например: Inherit: Same as product output
Выражение, которое вычисляет допустимый тип данных, например: fixdt([],16,0)
Нажмите кнопку Show data type assistant (Показать помощник по типам данных
) для отображения помощника по типам данных, который поможет установить параметр Accumulator.
Дополнительные сведения см. в разделе Определение типов данных с помощью помощника по типам данных (Simulink).
Укажите тип выходных данных. Примеры использования типа выходных данных в этом блоке приведены в разделе «Типы данных с фиксированной точкой». Можно установить для него значение:
Правило, наследующее тип данных, например: Inherit: Same as input
Правило, наследующее тип данных, например: Inherit: Same as product output
Выражение, которое вычисляет допустимый тип данных, например: fixdt([],16,0)
Если оба входа не подписаны, все типы данных, включая тип выходных данных, не подписаны. Если один из входов подписан, то подписываются внутренние и выходные типы данных.
Нажмите кнопку Show data type assistant (Показать помощник по типам данных
) для отображения помощника по типам данных, который поможет задать параметр Output (Вывод).
Для получения дополнительной информации см. раздел Типы данных управляющих сигналов (Simulink).
Укажите минимальное значение, которое должен выводить блок. Значение по умолчанию: [] (не указано). Simulink использует это значение для выполнения следующих действий:
Проверка диапазона моделирования (см. раздел Определение диапазонов сигналов (Simulink))
Автоматическое масштабирование типов данных с фиксированной точкой
Укажите максимальное значение, которое должен выводить блок. Значение по умолчанию: [] (не указано). Simulink использует это значение для выполнения следующих действий:
Проверка диапазона моделирования (см. раздел Определение диапазонов сигналов (Simulink))
Автоматическое масштабирование типов данных с фиксированной точкой
Выберите этот параметр, чтобы инструменты с фиксированной точкой не переопределяли типы данных, заданные в маске блока.
| Порты ввода и вывода | Поддерживаемые типы данных |
|---|---|
Порт ввода данных, |
|
Сброс входного порта, | Все встроенные типы данных Simulink:
|
Выходной порт |
|