【问题标题】:generating a random value between 0.001 and 0.0015 [duplicate]生成介于 0.001 和 0.0015 之间的随机值 [重复]
【发布时间】:2013-11-01 10:28:51
【问题描述】:

我想生成介于 0.001 和 0.0015 之间的随机值,这样每次运行 for 循环时,我都会得到一个新值。

例如

value = random number between 0.001 and 0.0015;
for i = 1:10,
   for value,
         Calculate something...
   end
end

谁能告诉我怎么做?

【问题讨论】:

标签: matlab random


【解决方案1】:

都写在rand()函数的文档中:http://www.mathworks.com/help/matlab/ref/rand.html

示例 1 从上的均匀分布生成值 区间[a, b]:

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

因此,在您的情况下,a = 0.001b = 0.0015 也可以将 rand(100,1) 更改为 rand(10,1),以便在间隔 [a,b] 上为您提供 10 随机值。

【讨论】:

  • 其实他每次只需要一个,所以他总共需要10个。
  • 这是来自文档的引用。我认为每个人都应该能够将此解决方案调整为 10 个值...
【解决方案2】:

很简单,你只需这样做:

 0.001+(rand()*(0.0015-0.001))

【讨论】:

    【解决方案3】:

    我认为你应该这样做:

    myNumbers = rand(10,1)*0.0005+0.001;
    for value = myNumbers;
       %Calculate something
       value
    end
    

    请注意,这里的主要改进是您可以一次性预先计算所有随机值。

    此外,您还可以直接遍历它们。

    【讨论】:

    • 0.0015-0.001=0.0005 不是0.014 :)
    • @jkshah 谢谢,已更新答案!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-08
    • 2012-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-15
    相关资源
    最近更新 更多