cumsum
суммирование элементов массива с накоплением
Синтаксис
y = cumsum(x) y = cumsum(x, outtype) y = cumsum(x, orientation) y = cumsum(x, orientation, outtype)
Аргументы
- x
массив вещественных, комплексных, логических значений, а также полиномов или рациональных дробей. Гиперматрицы или разрежённые логические или числовые матрицы так же поддерживаются.
- orientation
ориентация, она может быть:
строкой с возможными значениями:
"*","r","c"или"m"или положительное целое число
1 ≤ orientation ≤ ndims(x): индекс размерности, вдоль которой сумма с накоплением должна быть вычислена. 1 и "r", и 2 и "c" эквивалентны.
- outtype
тип на выходе: строка с возможными значениями:
"native"или"double".- y
Array of size equal to that of
x.
Описание
y = cumsum(x) computes and provides the partial
cumulative sums y(i)=sum(x(1:i)), i.e.:

y = cumsum(x, orientation) computes and returns the partial cumulative sums of x along the dimension given by orientation:
если orientation равна 1 или "r", то:
, или для N-мерного массива :
если orientation равна 2 или "c", то:
, или для N-мерного массива :
если orientation равна n, то:

y = cumsum(x, "*") эквивалентно
y = cumsum(x)y = cumsum(x, "m") эквивалентно
y = cumsum(x, orientation), гдеorientationявляется индексом первой размерностиx, которая больше 1. Эта опция используется для совместимости с Matlab'ом.
Аргумент outtype управляет способом, которым производится суммирование:
Для массивов чисел с плавающей запятой, полиномов, рациональных дробей вычисление всегда делается через вычисления с плавающей запятой. Опции
"double"и"native"("естественное") эквивалентны.Для массивов целых чисел:
если
outtype="native"("естественное"), то вычисление делается через целочисленные вычисления (по модулю 2^b, где b - число используемых битов);если
outtype="double", то вычисление делается через вычисления с плавающей запятой.Значение по умолчанию
outtype="native".Для массивов логических значений:
если
outtype="native"("естественное"), то вычисления делаются с помощью булевой алгебры (+ заменяется на |),если
outtype="double", то вычисление делается через вычисления с плавающей запятой (значения %t заменяются на 1, а значения %f - на 0).Значение по умолчанию
outtype="double".
![]() | Когда входная переменная x является разрежённой, пожалуйста, имейте ввиду,
что плотность результата y будет почти всегда близка к 100%. |
Примеры
A = [1, 2 ; 3, 4]; cumsum(A) cumsum(A,1) I = uint8([2 95 103 ; 254 9 0]) cumsum(I) // естественное вычисление cumsum(I,"double") cumsum(I,2,"double") s = poly(0,"s"); P = [s, %i+s ; s^2, 1]; cumsum(P), cumsum(P,2) B = [%t %t %f %f]; cumsum(B) // вычисление с плавающей запятой cumsum(B,"native") // аналогично or(B)
| Report an issue | ||
| << cumprod | Матричные операции | kron .*. >> |
