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 .*. >> |