2013-10-04 628 views
1

我掙扎在x範圍內產生一個隨機數。Matlab隨機數範圍

所以說,x爲4的範圍是-2〜2,如果這是6然後-3到3

我知道這是

rand() * something + somethingelse 

回答

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

從你離開的地方就不難找到解決方案:

從左邊的0
rand() * something + somethingelse 

到右:

rand():從0到1

我們要取值範圍爲4倍的範圍,所以我們做的:

rand()*4:從0到4

現在的寬度是正確的,我們只是需要給它的正確位置:

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