# Loops

## While

While loops are used to repeatedly execute a statement as long as the underlying expression stays true.

define variable;
while (expression)
statement;
increment;
end

Here we are using the following code:

x = 1;
while (x <= 5)
fprintf('The value of x is %i\n', x);
x = x + 1;
end

This gives a result in the command window of:

The value of x is 1
The value of x is 2
The value of x is 3
The value of x is 4
The value of x is 5

N.B. The %i means that the number should be an integer and \n signifies a linebreak. On the otherhand, the , x determines which variable this applies to. This is not specific to the while loop and is not needed for mathematical operations.

## For

For loops are used execute a statement for a set number of times. As such, unlike the while loop, the variable should not be pre-defined and no increment is needed

for (variable = [lower limit:increment:upper limit])
statement;
end

Here we are using the following code:

for (x = [1:1:5])
fprintf('The value of x is %i\n', x);
end

This gives a result in the command window of:

The value of x is 1
The value of x is 2
The value of x is 3
The value of x is 4
The value of x is 5

## Nested

Nested loops are just a combination of multiple loops contained within one another.

They do not follow a particular format since they can come in various forms. As such the following code is only an example of a nested loop which also uses the 'if function' designed to print all prime numbers between 1 and 20:

for (x = [2:1:20])
for (y = [2:1:20])
if (~mod(x,y))
break
end
end
if (y > (x/y))
fprintf('%i is a prime number\n', x);
end
end

This gives a result in the command window of:

2 is a prime number
3 is a prime number
5 is a prime number
7 is a prime number
11 is a prime number
13 is a prime number
17 is a prime number
19 is a prime number