La suma acumulada de una secuencia es una suma acumulada o sumas parciales de una secuencia.
Las sumas acumulativas de la secuencia {a,b,c,…}, son a, a+b, a+b+c, ….
MATLAB nos permite calcular la suma acumulativa de una array vectorial utilizando el método cumsum() . Las diferentes sintaxis del método cumsum() son:
- B = suma acumulada (A)
- B = suma acumulada (A, dim)
- B = cumsum(___,dirección)
- B = suma acumulada (___, nanflag)
Analicemos la sintaxis anterior en detalle:
cumsum(A)
- El método devuelve la suma acumulativa de A comenzando al principio de la array A.
- Si A es un vector , entonces devuelve la suma acumulada de la secuencia A
- Si A es una array , entonces devuelve la suma acumulada a lo largo de cada columna de A.
Ejemplo 1:
Matlab
% Input vector A = 2:8; B = cumsum(A); % Displays cumulative sums % 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 = cumsum(A); % Display cumulative sum of matrix A disp("Cumulative sum :") disp(B)
Producción :
cumsum(A, tenue)
- Devuelve la suma acumulada 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 sum along each % row from left to right B = cumsum(A,2); disp("Cumulative sum :") disp(B)
Producción :
cumsum(___,dirección)
- Devuelve la suma acumulativa 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’ , entonces calcula la suma acumulada al revés, es decir, si estamos considerando la array a lo largo de cada columna , entonces devuelve la suma acumulada comenzando de abajo hacia arriba en cada columna .
Matlab
% input matrix A = [1 3 5; 2 4 6]; disp("Matrix :") disp(A) % Cumulative sum of A along each % row starting from right to left B = cumsum(A,2,'reverse'); disp("Cumulative sum :") disp(B)
Producción :
cumsum(___,bandera)
- El valor de nanflag decide si incluir o excluir el valor NaN del vector en la suma acumulativa 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 0 .
Nota: NaN + número = NaN
Matlab
% Input vector A = [3 5 NaN 9 0 NaN]; disp("Vector :"); disp(A); % Including NaN values B = cumsum(A,'includenan'); disp("Cumulative sum Include NaN :"); disp(B); % Excluding NaN values B = cumsum(A,'omitnan'); disp("Cumulative sum 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