如何在MATLAB中生成13到20之间的随机数?
答案 0 :(得分:56)
如果您正在寻找均匀分布的伪随机整数,请使用:
randi([13, 20])
答案 1 :(得分:8)
http://www.mathworks.com/help/techdoc/ref/rand.html
n = 13 + (rand(1) * 7);
答案 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)