如何在特定范围内生成randon(介于0和1之间)

时间:2017-05-26 03:01:37

标签: matlab

我需要使用MATLAB的函数rand在0和1之间生成50,000个均匀随机数。我做的是

r = randi([0 1],1,50000)
histogram(r);

而不是0到1之间的数字,例如0.5,0.3,我只得到0和1.这样做的正确方法是什么?我在网上查了一下,但找不到任何有用的东西。

3 个答案:

答案 0 :(得分:0)

randi生成一个随机整数。使用rand()(0, 1)区间内生成随机数。对于其他范围,您可以使用以下方法之一:

  • 生成范围为[A B]randi
  • 的随机整数
  • 使用rand()生成随机数,并通过相乘将其缩放到所需范围;这将包括整个范围内的小数。

查看MATLAB's documentation on randoms

答案 1 :(得分:0)

试试这个,

xmin = 0
xmax = 1
n = 50000
r = xmin+rand(1,n)*(xmax-xmin);

答案 2 :(得分:0)

这应该可以解决问题:

r = rand(50000,1);
histogram(r);