1

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

例如

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

谁能告诉我该怎么做?

4

3 回答 3

5

这一切都写在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)为您提供随机值。10[a,b]

于 2013-11-01T10:46:01.043 回答
4

这很简单,您只需执行以下操作:

 0.001+(rand()*(0.0015-0.001))
于 2013-11-01T10:36:07.017 回答
2

在我看来,您应该这样做:

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

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

此外,您可以直接循环它们。

于 2013-11-01T10:43:09.043 回答