Documentation Center

  • Trial Software
  • Product Updates

for

Execute statements specified number of times

Syntax

for index = values
   program statements
          :
end

Description

for index=values, program statements, end repeatedly executes one or more MATLAB® statements in a loop. values has one of the following forms:

initval:endval

increments the index variable from initval to endval by 1, and repeats execution of program statements until index is greater than endval.

initval:step:endval

increments index by the value step on each iteration, or decrements when step is negative.

valArray

creates a column vector index from subsequent columns of array valArray on each iteration. For example, on the first iteration, index = valArray(:,1). The loop executes for a maximum of n times, where n is the number of columns of valArray, given by numel(valArray, 1, :). The input valArray can be of any MATLAB data type, including a string, cell array, or struct.

Examples

Create a Hilbert matrix using nested for loops:

k = 10;
hilbert = zeros(k,k);      % Preallocate matrix

for m = 1:k
    for n = 1:k
        hilbert(m,n) = 1/(m+n -1);
    end
end
 

Step by increments of -0.1, and display the step values:

for s = 1.0: -0.1: 0.0
   disp(s)
end
 

Execute statements for a defined set of index values:

for s = [1,5,8,17]
   disp(s)
end
 

Successively set e to unit vectors:

for e = eye(5)
  disp('Current value of e:')
  disp(e)
end

More About

expand all

Tips

  • To force an immediate exit of the loop, use a break or return statement. To skip the rest of the instructions in the loop, increment the loop counter, and begin the next iteration, use a continue statement.

  • Avoid assigning a value to the index variable within the body of a loop. The for statement overrides any changes made to the index within the loop.

  • To iterate over the values of a single column vector, first transpose it to create a row vector.

See Also

| | | | | | |

Was this topic helpful?