cumprod

Совокупное произведение

Описание

пример

B = cumprod(A) возвращает совокупное произведение A запуск в начале первого измерения массива в A чей размер не равняется 1.

  • Если A вектор, затем cumprod(A) возвращает вектор, содержащий совокупное произведение элементов A.

  • Если A матрица, затем cumprod(A) возвращает матрицу, содержащую совокупные произведения для каждого столбца A.

  • Если A многомерный массив, затем cumprod(A) действия по первому неодноэлементному измерению.

пример

B = cumprod(A,dim) возвращает совокупное произведение по измерению dim. Например, если A матрица, затем cumprod(A,2) возвращает совокупное произведение каждой строки.

пример

B = cumprod(___,direction) опционально задает направление с помощью любого из предыдущих синтаксисов. Необходимо задать A, и опционально может задать dim. Например, cumprod(A,2,'reverse') возвращает совокупное произведение в строках A путем работы от конца до начала второго измерения.

пример

B = cumprod(___,nanflag) задает, включать ли или не использовать NaN значения от вычисления для любого из предыдущих синтаксисов. cumprod(A,'includenan') включает NaN значения в вычислении, в то время как cumprod(A,'omitnan') игнорирует их.

Примеры

свернуть все

Найдите совокупное произведение целых чисел от 1 к 5. Элемент B(2) продукт A(1) и A(2), в то время как B(5) продукт элементов A(1) через A(5).

A = 1:5;
B = cumprod(A)
B = 1×5

     1     2     6    24   120

Задайте 3х3 матрицу, элементы которой соответствуют своим линейным индексам.

A = [1 4 7; 2 5 8; 3 6 9]
A = 3×3

     1     4     7
     2     5     8
     3     6     9

Найдите совокупное произведение столбцов A. Элемент B(5) продукт A(4) и A(5), в то время как B(9) продукт A(7) , A(8), и A(9).

B = cumprod(A)
B = 3×3

     1     4     7
     2    20    56
     6   120   504

Задайте матрицу 2 на 3, элементы которой соответствуют своим линейным индексам.

A = [1 3 5; 2 4 6]
A = 2×3

     1     3     5
     2     4     6

Найдите совокупное произведение строк A. Элемент B(3) продукт A(1) и A(3), в то время как B(5) продукт A(1), A(3), и A(5).

B = cumprod(A,2)
B = 2×3

     1     3    15
     2     8    48

Создайте массив логических значений.

A = [true false true; true true false]
A = 2x3 logical array

   1   0   1
   1   1   0

Найдите совокупное произведение строк A.

B = cumprod(A,2)
B = 2×3

     1     0     0
     1     1     0

Выход имеет, вводят double.

class(B)
ans = 
'double'

Создайте 3х3 матрицу случайных целых чисел между 1 и 10.

rng default;
A = randi([1,10],3)
A = 3×3

     9    10     3
    10     7     6
     2     1    10

Вычислите совокупное произведение вдоль столбцов. Задайте 'reverse' опция, чтобы работать от нижней части до верхней части в каждом столбце. Результат одного размера с A.

B = cumprod(A,'reverse')
B = 3×3

   180    70   180
    20     7    60
     2     1    10

Создайте вектор, содержащий NaN значения и вычисляют совокупные произведения. По умолчанию, cumprod включает NaN значения. Когда вы включаете NaN значения в вычислении, совокупное произведение становится NaN как только первый NaN значение в A столкнут.

A = [1 3 NaN 2 4 NaN];
B = cumprod(A)
B = 1×6

     1     3   NaN   NaN   NaN   NaN

Проигнорируйте NaN значения в вычислении совокупного произведения с помощью 'omitnan' опция.

B = cumprod(A,'omitnan')
B = 1×6

     1     3     3     6    24    24

Входные параметры

свернуть все

Входной массив, заданный как векторный, матричный или многомерный массив.

Типы данных: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical
Поддержка комплексного числа: Да

Величина для работы, заданная как положительный целый скаляр. Если значение не задано, то по умолчанию это первый размер массива, не равный 1.

Рассмотрите двумерный входной массив, A.

  • cumprod(A,1) работает над последовательными элементами в столбцах A и возвращает совокупные произведения каждого столбца.

  • cumprod(A,2) работает над последовательными элементами в строках A и возвращает совокупные произведения каждой строки.

cumprod возвращает A если dim больше ndims(A).

Направление накопления в виде 'forward' (значение по умолчанию) или 'reverse'.

  • 'forward' работает от 1 к end из активной размерности.

  • 'reverse' работает от end к 1 из активной размерности.

NaN условие в виде одного из этих значений:

  • 'includenan' — Включайте NaN значения от входа при вычислении каждого продукта, приведении к NaN значения в выходе.

  • 'omitnan' — Проигнорируйте NaN значения во входе. Продукт элементов, содержащих NaN значения являются продуктом всего non-NaN элементы. Если всеми элементами является NaN, затем cumprod возвращается 1.

Выходные аргументы

свернуть все

Массив совокупного произведения, возвращенный как вектор, матрица или многомерный массив одного размера с входным массивом A.

Класс B совпадает с классом A кроме если A islogical, в этом случае B double.

Больше о

свернуть все

Первая неодноэлементная размерность

Первая неодноэлементная размерность является первой размерностью массива, размер которого не равен 1.

Например:

  • Если X вектор-строка 1 на n, затем второе измерение является первой неодноэлементной размерностью X.

  • Если X 1 0 n пустым массивом, затем второе измерение является первой неодноэлементной размерностью X.

  • Если X 1 1 3 массивами, затем третья размерность является первой неодноэлементной размерностью X.

Советы

  • Много кумулятивных функций в MATLAB® поддерживают 'reverse' опция. Эта опция позволяет быстрые направленные вычисления, не будучи нужен в щелчке или отражении входного массива.

Расширенные возможности

Смотрите также

| | | | |

Представлено до R2006a