loop over a list of numbers

2.008 visualizzazioni (ultimi 30 giorni)
alpedhuez
alpedhuez il 8 Apr 2018
I would like to run a loop over a list of numbers like {3,6,18}. Please advise.

Risposta accettata

Star Strider
Star Strider il 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

Più risposte (3)

Muhammad Asad
Muhammad Asad il 21 Dic 2018
for i = [3, 6,18]
%do something
end
  1 Commento
Raphaël Nussbaumer
Raphaël Nussbaumer il 29 Set 2023
Modificato: Raphaël Nussbaumer il 29 Set 2023
Just a note for those of you that make the same mistake. the list needs to be row vector and it doesn't work with column vector such as:
for i = [3, 6,18]'
%do something
end

Accedi per commentare.


Walter Roberson
Walter Roberson il 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.

Shivani Dixit
Shivani Dixit il 1 Giu 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

Categorie

Scopri di più su Loops and Conditional Statements in Help Center e File Exchange

Tag

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by