# Documentation

### This is machine translation

Translated by
Mouse over text to see original. Click the button below to return to the English verison of the page.

# sum

Sum of array elements

## Syntax

• ``S = sum(A)``
example
• ``S = sum(A,dim)``
example
• ``S = sum(___,outtype)``
example
• ``S = sum(___,nanflag)``
example

## Description

example

````S = sum(A)` returns the sum of the elements of A along the first array dimension whose size does not equal 1.If `A` is a vector, then `sum(A)` returns the sum of the elements.If `A` is a matrix, then `sum(A)` returns a row vector containing the sum of each column.If `A` is a multidimensional array, then `sum(A)` operates along the first array dimension whose size does not equal 1, treating the elements as vectors. This dimension becomes `1` while the sizes of all other dimensions remain the same.```

example

````S = sum(A,dim)` returns the sum along dimension `dim`. For example, if `A` is a matrix, then `sum(A,2)` is a column vector containing the sum of each row.```

example

````S = sum(___,outtype)` returns the sum with a specified data type, using any of the input arguments in the previous syntaxes. `outtype` can be `'default'`, `'double'`, or `'native'`.```

example

````S = sum(___,nanflag)` specifies whether to include or omit `NaN` values from the calculation for any of the previous syntaxes. `sum(A,'includenan')` includes all `NaN` values in the calculation while `sum(A,'omitnan')` ignores them.```

## Examples

collapse all

Create a vector and compute the sum of its elements.

```A = 1:10; S = sum(A) ```
```S = 55 ```

Create a matrix and compute the sum of the elements in each column.

```A = [1 3 2; 4 2 5; 6 1 4] ```
```A = 1 3 2 4 2 5 6 1 4 ```
```S = sum(A) ```
```S = 11 6 11 ```

Create a matrix and compute the sum of the elements in each row.

```A = [1 3 2; 4 2 5; 6 1 4] ```
```A = 1 3 2 4 2 5 6 1 4 ```
```S = sum(A,2) ```
```S = 6 11 11 ```

Create a 4-by-2-by-3 array of ones and compute the sum along the third dimension.

```A = ones(4,2,3); S = sum(A,3) ```
```S = 3 3 3 3 3 3 3 3 ```

Create a vector of 32-bit integers and compute the `int32` sum of its elements by specifying the output type as `native`.

```A = int32(1:10); S = sum(A,'native') ```
```S = int32 55 ```

The result is also a 32-bit integer.

```class(A) ```
```ans = int32 ```

Create a vector and compute its sum, excluding `NaN` values.

```A = [1.77 -0.005 3.98 -2.95 NaN 0.34 NaN 0.19]; S = sum(A,'omitnan') ```
```S = 3.3250 ```

If you do not specify `'omitnan'`, then `sum(A)` returns `NaN`.

## Input Arguments

collapse all

Input array, specified as a vector, matrix, or multidimensional array.

• If `A` is a scalar, then `sum(A)` returns `A`.

• If `A` is an empty 0-by-0 matrix, then `sum(A)` returns `0`.

Data Types: `single` | `double` | `int8` | `int16` | `int32` | `int64` | `uint8` | `uint16` | `uint32` | `uint64` | `logical` | `char` | `duration`
Complex Number Support: Yes

Dimension to operate along, specified as a positive integer scalar. If no value is specified, then the default is the first array dimension whose size does not equal 1.

Dimension `dim` indicates the dimension whose length reduces to 1. The `size(S,dim)` is `1`, while the sizes of all other dimensions remain the same.

Consider a two-dimensional input array, `A`:

• `sum(A,1)` operates on successive elements in the columns of `A` and returns a row vector of the sums of each column.

• `sum(A,2)` operates on successive elements in the rows of `A` and returns a column vector of the sums of each row.

`sum` returns `A` when `dim` is greater than `ndims(A)` or when `size(A,dim)` is `1`.

Data Types: `double` | `single` | `int8` | `int16` | `int32` | `int64` | `uint8` | `uint16` | `uint32` | `uint64`

Output data type, specified as `'default'`, `'double'`, or `'native'`. These options also specify the data type in which the operation is performed.

`outtype`Output data type
`'default'``double`, unless the input data type is `single` or `duration`, in which case, the output is `'native'`
`'double'``double`, unless the data type is `duration`, in which case, `'double'` is not supported
`'native'`same data type as the input, unless the input data type is `char`, in which case, `'native'` is not supported

Data Types: `char`

`NaN` condition, specified as one of these values:

• `'includenan'` — Include `NaN` values when computing the sum, resulting in `NaN`.

• `'omitnan'` — Ignore all `NaN` values in the input.

Data Types: `char`

collapse all

### Tall Array Support

This function fully supports tall arrays. For more information, see Tall Arrays.