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 значения являются продуктом всего non-NaN элементы. Если всеми элементами является NaN, затем cumprod возвращается 1.

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

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

свернуть все

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

Больше о

свернуть все

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

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

Например:

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

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

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

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

| | | |

Введенный в R2013b
Для просмотра документации необходимо авторизоваться на сайте