1

我正在努力生成 x 范围内的随机数。

所以说 x 是 4,范围是 -2 到 2,如果是 6,那么范围是 -3 到 3。

我知道它是

rand() * something + somethingelse
4

2 回答 2

1

您必须取出 的平均值rand*x,即x/2

x = [1 2 3 4 5 6 7]
rand(1,numel(x)).*x-x/2

ans =

    0.4172   -0.4283    0.7716    1.0149   -0.5978    0.4069   -2.9690
于 2013-10-04T02:59:23.653 回答
1

从您离开的地方不难找到解决方案:

rand() * something + somethingelse

从左到右:

rand(): 从 0 到 1

我们想让范围扩大 4 倍,所以我们这样做:

rand()*4: 从 0 到 4

现在宽度是正确的,我们只需要给它正确的位置:

rand()*4-2: 从 -2 到 2

于 2013-10-04T14:16:05.737 回答