【问题标题】:generate random negative to positive float numbers in matlab [duplicate]在matlab中生成随机负到正浮点数[重复]
【发布时间】:2016-04-25 16:58:07
【问题描述】:

如何生成介于 -0.01 和 0.01 之间的随机值?这不起作用:

rand()-(0.01);

我在互联网上找到的许多其他方法都不起作用。这似乎很容易,但我快要发疯了。

【问题讨论】:

    标签: matlab random floating-point negative-number


    【解决方案1】:

    (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]

    【讨论】:

      【解决方案2】:

      来自documentation

      一般情况下,可以在(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
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-12-19
        • 2010-10-15
        • 1970-01-01
        • 2011-04-25
        • 2017-03-09
        相关资源
        最近更新 更多