MATLAB Function Reference  colon (:)

Create vectors, array subscripting, and `for` loop iterations

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:

 `j:k` is the same as `[j,j+1,...,k]` `j:k` is empty if `j > k` `j:i:k` is the same as `[j,j+i,j+2i, ...,k]` `j:i:k` is empty if `i == 0`, if `i > 0` and `j > k`, or if `i < 0` and `j < k`

where `i`, `j`, and `k` are all scalars.

Below are the definitions that govern the use of the colon to pick out selected rows, columns, and elements of vectors, matrices, and higher-dimensional arrays:

 `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`.

Examples

Using the colon with integers,

• ```D = 1:4
```

results in

• ```D =
1    2    3    4
```

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

• ```E = 0:.1:.5
```

results in

• ```E =
0    0.1000    0.2000    0.3000    0.4000    0.5000
```

The command

• ```A(:,:,2) = pascal(3)
```

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
```

See Also

`for`, `linspace`, `logspace`, `reshape` Special Characters [ ] ( ) {} = ' . ... , ; : % ! @ addtodate © 1994-2005 The MathWorks, Inc.