Loop / Repeat if random number = 0

1 view (last 30 days)
Mark
Mark on 12 Jun 2012
I have good and fun code and it is working very well.
However, I am getting an error when I get zero (0) from my "random integer generator":
n=round(200.*rand)
Is there any way I can tell the script to rerun the calculation for n, if n=zero? I am unable to change the variable n, and despite the low chance of getting two n=0 I want to "reroll" until n is definitely not equal to zero. Any idea how to do this?

Accepted Answer

Kye Taylor
Kye Taylor on 12 Jun 2012
Try
n = round(200*rand);
while (n == 0)
n = round(200*rand);
end
Or, even better,
n = randi(200); % generates random integer between 1 and 200
  1 Comment
Greg Heath
Greg Heath on 12 Jun 2012
n = 1+round(199*rand)
Greg

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!