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 件のコメント

Jason
Jason 2011 年 8 月 15 日
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 2011 年 8 月 15 日
Now clear.

サインインしてコメントする。

 採用された回答

Oleg Komarov
Oleg Komarov 2011 年 8 月 15 日

1 投票

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.

1 件のコメント

Jason
Jason 2011 年 8 月 15 日
Perfect, thanks alot!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeRandom Number Generation についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by