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, + b, + b + 1, sym (NaN), sym (NaN)]

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

B = cumsum(A,'omitnan')
B = (aa+ba+b+1a+b+1a+b+3)[a, + b, + b + 1, + b + 1, + 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 значения являются суммой всего non-NaN элементы. Если всеми элементами является NaN, затем cumsum возвращается 0.

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

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

свернуть все

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

Больше о

свернуть все

Первая неодноэлементная размерность

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

Например:

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

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

  • Если X 1 1 3 массивами, затем третья размерность является первой неодноэлементной размерностью X.

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

| | | |

Введенный в R2013b
Для просмотра документации необходимо авторизоваться на сайте