Question about random numbers and rejecting

Hi there, I'm new to matlab. I'm trying to make a function, where you input a,b, and c generates a random integer from a to b and the function rejects the c value. I tried
function r =randnum_reject(a,b,c)
r=randi([a,b]);
if r==c
?????
end
end
I don't know what to do after the if statement. Any help? Thanks EXAMPLE: Like say I type randnum_reject(1,10,2), and my function will output a random number from 1 to 10, but NOT 2.

2 Kommentare

Jason
Jason am 15 Aug. 2011
Like say I type randnum_reject(1,10,2), and my function will output a random number from 1 to 10, but NOT 2.
Oleg Komarov
Oleg Komarov am 15 Aug. 2011
Now clear.

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Oleg Komarov
Oleg Komarov am 15 Aug. 2011

1 Stimme

function r = randnum_reject(a,b,c)
% Rudimental check
if isequal(a,b,c)
return
end
r = c;
while r == c
r = randi([a b]);
end
end
You might wanna improve input checking to avoid:
randnum_reject(0,0,0)
which will get you into an infinite loop.

Weitere Antworten (0)

Kategorien

Mehr zu Random Number Generation finden Sie in Hilfe-Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by