# size

Array dimensions

## Syntax

`d = size(X)[m,n] = size(X)m = size(X,dim)[d1,d2,d3,...,dn] = size(X),`

## Description

`d = size(X)` returns the sizes of each dimension of array `X` in a vector, `d`, with `ndims(X)` elements.

• If `X` is a scalar, then `size(X)` returns the vector `[1 1]`. Scalars are regarded as a 1-by-1 arrays in MATLAB®.

• If `X` is a table, `size(X)` returns a two-element row vector consisting of the number of rows and the number of variables in the table. Variables in the table can have multiple columns, but `size` only counts the variables and rows.

`[m,n] = size(X)` returns the size of matrix `X` in separate variables `m` and `n`.

`m = size(X,dim)` returns the size of the dimension of `X` specified by scalar `dim`.

`[d1,d2,d3,...,dn] = size(X),` for `n` > 1, returns the sizes of the dimensions of the array `X` in the variables d1,d2,d3,...,dn, provided the number of output arguments `n` equals `ndims(X)`. If `n` does not equal `ndims(X)`, the following exceptions hold:

 `n < ndims(X)` `di` equals the size of the `i`th dimension of `X` for `0 ndims(X)` `size` returns ones in the "extra" variables, that is, those corresponding to `ndims(X)+1` through `n`.

 Note   For a Java array, `size` returns the length of the Java array as the number of rows. The number of columns is always 1. For a Java array of arrays, the result describes only the top level array.

## Examples

collapse all

### Size of Dimensions in 3-D Array

Find the size of `rand(2,3,4)`.

`d = size(rand(2,3,4))`
```d = 2 3 4```

The size is output as a single vector.

Find the size of the second dimension of `rand(2,3,4)`.

`m = size(rand(2,3,4),2)`
```m = 3```

The size is output as a scalar.

Assign the size of each dimension to a separate variable.

`[m,n,p] = size(rand(2,3,4))`
```m = 2 n = 3 p = 4```

### Size of Table

Create a table with four variables listing patient information for five people.

```LastName = {'Smith';'Johnson';'Williams';'Jones';'Brown'}; Age = [38;43;38;40;49]; Height = [71;69;64;67;64]; Weight = [176;163;131;133;119]; BloodPressure = [124 93; 109 77; 125 83; 117 75; 122 80]; X = table(Age,Height,Weight,BloodPressure,'RowNames',LastName)```
```X = Age Height Weight BloodPressure --- ------ ------ --------------- Smith 38 71 176 124 93 Johnson 43 69 163 109 77 Williams 38 64 131 125 83 Jones 40 67 133 117 75 Brown 49 64 119 122 80 ```

Find the size of the table.

`d = size(X)`
```d = 5 4 ```

`size` counts four variables, even though the variable `BloodPressure` contains two columns.

### Specify Different Number of Outputs than `ndims(X)`

Assign the size of each dimension to a separate variable where the number of outputs matches the number of dimensions.

```X = ones(3,4,5); [d1,d2,d3] = size(X)```
```d1 = 3 d2 = 4 d3 = 5```

There is one output for each dimension of `X`.

Specify fewer output variables than `ndims(X)`.

`[d1,d2] = size(X)`
```d1 = 3 d2 = 20```

The "extra" dimensions are collapsed into a single product.

Specify more output variables than `ndims(X)`.

`[d1,d2,d3,d4,d5,d6] = size(X)`
```d1 = 3 d2 = 4 d3 = 5 d4 = 1 d5 = 1 d6 = 1 ```

The "extra" variables all represent singleton dimensions.