如何在0.xyz和0.abc之间生成一个随机数?

时间:2015-02-17 05:39:55

标签: matlab random

在MATLAB中,rand可用于生成0到1之间的随机数。我可以将其缩放到0.01到0.02之间,如下所示:

c=rand;
c=c*0.01+0.01;

在[{1}}和0.xyz的区间内,是否有更好的方法来生成随机数?

1 个答案:

答案 0 :(得分:3)

这不是生成限制在某个范围内的随机数的最佳方法。假设0.abc > 0.xyz,您只需执行:

c = (n - m)*rand(N,1) + m;

首先,您会在N之间生成[0, n - m]个随机数,这是上述语句的第一部分所做的,然后添加m,这将转换您的范围值为[m, n]。对于您的情况,m = 0.xyzn = 0.abc