## Description

The colon is one of the most useful operators in MATLAB^{®}.
It can create vectors, subscript arrays, and specify `for`

iterations.

The colon operator uses the following rules to create regularly
spaced vectors for scalar values `i`

, `j`

,
and `k`

:

`j:k`
| is the same as `[j,j+1,j+2,...,j+m]` ,
where `m = fix(k-j)` . In the case where both `j` and `k` are
integers, this is simply `[j,j+1,...,k]` . This syntax
returns an empty matrix when `j > k` . |

`j:i:k`
| is the same as `[j,j+i,j+2i, ...,j+m*i]` ,
where `m = fix((k-j)/i)` . This syntax returns an
empty matrix when `i == 0` , `i > 0` and ```
j
> k
``` , or `i < 0` and ```
j <
k
``` . |

If `i`

, `j`

, or `k`

is
an empty input, then the colon operator returns an empty 1-by-0 matrix.
If you specify nonscalar arrays, MATLAB interprets `j:i:k`

as `j(1):i(1):k(1)`

.

You can use the colon to create a vector of indices to select
rows, columns, or elements of arrays, where:

`A(:,j)`
| is the `j` th column of `A` . |

`A(i,:)`
| is the `i` th row of `A` . |

`A(:,:)`
| is the equivalent two-dimensional array. For matrices
this is the same as `A` . |

`A(j:k)`
| is `A(j), A(j+1),...,A(k)` . |

`A(:,j:k)`
| is `A(:,j), A(:,j+1),...,A(:,k)` . |

`A(:,:,k)`
| is the `k` th page of three-dimensional
array `A` . |

`A(i,j,k,:)`
| is a vector in four-dimensional array `A` .
The vector includes `A(i,j,k,1)` , `A(i,j,k,2)` , `A(i,j,k,3)` ,
and so on. |

`A(:)`
| is all the elements of `A` , regarded
as a single column. On the left side of an assignment statement, `A(:)` fills `A` ,
preserving its shape from before. In this case, the right side must
contain the same number of elements as `A` . |

When you create a vector to index into a cell array or structure
array (such as `cellName`

{:}

or `structName`

(:).`fieldName`

), MATLAB returns
multiple outputs in a comma-separated list. For more information,
see How to Use the Comma-Separated Lists in the MATLAB Programming
Fundamentals documentation.

## Examples

Using the colon with integers,

results in

Using two colons to create a vector with arbitrary real increments
between the elements,

results in

E =
0 0.1000 0.2000 0.3000 0.4000 0.5000

The command

generates a three-dimensional array whose first page is all
zeros.

A(:,:,1) =
0 0 0
0 0 0
0 0 0
A(:,:,2) =
1 1 1
1 2 3
1 3 6

Using a colon with characters to iterate a for-loop,

results in