我想生成0.001和0.0015之間的隨機值,這樣每次運行for循環時,我都會得到一個新值。生成一個介於0.001和0.0015之間的隨機值
e.g
value = random number between 0.001 and 0.0015;
for i = 1:10,
for value,
Calculate something...
end
end
任何一個可以告訴我該怎麼做?
我想生成0.001和0.0015之間的隨機值,這樣每次運行for循環時,我都會得到一個新值。生成一個介於0.001和0.0015之間的隨機值
e.g
value = random number between 0.001 and 0.0015;
for i = 1:10,
for value,
Calculate something...
end
end
任何一個可以告訴我該怎麼做?
這一切都寫入rand()
功能的文檔中:http://www.mathworks.com/help/matlab/ref/rand.html
實施例1生成的 間隔從均勻分佈的值[A,B]:
r = a + (b-a).*rand(100,1);
所以在您的案例a = 0.001
和b = 0.0015
,您也可以將rand(100,1)
更改爲rand(10,1)
,爲您提供區間[a,b]
上有0個隨機值。
其實他每次只需要一個,所以他總共需要10個。 –
這是來自文檔的引用。我認爲每個人都應該能夠將這個解決方案適應10個值... – Daniel
這很簡單,你只需做到:
0.001+(rand()*(0.0015-0.001))
下面是你應該如何在我看來,那樣做:
myNumbers = rand(10,1)*0.0005+0.001;
for value = myNumbers;
%Calculate something
value
end
需要注意的是這裏的主要改進是將預先計算所有的隨機值立刻。
此外,你可以直接循環它們。
'0.0015-0.001 = 0.0005'不是'0.014' :) – jkshah
@jkshah謝謝,已經更新了答案! –
在這個答案採取戰利品http://stackoverflow.com/a/5289624/252591 - 它是C + +但它移植到MatLab應該是一件容易的事。 – Crozin