# loop over a list of numbers

4.472 views (last 30 days)
alpedhuez on 8 Apr 2018
Answered: Shivani Dixit on 1 Jun 2021
I would like to run a loop over a list of numbers like {3,6,18}. Please advise.

Star Strider on 8 Apr 2018
The loop, if one is appropriate, depends on what you want to do.
This is an example of how to address them:
numlist = {3,6,18};
for k1 = 1:length(numlist)
fprintf('Number at position %d = %6.2f\n', k1, numlist{k1})
end

for i = [3, 6,18]
%do something
end

Walter Roberson on 8 Apr 2018
for K=[3, 6,18]
Note: you will find that often you turn out to need a different structure,
kvals = [3,6,18];
numk = length(kvals);
results = zeros(1, numk);
for kidx = 1 : numk
K = kvals(kidx) ;
....
results(kidx) =....
end
You would need this kind of structure when you need one output for each of the different values.
alpedhuez on 12 Apr 2018
Thank you.

Shivani Dixit on 1 Jun 2021
For looping over each element of an array or list , you can use for loop or while loop according to convenience. Simply using a for loop would answer your question.
given_array=[3,6,18];
len =length(given_array)
for i=1:len
% some operation here or access the array elements using given_array(i)
end
You can leverage the documentation for loops using