El producto acumulativo de una secuencia es un producto continuo o productos parciales de una secuencia
Los productos acumulativos de la secuencia {a,b,c,…}, son a, a*b, a*b*c, ….
Matlab nos permite calcular el producto acumulativo de una array vectorial utilizando el método cumprod() . Las diferentes sintaxis del método cumprod() son
- B = cumprod(A)
- B = cumprod(A,dim)
- B = cumsprod(___,dirección)
- B = cumprod(___,bandera nan)
Ahora discutiremos las sintaxis anteriores en detalle:
B = cumprod(A)
- El método devuelve el producto acumulativo de A comenzando al principio de la array A.
- Si A es un vector , entonces devuelve el producto acumulativo de la secuencia A
- Si A es una array , entonces devuelve el producto acumulado a lo largo de cada columna de A.
Ejemplo 1:
Matlab
% Input vector A = 2:8; B = cumprod(A); % Displays cumulative % products of A disp(B)
Producción :
Ejemplo 2:
Matlab
% Input matrix A = [1 4 7; 2 5 8; 3 6 9]; disp("Matrix :") disp(A) B = cumprod(A); % Display cumulative product of matrix A disp("Cumulative product :") disp(B)
Producción :
B = cumprod(A,dim)
- Devuelve el producto acumulado de la array A junto con cada dim .
- dim toma dos valores 1 o 2 .
- dim = 1 , se refiere a lo largo de cada columna .
- dim = 2 , se refiere a lo largo de cada fila .
Matlab
% input matrix A = [1 3 5; 2 4 6]; disp("Matrix :") disp(A) % Cumulative product along each % row from left to right B = cumprod(A,2); disp("Cumulative product :") disp(B);
Producción :
B = cumprod(___,dirección)
- Devuelve el producto acumulativo del vector o array de entrada en la dirección dada .
- dirección toma dos valores ‘adelante’ o ‘reversa’
- Si la dirección es ‘inversa’, calcula el producto acumulativo al revés, es decir, si estamos considerando la array a lo largo de cada columna, devuelve el producto acumulativo comenzando desde abajo hacia arriba en cada columna .
Matlab
% input matrix A = [1 3 5; 2 4 6]; disp("Matrix :") disp(A) % Cumulative product of A along each row % starting from right to left B = cumprod(A,2,'reverse'); disp("Cumulative product :") disp(B)
Producción :
B = cumprod(___,bandera nan)
- El valor de nanflag decide si incluir o excluir el valor NaN del vector en el producto acumulativo o no.
- nanflag toma dos valores ‘includenan’ u ‘omitnan’ que corresponde a incluir elementos NaN y excluir elementos NaN respectivamente.
- ‘omitNaN’ considera los valores de NaN como 1.
Nota: NaN * número = NaN
Matlab
% Input vector A = [3 5 NaN 9 0 NaN]; disp("Vector :"); disp(A); % Including NaN values B = cumprod(A,'includenan'); disp("Cumulative product Include NaN :"); disp(B); % Excluding NaN values B = cumprod(A,'omitnan'); disp("Cumulative product Exclude NaN :"); disp(B);
Producción :
Publicación traducida automáticamente
Artículo escrito por ManikantaBandla y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA