【发布时间】:2016-04-25 16:58:07
【问题描述】:
如何生成介于 -0.01 和 0.01 之间的随机值?这不起作用:
rand()-(0.01);
我在互联网上找到的许多其他方法都不起作用。这似乎很容易,但我快要发疯了。
【问题讨论】:
标签: matlab random floating-point negative-number
如何生成介于 -0.01 和 0.01 之间的随机值?这不起作用:
rand()-(0.01);
我在互联网上找到的许多其他方法都不起作用。这似乎很容易,但我快要发疯了。
【问题讨论】:
标签: matlab random floating-point negative-number
(2*rand() - 1) / 100.0 应该可以完成这项工作。这是@Cebri 更一般性答案的一个特例。
rand(): [0, 1]2*rand(): [0, 2]2*rand()-1: [-1, 1](2*rand()-1)/100: [-0.01, 0.01]【讨论】:
一般情况下,可以在(a,b)区间内生成N个随机数 用公式:
r = a + (b-a).*rand(N,1)
在您的特定情况下,如果您希望在间隔 (-0.01, 0.01) 中生成 10 随机数,您可以这样做:
r = -0.01 + (0.01-(-0.01)).*rand(10,1)
给出:
r =
0.0081
-0.0075
0.0083
0.0026
-0.0080
-0.0044
0.0009
0.0092
0.0093
-0.0068
【讨论】: