суммирование элементов массива с накоплением
y = cumsum(x) y = cumsum(x, outtype) y = cumsum(x, orientation) y = cumsum(x, orientation, outtype)
массив вещественных, комплексных, логических значений, а также полиномов или рациональных дробей. Гиперматрицы или разрежённые логические или числовые матрицы так же поддерживаются.
ориентация, она может быть:
строкой с возможными значениями: "*"
,
"r"
, "c"
или "m"
или положительное целое число 1 ≤ orientation ≤ ndims(x)
:
индекс размерности, вдоль которой сумма с накоплением должна быть вычислена.
1 и "r", и 2 и "c" эквивалентны.
тип на выходе: строка с возможными значениями:
"native"
или "double"
.
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) | ![]() | ![]() |