This is machine translation

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

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

colon, :

Create vectors, array subscripting, and for-loop iterators


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:


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.


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:


is the jth column of A.


is the ith row of A.


is the equivalent two-dimensional array. For matrices this is the same as A.


is A(j), A(j+1),...,A(k).


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


is the kth page of three-dimensional array A.


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.


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.


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

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

for x='a':'d',x,end

results in

x = 
x = 
x = 
x = 
Was this topic helpful?