我正在努力生成 x 范围内的随机数。
所以说 x 是 4,范围是 -2 到 2,如果是 6,那么范围是 -3 到 3。
我知道它是
rand() * something + somethingelse
您必须取出 的平均值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
从您离开的地方不难找到解决方案:
rand() * something + somethingelse
从左到右:
rand()
: 从 0 到 1
我们想让范围扩大 4 倍,所以我们这样做:
rand()*4
: 从 0 到 4
现在宽度是正确的,我们只需要给它正确的位置:
rand()*4-2
: 从 -2 到 2