Problem using for loop
Afficher commentaires plus anciens
Hi, I need to do something like this:
a=[1 2 3 4 5 6 7 8 9 10];
for i=1:lenght(a)
for ii=i-2:i+2
x=a(ii);
end
end
I found a solution doing something like this:
a=[1 2 3 4 5 6 7 8 9 10];
for i=1:lenght(a)
if i==1
elseif i==2
elseif i=>3&&i<length(a)-2
elseif i==9
elseif i==10
end
end
I need to do the iteration only in the range +- 2 of i.The problem is that a(-1) ,a(0),a(11) and a(12) doesn't exist . . Is there any simple way to solve that problem without using the if conditions?
2 commentaires
JESUS DAVID ARIZA ROYETH
le 10 Fév 2020
qué quieres hacer específicamente?
what do you want to do specifically?
Juan Ruiz Osorio
le 12 Fév 2020
Réponse acceptée
Plus de réponses (1)
Akira Agata
le 10 Fév 2020
How about limiting the loop from 3 to length(a)-2, like the following?
Also, if your calculation process in the inner loop can be re-written without using for-loop, I would strongly recommend doing so.
for k = 3:lenght(a)-2
for kk = k-2:k+2
% Your calculation process
end
end
1 commentaire
Juan Ruiz Osorio
le 12 Fév 2020
Catégories
En savoir plus sur Startup and Shutdown dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!