exponenta event banner

cumprod

Символический совокупный продукт

Описание

пример

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

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

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

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

пример

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

пример

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

пример

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

Примеры

свернуть все

Создайте символический вектор. Найдите совокупный продукт его элементов.

syms x
A = (1:5)*x
A = (x2x3x4x5x)[x, 2*x, 3*x, 4*x, 5*x]

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

B = cumprod(A)
B = (x2x26x324x4120x5)[x, 2*x^2, 6*x^3, 24*x^4, 120*x^5]

Создание символьной матрицы 3 на 3 A все элементы которых x.

syms x
A = ones(3)*x
A = 

(xxxxxxxxx)[x, x, x; x, x, x; x, x, x]

Вычислить совокупное произведение элементов A. По умолчанию cumprod возвращает совокупное произведение каждого столбца.

B = cumprod(A)
B = 

(xxxx2x2x2x3x3x3)[x, x, x; x^2, x^2, x^2; x^3, x^3, x^3]

Чтобы вычислить совокупное произведение каждой строки, задайте значение dim опция для 2.

B = cumprod(A,2)
B = 

(xx2x3xx2x3xx2x3)[x, x^2, x^3; x, x^2, x^3; x, x^2, x^3]

Создайте символическое множество 3 на 3 на 2.

syms x y
A(:,:,1) = [x y 0; x 3 x*y; x 1/3 y];
A(:,:,2) = [x y 3; 3 x y; y 3 x];
A
A(:,:,1) = 

(xy0x3xyx13y)[x, y, sym(0); x, sym(3), x*y; x, sym(1/3), y]

A(:,:,2) = 

(xy33xyy3x)[x, y, sym(3); sym(3), x, y; y, sym(3), x]

Вычислите совокупный продукт вдоль строк, указав dim как 2. Укажите 'reverse' возможность работать справа налево в каждой строке. В результате получается тот же размер, что и A.

B = cumprod(A,2,'reverse')
B(:,:,1) = 

(0003x2y3xyxyxy3y3y)[sym(0), sym(0), sym(0); 3*x^2*y, 3*x*y, x*y; (x*y)/3, y/3, y]

B(:,:,2) = 

(3xy3y33xyxyy3xy3xx)[3*x*y, 3*y, sym(3); 3*x*y, x*y, y; 3*x*y, 3*x, x]

Чтобы вычислить совокупный продукт по третьему (страничному) измерению, укажите dim как 3. Укажите 'reverse' параметр для работы от индекса наибольшей страницы к индексу наименьшей страницы.

B = cumprod(A,3,'reverse')
B(:,:,1) = 

(x2y203x3xxy2xy1xy)[x^2, y^2, sym(0); 3*x, 3*x, x*y^2; x*y, sym(1), x*y]

B(:,:,2) = 

(xy33xyy3x)[x, y, sym(3); sym(3), x, y; y, sym(3), x]

Создание символьного вектора, содержащего NaN значения. Вычислите совокупные продукты.

A = [sym('a') sym('b') 1 NaN 2]
A = (ab1NaN2)[a, b, sym(1), sym(NaN), sym(2)]
B = cumprod(A)
B = (aababNaNNaN)[a, a*b, a*b, sym(NaN), sym(NaN)]

Можно игнорировать NaN значения в кумулятивном расчете продукта с использованием 'omitnan' вариант.

B = cumprod(A,'omitnan')
B = (aababab2ab)[a, a*b, a*b, a*b, 2*a*b]

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

свернуть все

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

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

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

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

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

cumprod прибыль A если dim больше, чем ndims(A).

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

  • 'forward' работы из 1 кому end активного измерения.

  • 'reverse' работы из end кому 1 активного измерения.

Типы данных: char

NaN условие, указанное как:

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

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

Типы данных: char

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

свернуть все

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

Подробнее

свернуть все

Первое измерение Nonsingleton

Первое несинглтоновое измерение - это первое измерение массива, размер которого не равен 1.

Например:

  • Если X является вектором строки 1 на n, затем второе измерение является первым несинглтонным измерением X.

  • Если X является пустым массивом 1-на-0-на-n, затем второе измерение является первым несинглтоновым измерением X.

  • Если X множество 1 на 1 на 3, тогда третье измерение - первое измерение неединичного предмета X.

См. также

| | | |

Представлен в R2013b