# How do I create a for loop in MATLAB?

8.506 views (last 30 days)

Show older comments

pedro marin
on 5 Mar 2012

Commented: Walter Roberson
on 11 Jan 2023

### Accepted Answer

Walter Roberson
on 5 Mar 2012

Edited: MathWorks Support Team
on 9 Nov 2018

A basic for loop in MATLAB is often used to assign to or access array elements iteratively. For example, let’s say you have a vector A, and you want to simply display each value one at a time:

A = [3 6 9 4 1];

for i = 1:length(A)

disp(A(i))

end

For more examples using for loops, see:

##### 5 Comments

Walter Roberson
on 21 Sep 2022

Edited: Walter Roberson
on 21 Sep 2022

A = randi([0 9], 1, 20)

%then output in groups of 5 in vectorized form

reshape(A, 5, []).'

%or if you need a for loop

for K = 1 : 5 : numel(A); disp(A(K:K+4)); end

Matters get more complicated if the number of entries in the array is not a multiple of the number of columns you want to use. For example,

A = randi([0 9], 1, 23)

for K = 1 : 5 : numel(A); disp(A(K : min(end,K+4))); end

### More Answers (7)

Jan
on 5 Mar 2012

You can get help from the documentation of Matlab:

doc for

help for

There you find examples and explanations.

##### 1 Comment

Jan Afridi
on 29 Sep 2017

For loop repeat itself for a given number of input. The syntax for “For Loop Matlab” is

for variable = expression

Program Statement

end

In the above syntax, the expression has one of the following forms.

Initial value : Final value

for x = 1:10

fprintf('value of x: %d\n', x);

end

Initial value : Step : Final value

for x = 1:2:10

fprintf('value of x: %d\n', x);

end

Value Array

for x = [1 4 6 8 90]

disp(x)

end

##### 0 Comments

mohamed mohamed
on 6 Feb 2021

Edited: Walter Roberson
on 31 Jul 2021

for x = 1:10

fprintf('value of x: %d\n', x);

end

##### 0 Comments

Narasimman P
on 30 Jul 2021

for a=1:10

end

##### 2 Comments

Walter Roberson
on 17 Nov 2021

The code posted by @Narasimman P is a completely valid for loop, just one that does not do anything inside the loop. All it does is count from 1 to 10 internally. After the loop, two things will have changed:

- Time will have elapsed, which could be important if you are waiting for something to happen
- The loop control variable 'a' will have the same value as it was last assigned, so in this case after the loop 'a' will have the double precision value 10 .

disp('before')

whos

disp('starting loop')

for a=1:10

end

disp('after')

whos

So there has been output: the variable a did not exist before, and after the loop it does exist.

Manan Shah
on 8 May 2022

Edited: Torsten
on 8 May 2022

for i = 0:8 ;

a = pow10 (i);

disp a(i);

end

##### 1 Comment

Walter Roberson
on 8 May 2022

disp a(i)

would mean the same thing as

disp('a(i)')

You probably want

disp(a(i))

Iosif
on 13 Nov 2022

Edited: Iosif
on 13 Nov 2022

D=input ('Βαθος νερου σε m ')

W=input ('Βαρος ανα μοναδα μηκους της γραμμης αγκυρωσης στο νερο σε N/m ')

Hex=input ('εξωτερικη φορτηση σε kn ')

dx=input ('οριζοντια μετατοπιση σε m ')

if dx/D>=0.3 && dx/D<=0.6

else

disp ('Δωσε διαφορετικη τιμη για το dx')

dx=input ('οριζοντια μετατοπιση σε m ')

end

I want to make my programm go to if after else and run that lines again until if line is satisfied

##### 1 Comment

Walter Roberson
on 15 Nov 2022

while ~isnumeric(dx) || ~isscalar(dx) || dx/D<0.3 || dx/D>0.6

disp ('Δωσε διαφορετικη τιμη για το dx')

dx=input ('οριζοντια μετατοπιση σε m ')

end

Kartick
on 11 Jan 2023

Edited: Kartick
on 11 Jan 2023

There are 4 type of loops: while, for, if and case.

For loop :

Eg: you have your robot whom you wish to give command to walk 100steps. The command will be

for steps=1:100

end

disp(steps)

The robot will go 100steps and stop and output will be displayed as 100 after completion.

For loop is used to solve many mathematical problems like factorials etc.

##### 1 Comment

Walter Roberson
on 11 Jan 2023

Computer Scientists use the term "control statement" for code structures that will execute selectively exactly zero or one time. Computer Scientists use the term "loop" for code structures that have the potential to execute more than one time. "if" and "case" are control structures but are not loops.

If you imagine the execution point as starting from the "top" and falling downward, then "if" and "case" only ever have the execution point continuing to fall downwards, whereas "for" and "while" in general require pumping the execution point back up again.

### See Also

### Categories

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!