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