Main Content

La traducción de esta página aún no se ha actualizado a la versión más reciente. Haga clic aquí para ver la última versión en inglés.

cumsum

Descripción

ejemplo

B = cumsum(A) devuelve la suma acumulativa de A comenzando al principio de la primera dimensión del arreglo en A cuyo tamaño no es igual a 1.

  • Si A es un vector, cumsum(A) devuelve un vector que contiene la suma acumulativa de los elementos de A.

  • Si A es una matriz, cumsum(A) devuelve una matriz que contiene la suma acumulativa de cada columna de A.

  • Si A es un arreglo multidimensional, cumsum(A) actúa en la primera dimensión con más de un elemento.

ejemplo

B = cumsum(A,dim) devuelve la suma acumulativa de los elementos de la dimensión dim. Por ejemplo, si A es una matriz, cumsum(A,2) devuelve la suma acumulativa de cada fila.

ejemplo

B = cumsum(___,direction) especifica de manera opcional la dirección utilizando cualquiera de las sintaxis anteriores. Debe especificar A y, de manera opcional, puede especificar dim. Por ejemplo, cumsum(A,2,'reverse') devuelve la suma acumulativa dentro de las filas de A operando desde el final hasta el principio de la segunda dimensión.

ejemplo

B = cumsum(___,nanflag) especifica si incluir u omitir valores NaN en el cálculo de cualquiera de las sintaxis anteriores. cumsum(A,'includenan') incluye todos los valores NaN en el cálculo, mientras que cumsum(A,'omitnan') los ignora.

Ejemplos

contraer todo

Encuentre la suma acumulativa de los enteros desde 1 hasta 5. El elemento B(2) es la suma de A(1) y A(2), mientras que B(5) es la suma de los elementos A(1) a A(5).

A = 1:5;
B = cumsum(A)
B = 1×5

     1     3     6    10    15

Defina una matriz de 3 por 3 cuyos elementos se correspondan con sus índices lineales.

A = [1 4 7; 2 5 8; 3 6 9]
A = 3×3

     1     4     7
     2     5     8
     3     6     9

Encuentre la suma acumulativa de las columnas de A. El elemento B(5) es la suma de A(4) y A(5), mientras que B(9) es la suma de A(7), A(8) y A(9).

B = cumsum(A)
B = 3×3

     1     4     7
     3     9    15
     6    15    24

Defina una matriz de 2 por 3 cuyos elementos se correspondan con sus índices lineales.

A = [1 3 5; 2 4 6]
A = 2×3

     1     3     5
     2     4     6

Encuentre la suma acumulativa de las filas de A. El elemento B(3) es la suma de A(1) y A(3), mientras que B(5) es la suma de A(1), A(3) y A(5).

B = cumsum(A,2)
B = 2×3

     1     4     9
     2     6    12

Cree un arreglo de valores lógicos.

A = [true false true; true true false]
A = 2x3 logical array

   1   0   1
   1   1   0

Encuentre la suma acumulativa de las filas de A.

B = cumsum(A,2)
B = 2×3

     1     1     2
     1     2     2

La salida tiene el tipo double.

class(B)
ans = 
'double'

Cree una matriz de 3 por 3 de enteros aleatorios entre 1 y 10.

rng default;
A = randi([1,10],3)
A = 3×3

     9    10     3
    10     7     6
     2     1    10

Calcule la suma acumulativa de las filas. Especifique la opción 'reverse' para operar de derecha a izquierda en cada fila. El resultado tiene el mismo tamaño que A.

B = cumsum(A,2,'reverse')
B = 3×3

    22    13     3
    23    13     6
    13    11    10

Cree un vector que contenga valores NaN y calcule las sumas acumulativas. De forma predeterminada, cumsum incluye valores NaN. Cuando se incluyen valores NaN en el cálculo, la suma acumulativa se convierte en NaN tan pronto como se encuentra el primer valor NaN de A.

A = [3 5 NaN 9 0 NaN];
B = cumsum(A)
B = 1×6

     3     8   NaN   NaN   NaN   NaN

Puede ignorar los valores NaN en el cálculo de la suma acumulativa utilizando la opción 'omitnan'.

B = cumsum(A,'omitnan')
B = 1×6

     3     8     8    17    17    17

Argumentos de entrada

contraer todo

Arreglo de entrada, especificado como vector, matriz o arreglo multidimensional.

Tipos de datos: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | duration
Soporte de números complejos:

Dimensión en la que operar, especificada como escalar entero positivo. Si no especifica la dimensión, el valor predeterminado es la primera dimensión del arreglo de tamaño mayor que 1.

Considere un arreglo de entrada bidimensional, A:

  • cumsum(A,1) opera en elementos sucesivos de las columnas de A y devuelve las sumas acumulativas de cada columna.

  • cumsum(A,2) opera en elementos sucesivos de las filas de A y devuelve las sumas acumulativas de cada fila.

cumsum devuelve A si dim es mayor que ndims(A).

Dirección de la acumulación, especificada como 'forward' (predeterminado) o 'reverse'.

  • 'forward' opera desde 1 hasta end de la dimensión activa.

  • 'reverse' opera desde end hasta 1 de la dimensión activa.

Tipos de datos: char

Condición NaN, especificada como uno de los siguientes valores:

  • 'includenan': incluye los valores NaN de la entrada cuando se calculan las sumas acumulativas, lo que da como resultado valores NaN en la salida.

  • 'omitnan': ignora todos los valores NaN en la entrada. La suma de los elementos que contienen valores NaN es la suma de todos los elementos no NaN. Si todos los elementos son NaN, cumsum devuelve 0.

Tipos de datos: char

Argumentos de salida

contraer todo

Arreglo de suma acumulativa, devuelto como vector, matriz o arreglo multidimensional del mismo tamaño que el arreglo de entrada A.

La clase de B es la misma que la clase de A, salvo si A es logical, en cuyo caso B es double.

Más acerca de

contraer todo

Primera dimensión con más de un elemento

La primera dimensión con más de un elemento es la primera dimensión de un arreglo cuyo tamaño no es igual a 1.

Por ejemplo:

  • Si X es un vector fila de 1 por n, la segunda dimensión es la primera dimensión con más de un elemento de X.

  • Si X es un arreglo vacío de 1 por 0 por n, la segunda dimensión es la primera dimensión con más de un elemento de X.

  • Si X es un arreglo de 1 por 1 por 3, la tercera dimensión es la primera dimensión con más de un elemento de X.

Sugerencias

  • Muchas funciones acumulativas de MATLAB® son compatibles con la opción 'reverse'. Esta opción permite cálculos direccionales rápidos sin necesidad de invertir o reflejar el arreglo de entrada.

Capacidades ampliadas

Historial de versiones

Introducido antes de R2006a

Consulte también

| | | | | |