Go back to initializing values using for loop when condition is not met
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Mounisha Ganesan
le 10 Juil 2019
Commenté : infinity
le 10 Juil 2019
I have a for loop where I initiialize random values to variables and I check for certain condition, if my condition is not met I have to reinitialize the values for the same iteration. How do I do so?
Here's a sample
n = 100;
for i = 1:n
x(i) = rand
y(i) = rand
if(x(i)< 0 || y(i)<0)
disp(' I need to reinitialize values for the same i and my n count should be 100')
end
end
So I have to run the loop until I reach my 'n' value and meet my conditions within the loop. Is there a way to do it or should I use different loop like while?
0 commentaires
Réponse acceptée
infinity
le 10 Juil 2019
Modifié(e) : infinity
le 10 Juil 2019
Hello,
There are several ways, one approach that you can use as follows
clear
n = 100;
x = zeros(1,n);
y = zeros(1,n);
for i = 1:n
xt = rand;
yt = rand;
while (xt*yt<0)
xt = rand;
yt = rand;
end
x(i) = xt;
y(i) = yt;
end
6 commentaires
infinity
le 10 Juil 2019
Hello,
I got your point. You can see my comment above, which is just modified.
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Loops and Conditional Statements 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!