# MATLAB - Colon Notation

The **colon(:)** is one of the most useful operator in MATLAB. It is used to create vectors, subscript arrays, and specify for iterations.

If you want to create a row vector, containing integers from 1 to 10, you write:

1:10

MATLAB executes the statement and returns a row vector containing the integers from 1 to 10:

ans = 1 2 3 4 5 6 7 8 9 10

If you want to specify an increment value other than one, for example:

100: -5: 50

MATLAB executes the statement and returns the following result:

ans = 100 95 90 85 80 75 70 65 60 55 50

Let us take another example:

0:pi/8:pi

MATLAB executes the statement and returns the following result:

ans = Columns 1 through 7 0 0.3927 0.7854 1.1781 1.5708 1.9635 2.3562 Columns 8 through 9 2.7489 3.1416

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

The following table describes its use for this purpose (let us have a matrix A):

Format | Purpose |
---|---|

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

A(i,:) | is the ith 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. |

## Example

Create a script file and type the following code in it:

A = [1 2 3 4; 4 5 6 7; 7 8 9 10] A(:,2) % second column of A A(:,2:3) % second and third column of A A(2:3,2:3) % second and third rows and second and third columns

When you run the file, it displays the following result:

A = 1 2 3 4 4 5 6 7 7 8 9 10 ans = 2 5 8 ans = 2 3 5 6 8 9 ans = 5 6 8 9