在MATLAB中生成一定范围内的随机数

我怎样才能产生一个13和20之间的MATLAB随机数?

如果你正在寻找均匀分布的伪随机整数,使用:

randi([13, 20]) 
 r = 13 + 7.*rand(100,1); 

其中100,1是所需vector的大小

ocw.mit.edu是帮助我的一个很好的资源。 兰迪是最好的select,但如果你的数字乐趣尝试使用兰特的地板function来得到你想要的。

我画了一个数字线,并提出了

 floor(rand*8) + 13 

你也可以使用:

 round(mod(rand.*max,max-1))+min 

从区间[a,b]的均匀分布生成值。

  r = a + (ba).*rand(100,1); 

如果你想随机产生一个特定的数字,那么你可以尝试`r = randi([ab],1,d)

a =开始点b =结束点d =您想要生成多less个数字,但请记住d应小于或等于ba

如果你需要一个浮动的随机数在13和20之间

 (20-13).*rand(1) + 13 

如果你需要一个13到20之间的整数随机数

 floor((20-13).*rand(1) + 13)