Connexions

You are here: Home » Content » Programming in MATLAB-For Loops
Content Actions

Programming in MATLAB-For Loops

Module by: Darryl Morrell

Summary: This is a tutorial on using For Loops in MATLAB.

Note: You are viewing an old version of this document. The latest version is available here.

The For Loop

The for loop is one way to make MATLAB repeat a series of computations using different values. The for loop has the following syntax:
for d = array
    % MATLAB command 1
    % MATLAB command 2
    % and so on
end
In the for loop, array can be any vector or array of values. The for loop works like this: d is set to the first value in array, and the sequence of MATLAB commands in the body of the for loop is executed with this value of d. Then d is set to the second value in array, and the sequence of MATLAB commands in the body of the for loop is executed with this value of d. This process continues through all of the values in array. So a for loop that performs computations for values of d from 1.0 to 2.0 is:
for d = 1.0:0.05:2.0
    % MATLAB command 1
    % MATLAB command 2
    % and so on
end
(Recall that 1.0:0.05:2.0 creates a vector of values from 1.0 to 2.0.)
Note that in all of the examples in this module, the MATLAB commands inside the for loop are indented relative to the for and end statements. This is not required by MATLAB but is common practice and makes the code much more readable.
A useful type of for loop is one that steps a counter variable from 1 to some upper value:
for j = 1:10
    % MATLAB commands
end
For example, this type of loop can be used to compute a sequence of values that are stored in the elements of a vector. An example of this type of loop is
% Store the results of this loop computation in the vector v
for j = 1:10
    % MATLAB commands
    % More MATLAB commands to compute a complicated result
    v(j) = result;
end
Using a for loop to access and manipulate elements of a vector (as in this example) may be the most natural approach, particularly when one has previous experience with other programming languages such as C or Java. However, many problems can be solved without for loops by using MATLAB's built-in vector capabilities. Using these capabilities almost always improves computational speed and reduces the size of the program. Some would also claim that it is more elegant.
For loops can also contain other for loops. For example, the following code performs the MATLAB commands for each combination of d and c:
for d=1:0.05:2
    for c=5:0.1:6
        % MATLAB Commands
    end
end

Comments, questions, feedback, criticisms?

Send feedback