Suma acumulativa en MATLAB

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *