cumprod
произведение элементов массива с накоплением
Синтаксис
y = cumprod(x) y = cumprod(x, orientation) y = cumprod(x, outtype) y = cumprod(x, orientation, outtype)Аргументы
- x
массив вещественных, комплексных, логических значений, а также полиномов или рациональных дробей.
- orientation
ориентация, она может быть:
строкой с возможными значениями:
"*"
,"r"
,"c"
или"m"
номером с положительным целым значением
- outtype
тип на выходе: строка с возможными значениями:
"native"
или"double"
.- y
скаляр или массив
Описание
Для массива 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)
Смотрите также
Report an issue | ||
<< cross | Матричные операции | cumsum >> |