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

时间:2011-02-22 11:57:07

标签: matlab random numbers integer

如何在MATLAB中生成13到20之间的随机数?

9 个答案:

答案 0 :(得分:56)

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

randi([13, 20])

答案 1 :(得分:8)

答案 2 :(得分:6)

r = 13 + 7.*rand(100,1);

其中100,1是所需矢量的大小

答案 3 :(得分:1)

ocw.mit.edu是一个很好的资源,帮助了我一大堆。 randi是最好的选择,但如果你的数字很有趣,可以尝试使用rand的floor函数来获得你想要的东西。

我画了一个数字线并想出了

floor(rand*8) + 13

答案 4 :(得分:0)

您也可以使用:

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

答案 5 :(得分:0)

从统一分布上生成值        区间[a,b]。

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

答案 6 :(得分:0)

如果您想要随机生成特定范围内的所有数字,那么您可以尝试 `r = randi([a b],1,d)

a =起点 b =终点 d =您想要生成多少个数字,但请记住d应小于或等于b-a

答案 7 :(得分:0)

最佳解决方案是randint,但是此函数会产生整数。

您可以将rand与舍入功能一起使用

  r = round(a + (b-a).*rand(m,n));

这将在a和b之间产生实数随机数,输出矩阵的大小为m * n

答案 8 :(得分:-1)

如果您需要13到20之间的浮动随机数

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

如果您需要13到20之间的整数随机数

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