произведение элементов массива с накоплением
массив вещественных, комплексных, логических значений, а также полиномов или рациональных дробей.
ориентация, она может быть:
строкой с возможными значениями: "*"
, "r"
, "c"
или "m"
номером с положительным целым значением
тип на выходе: строка с возможными значениями:
"native"
или "double"
.
скаляр или массив
Для массива x
, y=cumprod(x)
возвращает
скаляр y
, представляющий произведение всех элементов
x
с накоплением.
y=cumprod(x,orientation)
возвращает в y
произведение элементов x
с накоплением по заданной размерности
orientation
:
если orientation
равна 1 или "r", то
или
если orientation
равна 2 или "c", то:
или
если orientation
равна n, то
y=cumprod(x,"*")
эквивалентно y=cumprod(x)
y=cumprod(x,"m")
эквивалентно
y=cumprod(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"
.
![]() | Эта функция применяется с аналогичными правилами к разряжённым
матрицам |
A=[1,2;3,4]; cumprod(A) cumprod(A,1) I=uint8([2 95 103;254 9 0]) cumprod(I) //естественное вычисление cumprod(I,"double") cumprod(I,2,"double") s=poly(0,"s"); P=[s,%i+s;s^2,1]; cumprod(P), cumprod(P,2) B=[%t %t %f %f]; cumprod(B) //вычисление с плавающей запятой cumprod(B,"native") //аналогично and(B) | ![]() | ![]() |