How to cycle through elements in an array in Matlab
5 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Alif Aiman Ahmad Zukiman
le 19 Avr 2024
Commenté : Alif Aiman Ahmad Zukiman
le 19 Avr 2024
Hello there, I am trying to cycle through the elements in an array given a specified number of iterations. For other languages where the first element is 0, I can easily utilize the modulo command and so when the iteration is equal to the modulo it will evaluate to 0 and the array in question will start from the beginning again. However, with MATLAB, since the elements start with 1, I cannot utilize the same idea. How do I get around this? And very much possibly without the use of if else anywhere. Thank you!
0 commentaires
Réponse acceptée
the cyclist
le 19 Avr 2024
Modifié(e) : the cyclist
le 19 Avr 2024
You can utilize the same idea. Just offset by one inside outside mod():
A = [2 3 5 7];
% Illustrate the mod() cycle with offset
for iteration = 1:8
idx = mod(iteration-1,length(A))+1
end
% Index into the array
for iteration = 1:8
idx = mod(iteration-1,length(A))+1;
A(idx)
end
Plus de réponses (1)
Voss
le 19 Avr 2024
To account for indexing in MATLAB starting with 1, subtract 1 from the iteration number, perform mod(), then add 1 to the result.
idx = mod(iteration-1,N)+1;
That will give idx values starting with 1 when iteration is 1, and as iteration increases, idx increases to N and then repeats starting with 1 again when iteration is N+1, and so on.
Voir également
Catégories
En savoir plus sur Logical dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!