cumsum

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

Описание

пример

B = cumsum(A) возвращает совокупную сумму A начиная с начала измерения массива в A чей размер не равен 1. Область выхода B имеет тот же размер, что и A.

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

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

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

пример

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

пример

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

пример

B = cumsum(___,nanflag) определяет, включать или опускать NaN значения из вычисления для любого из предыдущих синтаксисов. cumsum(A,'includenan') включает все NaN значения в вычислении при cumsum(A,'omitnan') игнорирует их.

Примеры

свернуть все

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

syms x
A = (1:5)*x
A = (x2x3x4x5x)[x, 2 * x, 3 * x, 4 * x, 5 * x]

В векторе совокупных сумм, элементарные B(2) - сумма A(1) и A(2), в то время как B(5) - сумма элементов A(1) через A(5).

B = cumsum(A)
B = (x3x6x10x15x)[x, 3 * x, 6 * x, 10 * x, 15 * x]

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

A = sym(ones(3))
A = 

(111111111)[sym (1), sym (1), sym (1); sym (1), sym (1), sym (1); sym (1), sym (1), sym (1)]

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

B = cumsum(A)
B = 

(111222333)[sym (1), sym (1), sym (1); sym (2), sym (2), sym (2); sym (3), sym (3), sym (3)]

Чтобы вычислить совокупную сумму каждой строки, установите значение dim опция для 2.

B = cumsum(A,2)
B = 

(123123123)[sym (1), sym (2), sym (3); sym (1), sym (2), sym (3); sym (1), sym (2), sym (3)]

Создайте символьный массив 3 на 3 на 2.

syms x y
A(:,:,1) = [x y 3; 3 x y; y 2 x];
A(:,:,2) = [x y 1/3; 1 y x; 1/3 x 2];
A
A(:,:,1) = 

(xy33xyy2x)[x, y, sym (3); sym (3), x, y; y, sym (2), x]

A(:,:,2) = 

(xy131yx13x2)[x, y, sym (1/3); sym (1), y, x; sym (1/3), x, sym (2)]

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

B = cumsum(A,2,'reverse')
B(:,:,1) = 

(x+y+3y+33x+y+3x+yyx+y+2x+2x)[x + y + 3, y + 3, sym (3); x + y + 3, x + y, y; x + y + 2, x + 2, x]

B(:,:,2) = 

(x+y+13y+1313x+y+1x+yxx+73x+22)[x + y + sym (1/3), y + sym (1/3), sym (1/3); x + y + 1, x + y, x; x + sym (7/3), x + 2, sym (2)]

Чтобы вычислить совокупную сумму по третьей (страничной) размерности, задайте dim как 3. Задайте 'reverse' опция работы с самым большим индексом страницы до самым маленьким индексом страницы.

B = cumsum(A,3,'reverse')
B(:,:,1) = 

(2x2y1034x+yx+yy+13x+2x+2)[2 * x, 2 * y, sym (10/3); sym (4), x + y, x + y; y + sym (1/3), x + 2, x + 2]

B(:,:,2) = 

(xy131yx13x2)[x, y, sym (1/3); sym (1), y, x; sym (1/3), x, sym (2)]

Создайте символьный вектор, содержащий NaN значения. Вычислите совокупные суммы.

A = [sym('a') sym('b') 1 NaN 2]
A = (ab1NaN2)[a, b, sym (1), sym (NaN), sym (2)]
B = cumsum(A)
B = (aa+ba+b+1NaNNaN)[a, a + b, a + b + 1, sym (NaN), sym (NaN)]

Можно игнорировать NaN значения в вычислении совокупной суммы с помощью 'omitnan' опция.

B = cumsum(A,'omitnan')
B = (aa+ba+b+1a+b+1a+b+3)[a, a + b, a + b + 1, a + b + 1, a + b + 3]

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

свернуть все

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

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

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

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

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

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

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

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

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

Типы данных: char

NaN условие, заданное как:

  • 'includenan' - Включить NaN значения от входов при вычислении совокупных сумм, что приводит к NaN значений в выходах.

  • 'omitnan' - Игнорировать все NaN значений во входе. Сумма элементов, содержащих NaN значения являются суммой всех не- NaN элементы. Если все элементы NaN, затем cumsum возвращает 0.

Типы данных: char

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

свернуть все

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

Подробнее о

свернуть все

Первый несинглтон Размерность

Первый несинглтон- размерность является первой размерностью массива, размер которого не равен 1.

Для примера:

  • Если X является вектор-строка 1 на n, затем второе измерение является первой нежесткой размерностью X.

  • Если X представляет собой пустой массив 1 на 0 на n, затем второе измерение является первой несинглтонной размерностью X.

  • Если X массив 1 на 1 на 3, тогда третья размерность - первая размерность неединичного предмета X.

См. также

| | | |

Введенный в R2013b