2016-10-27 17 views
0

roundrandの関数を使用して、-2と5の範囲の乱数を生成しようとしています。私はランダムな整数を生成することができますが、常に負の値とゼロを返します。MATLABの負の範囲と正の範囲の間のランダムな整数の生成

round(rand(1)*-5) 
+0

"負の値とゼロを返します"。これは、0と1の間の数値に負の数を掛けているためです。出力は常に負になります。 – TroyHaskin

+0

どうすればいいですか? – PRCube

答えて

0

使用ランディ

r = randi([-2 5],1) 

rand

そして、あなたはこれをしたい場合にのみ、このお試しくださいrandround を使用して:HERESにも、それを行うための可能な方法をr = round(rand(1)*7 - 2);

0

を:

% generate 1000 random integers between -2 and 5 
R = ceil(rand(1000,1)*8)-3; 

% display MIN/MAX 
disp(min(R)); 
disp(max(R)); 
+0

これは@thomasが 'ceil'を使用しているので、因子を1だけ増やす必要があるので注意してください(7の代わりに8を使用しています)。 これはrand()が真の0または1を生成しないために有効です。それ以外の場合は真(0)が生成されます。 –

関連する問題