## Definition of Nested Loop in Matlab

Nested Loop is a compound statement in Matlab where we can place a loop inside the body of another loop which nested form of conditional statements. As you have known that, Matlab allows you to combine some compound statements like IF, FOR & WHILE inside other compound loops. This nesting loop is called a nested loop in Matlab. You should note that you can put one type of loop inside another type of loop.

Generally, a loop is a repetitive code part that efficiently allows you to execute the conditional statements a specific number of times you need. Thus, a Nested Loop defines a concept to use an inner loop within the body of the outer loop in the code statements. When executed the loop gets triggered passes to the outer loop then the inner again. This process continues until the outer loop fulfills the condition and this is interrupted by the break statement which further proceeds to provide the required result.

**Syntax:**

Following is the syntax of the nested loop in Matlab with ‘For’ loop statement:

`for m = 1:i`

for n = 1:i

[statements]
end

end

Here ‘I’ represents the number of loops you want, to run in the nested loop and the statements define the condition or numeric expression of the code. Also, the nested loop for WHILE loop statement in Matlab:

```
while [expressions1]
while [expressions]
statements
```

end

end

### Flowchart

The following figure defines the flow chart for Nested Loop in Matlab:

4.5 (4,418 ratings)

View Course

### How Nested Loop Works in Matlab?

As per the above syntax, the following is an example of a nested loop in Matlab.

`a = 0;`

for m = 1:5

for n = 1:5

a = a+m+n;

end

end

But when we look at the above loop structure in Mathematics term then, it seems that we are calculating the sum as _{m=1}∑^{5} _{n=1}∑^{5 }(m + n). This can be calculated to give the below result:

As we have taken i=5, then

`i`

^{2}(i + 1 ) = 5^{2 }* 6 = 150

This is what you get in MATLAB:

`a = 0;`

for m = 1:5

for n = 1:5

a = a + m + n; >>>>>150

end

end

### How to EXIT a Nested FOR Loop?

Inappropriately, there is no smart method in my knowledge to exit every nested loop and run the remaining code part. Generally, we need to echo the condition each time to exit the FOR loop. You can view the following syntax:

`for m = 1:i`

for n = 1:i

[conditional statements]
if conditionforbreak

break

end

end

if conditionforbreak

break

end

end

Suppose if we take the previous example to implement break to exit the loop, then we will get:

`a = 0;`

for m = 1:5

for n = 1:5

a = a+m+n;

conditionforbreak = a>100;

if conditionforbreak

break

end

end

if conditionforbreak

end

end

This provides the below result in Matlab:

If a = 109 or greater value than 100 then it will put a break and exit the loop. Note that ‘a’ does not repeat in a single increase, so it assures that the next repeat of ‘a’ is not 101.

### Examples of Nested Loop in Matlab

For example to use the nested loop we can write the following code to show all the prime numbers from 1 to 50. We need to create a script file and code the following nested loop statements.

`for m=2:50`

for n=2:50

if (~mod(m,n))

break;

end

end

if(m>(m/n))

fprintf(‘%d is prime \n’, m);

end

end

When you execute the above file you will get the result below:

**Output:**

Here, in Matlab, we can execute the code inside the iterative statements. In this code, we have nested the IF loop in the body of the statement. We can continue this as many times as required. Likewise, we can nest FOR loop inside other FOR loops and the WHILE loop can also be executed in the form of a nested loop to write the statements.

% to create a multiplication table and the result is saved as X.

`rows 1:10`

cols 1:10

for a = rows

for b = cols

A(a,c) = a*b;

end

end

We need to remember that along with any statement that is put in an inner FOR loop, a nested FOR loop is run once for each value of the surrounding loop. Talking about the above code script, the outside loop i.e. the loop for ‘a = rows’ is executed 10 times every time for each value of a. On the other hand, every time the inside loop i.e. the loop for ‘b = cols’ modifies 10 different entries, one with respect to each value of ‘b’ in the X matrix. Finally, we will get the output of total 100 i.e. ‘=10*10’ entries or values in table X which is updated.

#### Indentation

Reliable use of indentation allows creating a readable code especially while using nested IF and FOR loops together. We can use the smart Indent feature provided by MATLAB editor so that we can confirm the code added is valid for the nested loop statement, like using (TEXT ->SMART INDENT). If the indentation is not proper then, it may hide any errors or problems.

#### Avoid or Stop a Nested Loop with A Break Statement

A BREAK statement provides logical output only inside a loop. We should also understand to know the BREAK statement is used only with the innermost loop that encloses a BREAK statement. In Matlab, there are several ways of creating a FOR loop. Let us discuss a simple syntax with an example to write the loop:

`for j = 1:k % k is the number of loops that we want`

conditions; % the condition to be fulfilled for loop to execute it

end

Now let us create the loop:

`for j = 1:5`

j

end

**Output:**

### Conclusion

Hence, the Nested Loop is a control structure that helps to iterate a given section of the loop statement until it meets a satisfying condition and then it terminates. You need to write the loops as scripts and not directly to the command window like locating the button in the upper left corner from the NEW Script option. In this article hope you might have learned some new concepts regarding the Nested loop in MATLAB.

### Recommended Articles

This is a guide to Nested Loop in Matlab. Here we discuss the definition and how nested loop works in Matlab along with flowchart and examples. You may also look at the following articles to learn more –