cumsum

Символьная совокупная сумма

Синтаксис

B = cumsum(A)
B = cumsum(A,dim)
B = cumsum(___,direction)

Описание

пример

B = cumsum(A) возвращает массив тот же размер как A, содержащий совокупную сумму.

  • Если A является вектором, то cumsum(A) возвращает вектор, содержащий совокупную сумму элементов A.

  • Если A является матрицей, то cumsum(A) возвращает матрицу, содержащую совокупные суммы каждого столбца A.

пример

B = cumsum(A,dim) возвращает совокупную сумму по измерению dim. Например, если A является матрицей, то cumsum(A,2) возвращает совокупную сумму каждой строки.

пример

B = cumsum(___,direction) задает направление с помощью любого из предыдущих синтаксисов. Например, cumsum(A,2,'reverse') возвращает совокупную сумму в строках A путем работы от конца до начала второго измерения.

Примеры

Совокупная сумма вектора

Создайте вектор и найдите совокупную сумму его элементов.

V = 1./factorial(sym([1:5]))
sum_V = cumsum(V)
V =
[ 1, 1/2, 1/6, 1/24, 1/120]
 
sum_V =
[ 1, 3/2, 5/3, 41/24, 103/60]

Совокупная сумма каждого столбца в символьной матрице

Создайте матрицу символьный матричный A 4 на 4, все элементы которого равняются 1.

A = sym(ones(4,4))
A =
[ 1, 1, 1, 1]
[ 1, 1, 1, 1]
[ 1, 1, 1, 1]
[ 1, 1, 1, 1]

Вычислите совокупную сумму элементов A. По умолчанию cumsum возвращает совокупную сумму каждого столбца.

sumA = cumsum(A)
sumA =
[ 1, 1, 1, 1]
[ 2, 2, 2, 2]
[ 3, 3, 3, 3]
[ 4, 4, 4, 4]

Совокупная сумма каждой строки в символьной матрице

Создайте матрицу символьный матричный A 4 на 4, все элементы которого равняются 1.

A = sym(ones(4,4))
A =
[ 1, 1, 1, 1]
[ 1, 1, 1, 1]
[ 1, 1, 1, 1]
[ 1, 1, 1, 1]

Вычислите совокупную сумму каждой строки матричного A.

sumA = cumsum(A,2)
sumA =
[ 1, 2, 3, 4]
[ 1, 2, 3, 4]
[ 1, 2, 3, 4]
[ 1, 2, 3, 4]

Противоположная совокупная сумма

Создайте матрицу символьная матрица 4 на 4, все элементы которой равняются 1.

A = sym(ones(4,4))
A =
[ 1, 1, 1, 1]
[ 1, 1, 1, 1]
[ 1, 1, 1, 1]
[ 1, 1, 1, 1]

Вычислите совокупную сумму вдоль столбцов в обоих направлениях. Задайте опцию 'reverse', чтобы работать справа налево в каждой строке.

columnsDirect = cumsum(A)
columnsReverse = cumsum(A,'reverse')
columnsDirect =
[ 1, 1, 1, 1]
[ 2, 2, 2, 2]
[ 3, 3, 3, 3]
[ 4, 4, 4, 4]
 
columnsReverse =
[ 4, 4, 4, 4]
[ 3, 3, 3, 3]
[ 2, 2, 2, 2]
[ 1, 1, 1, 1]

Вычислите совокупную сумму вдоль строк в обоих направлениях. Задайте опцию 'reverse', чтобы работать справа налево в каждой строке.

rowsDirect = cumsum(A,2)
rowsReverse = cumsum(A,2,'reverse')
rowsDirect =
[ 1, 2, 3, 4]
[ 1, 2, 3, 4]
[ 1, 2, 3, 4]
[ 1, 2, 3, 4]
 
rowsReverse =
[ 4, 3, 2, 1]
[ 4, 3, 2, 1]
[ 4, 3, 2, 1]
[ 4, 3, 2, 1]

Входные параметры

свернуть все

Входной массив, заданный как вектор или матрица.

Размерность, которая задает направление расчета, заданная как положительное целое число. Значение по умолчанию равняется 1.

Рассмотрите двумерный входной массив, A:

  • cumsum(A,1) работает над последовательными элементами в столбцах A и возвращает совокупную сумму каждого столбца.

  • cumsum(A,2) работает над последовательными элементами в строках A и возвращает совокупную сумму каждой строки.

cumsum возвращает A, если dim больше, чем ndims(A).

Направление накопления, заданного как 'forward' (значение по умолчанию) или 'reverse'.

  • 'forward' работает от 1 до end активной размерности.

  • 'reverse' работает от end до 1 активной размерности.

Выходные аргументы

свернуть все

Массив совокупной суммы, возвращенный как вектор или матрица, одного размера как вход A.

Смотрите также

| | | |

Введенный в R2013b