Совокупная сумма элементов канала, столбца или строки
DSP System Toolbox/Математические функции/Математические операции
Блок Кумулятивная сумма вычисляет совокупную сумму по заданному измерению входа или по времени (текущая сумма).
In
- Входной сигналВход, заданный как вектор или как матричные входы, содержащие вещественные или комплексные числа.
Этот порт не называется до тех пор, пока вы не выберете None
значение для Reset port
параметр.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
Поддержка комплексного числа: Да
Rst
- Порт сбросаОпциональный порт сброса, Rst, принимает скалярные значения, которые могут быть любыми встроенными Simulink® тип данных, включая boolean
. Скорость входа к порту Rst должна быть такой же или меньшей, чем скорость сигнала входных данных. Шаг расчета входа к Rst порту должно быть положительным целым числом, кратным входом шага расчета.
Этот порт не называется до тех пор, пока вы не выберете None
значение для Reset port
параметр.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
Port_1
- Выходной сигналСовокупная сумма входа, заданная как вектор или матрица.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
Sum input along
- Размерность в суммеChannels (running sum)
(по умолчанию) | Columns
| Rows
Задайте размерность, по которому нужно вычислить совокупные суммирования. Можно принять решение суммировать Channels (running sum)
, Columns
, или Rows
. Для получения дополнительной информации см. следующие разделы:
Input processing
- Метод обработки входовColumns as channels (frame based)
(по умолчанию) | Elements as channels (sample based)
Задайте, как блок обрабатывает вход при вычислении текущей суммы по каналам входа. Можно задать этот параметр одну из следующих опций:
Columns as channels (frame based)
- Блок обрабатывает каждый столбец входа как отдельный канал.
Elements as channels (sample based)
- Блок обрабатывает каждый элемент входа как отдельный канал.
Этот параметр доступен только, когда вы устанавливаете Sum input along
параметр в Channels (running sum)
.
Reset port
- Тип сбросаNone
(по умолчанию) | Rising edge
| Falling edge
| Either edge
| Non-zero sample
Определяет событие сброса, которое заставляет блок сбрасывать сумму по каналам. Скорость входа в Rst
порт должен быть тем же или медленнее, чем порт сигнала входных данных. Шаг расчета входа к Rst порту должно быть положительным целым числом, кратным входом шага расчета. Для получения дополнительной информации см. «Сброс текущей суммы».
Этот параметр доступен только, когда вы устанавливаете Sum input along
параметр в Channels (running sum)
.
Примечание
Наследование с плавающей точкой имеет приоритет над параметрами типа данных, заданными на этой панели. Когда входы плавающие точки, блок игнорируют эти настройки. Все внутренние типы данных являются плавающими точками.
Rounding mode
- Режим округленияFloor
(по умолчанию) | Ceiling
| Convergent
| Nearest
| Round
| Simplest
| Zero
Задайте режим округления для операций с фиксированной точкой как один из следующих:
Floor
Ceiling
Convergent
Nearest
Round
Simplest
Zero
Для получения дополнительной информации смотрите режим округления.
Saturate on integer overflow
- Насыщение для операции с фиксированной точкойoff
(по умолчанию) | on
Когда вы выбираете этот параметр, блок насыщает результат своей операции с фиксированной точкой. Когда вы очищаете этот параметр, блок переносит результат своей операции с фиксированной точкой. Для получения дополнительной информации о saturate
и wrap
, см. Режим переполнения для операций с фиксированной точкой.
Accumulator
- Тип данных аккумулятораInherit: Same as first input
(по умолчанию) | fixdt([],16,0)
Accumulator задает тип данных выхода операции накопления в блоке Cumulative Sum. Для рисунков о том, как использовать тип данных аккумулятора в этом блоке, смотрите раздел 'Преобразование фиксированной точки' в Extended Capabilities.
Inherit: Same as input
- Блок задает тип данных аккумулятора таким же, как и тип входных данных.
fixdt([],16,0)
- блок задает автознаковый, двоичный, масштабированный, тип данных с фиксированной точкой с размером слова 16 бит и длиной дроби 0.
Также можно задать тип данных Accumulator при помощи Data Type Assistant. Нажмите кнопку Show data type assistant.
Для получения дополнительной информации смотрите Задать типы данных Используя Data Type Assistant (Simulink).
Output
- Тип данных выходаInherit: Same as accumulator
(по умолчанию) | Inherit: Same as input
| fixdt([],16,0)
Output задает тип данных выхода блока Cumulative Sum. Для получения дополнительной информации о типе выходных данных смотрите раздел 'Преобразование с фиксированной точкой' в Extended Capabilities.
Inherit: Same as input
- Блок задает тип выходных данных, совпадающий с типом входных данных.
Inherit: Same as accumulator
- Блок задает тип выходных данных, совпадающий с типом данных аккумулятора.
fixdt([],16,0)
- блок задает автознаковый, двоичный, масштабированный, тип данных с фиксированной точкой с размером слова 16 бит и длиной дроби 0.
Также можно задать тип данных Output при помощи Data Type Assistant. Нажмите кнопку Show data type assistant.
Дополнительные сведения о помощнике по типам данных см. в разделе «Задание типов данных с использованием помощника по типам данных» (Simulink).
Output Minimum
- Минимальное значение, которое может вывести блок[]
(по умолчанию) | скаляромЗадайте минимальное значение, которое может вывести блок. Программное обеспечение Simulink использует это минимальное значение для выполнения:
Проверка области значений симуляции. См. «Задание диапазонов сигнала» (Simulink).
Автоматическое масштабирование типов данных с фиксированной точкой.
Output Maximum
- Блок максимального значения может выводить[]
(по умолчанию) | скаляромЗадайте максимальное значение, которое может вывести блок. Программное обеспечение Simulink использует это максимальное значение для выполнения:
Проверка области значений симуляции. См. «Задание диапазонов сигнала» (Simulink).
Автоматическое масштабирование типов данных с фиксированной точкой.
Lock data type settings against changes by the fixed-point tools
- Предотвратить переопределение типов данных инструментами с фиксированной точкойoff
(по умолчанию) | on
Выберите этот параметр, чтобы предотвратить переопределение инструментами с фиксированной точкой типов данных, заданных в диалоговом окне блока.
Типы данных |
|
Прямое сквозное соединение |
|
Многомерные сигналы |
|
Сигналы переменного размера |
|
Обнаружение пересечения нулем |
|
Когда вы устанавливаете Sum input along
параметр в Channels (running sum)
блок вычисляет совокупную сумму элементов в каждом входном канале. Текущая сумма текущего входа учитывает текущую сумму всех предыдущих входов. В этом режиме вы также должны задать значение для Input processing
параметр.
Когда вы устанавливаете параметр Input processing на:
Columns as channels (frame based)
-- Блок вычисляет текущую сумму вдоль каждого столбца текущего входа.
Elements as channels (sample based)
- Блок вычисляет текущую сумму для каждого элемента входа в течение времени.
Вычисление текущей суммы для каждого столбца входа
Когда вы устанавливаете параметр Input processing равным Columns as channels (frame based)
блок обрабатывает каждый входной столбец как независимый канал. Как иллюстрируют следующие рисунок и уравнение, выход имеет следующие характеристики:
Первая строка первого выхода совпадает с первой строкой первого входа.
Первая строка каждого последующего выхода является суммой первой строки текущего входа (временной t), и последней строкой предыдущего выхода (временная t - Tf, где Tf является периодом системы координат).
Выход имеет тот же размер, размерность, тип данных и сложность, что и вход.
Учитывая M -by- N матричный вход, u, выход, y, является M -by- N матрицей, чья первая строка имеет элементы
Вычисление текущей суммы для каждого элемента входа
Когда вы устанавливаете параметр Input processing равным Elements as channels (sample based)
блок обрабатывает каждый элемент матрицы входа как независимый канал. Как иллюстрируют следующие рисунок и уравнение, выход имеет эти характеристики:
Первый выход аналогичен первому входу.
Каждый последующий выход является суммой входного входа тока (временной t) и предыдущего выхода (временной t - Ts, где Ts является периодом дискретизации).
Выход имеет тот же размер, размерность, тип данных и сложность, что и вход.
Учитывая M -by- N матричный вход, u, выход, y, является M -by- N матрицей с элементами
Когда вы вычисляете текущую сумму, можно сконфигурировать блок, чтобы сбросить текущую сумму каждый раз, когда он обнаруживает событие сброса в необязательном Rst
порт. Скорость входа к порту Rst должна быть такой же или меньшей, чем скорость сигнала входных данных. Шаг расчета входа к Rst порту должно быть положительным целым числом, кратным входом шага расчета. Шаг расчета сброса должен быть положительным целым числом, кратным входом шага расчета. Вход в Rst порт может быть boolean
.
Если событие сброса происходит во время выполнения блоком обработки на основе выборки, блок инициализирует текущий выход со значениями текущего входа. Если событие сброса происходит во время выполнения блоком обработки на основе фрейма, блок инициализирует первую строку текущего выхода со значениями в первой строке текущего входа.
The Reset port
параметр задает событие сброса, которое может быть одним из следующих:
None
отключает порт Rst.
Rising edge
- Запускает операцию сброса, когда вход Rst делает одно из следующего:
Повышается с отрицательного значения до положительного значения или нуля
Поднимается с нуля до положительного значения, где подъем не является продолжением подъёма с отрицательного значения до нуля
Falling edge
- Запускает операцию сброса, когда вход Rst делает одно из следующего:
Падает от положительного значения до отрицательного значения или нуля
Падает с нуля до отрицательного значения, где падение не является продолжением падения с положительного значения до нуля
Either edge
- Запускает операцию сброса, когда вход Rst является Rising edge
или Falling edge
Non-zero sample
- Запускает операцию сброса в каждом шаге расчета, когда вход Rst не равен нулю
Примечание
Когда вы запускаете симуляции в MultiTasking
Simulink mode, сигналы сброса имеют задержку с одной выборкой. Когда блок обнаруживает событие сброса, задержка с одной выборкой происходит со скоростью порта сброса, прежде чем блок применяет сброс. Для получения дополнительной информации о задержках и режимах задачи Simulink, смотрите Избыточную алгоритмическую задержку (Задержка Задачи) и Основанное на времени Планирование и Генерация кода (Simulink Coder).
Когда вы устанавливаете Sum input along
параметр в Columns
блок вычисляет совокупную сумму каждого столбца входа. В этом режиме текущая совокупная сумма не зависит от совокупных сумм предыдущих входов.
y = cumsum(u) % Equivalent MATLAB code
Выход имеет тот же размер, размерность, тип данных и сложность, что и вход. m-я выходная строка является суммой первых m входных строк.
Учитывая M -by - N вход, u, выход, y, является M -by - N матрицей, j-й столбец которой имеет элементы
Блок обрабатывает длинно- M неориентированные векторные входы как векторы-на-1 M при суммировании вдоль столбцов.
Когда вы устанавливаете Sum input along
параметр в Rows
блок вычисляет совокупную сумму элементов строки. В этом режиме текущая совокупная сумма не зависит от совокупных сумм предыдущих входов.
y = cumsum(u,2) % Equivalent MATLAB code
Выходы имеют тот же размер, размерность и тип данных, что и входы. n-й выходной столбец является суммой первых n входных столбцов.
Учитывая M -by - N вход, u, выход, y, является матрицей M -by - N, i-я строка которой имеет элементы
Когда вы суммируете строки, блок обрабатывает длинно- N неориентированные векторные входы как 1-байт- N векторы-строки.
Сгенерированный код опирается на memcpy
или memset
функции (string.h
) при определенные обстоятельства.
Следующая схема показывает типы данных, используемые в блоке Совокупная сумма для сигналов с фиксированной точкой.
Можно задать типы данных аккумулятора и вывода в диалоговом окне блока. См. Параметры.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.