The for loop is one way to repeat a series of computations using different values. The for loop has the following syntax:
for d = array
% Command 1
% Command 2
% and so on
end
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 commands (Command 1, Command 2, and so on) 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 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
% Command 1
% Command 2
% and so on
end
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 commands inside the for loop are indented relative to the for and end statements. This is not required, but is common practice and makes the code much more readable.
The flow of control through a for loop is represented by the flow chart in Figure 1. This flow chart graphically shows how the sequence of commands in the for loop is executed once for each value. The flow of control through the for loop is also represented by the pseudo code in Figure 2; note that the pseudo code looks very similar to the actual m-file code.
|
|
A useful type of for loop is one that steps a counter variable from 1 to some upper value:
for j = 1:10
% Commands
end
% Store the results of this loop computation in the vector v
for j = 1:10
% Commands
% More 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 the 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 commands for each combination of d and c:
for d=1:0.05:2
for c=5:0.1:6
% Commands
end
end





