【发布时间】:2013-10-10 22:13:34
【问题描述】:
我正在努力生成 x 范围内的随机数。
假设 x 为 4,范围为 -2 到 2,如果为 6,则为 -3 到 3。
我知道是
rand() * something + somethingelse
【问题讨论】:
标签: matlab random numbers range
我正在努力生成 x 范围内的随机数。
假设 x 为 4,范围为 -2 到 2,如果为 6,则为 -3 到 3。
我知道是
rand() * something + somethingelse
【问题讨论】:
标签: matlab random numbers range
从你离开的地方不难找到解决方案:
rand() * something + somethingelse
从左到右:
rand():从 0 到 1
我们想让范围扩大 4 倍,所以我们这样做了:
rand()*4:从 0 到 4
现在宽度是正确的,我们只需要给它正确的位置:
rand()*4-2:从-2到2
【讨论】:
你要取出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
【讨论】: