我想在matlab中做一個指數隨機數生成器。生活會很容易,如果我可以只使用exprand但沒了:(這是我有我想看看它是否是正確的功能。在Matlab中生成指數隨機數
function x=erv(lambda)%generatae Exponential random variables
x=(-(1/lambda)*log(urv(1)));%using the urv function from 1a
end
所以URV功能給我從一個隨機數[0,1]
function y=urv(howMany) %generate random numbers between [0,1] (uniform random variable), input how many RV's you want
for k=(1:howMany)
y(:,k)=(2*eps)*round(rand/(2*eps));
end
end
所以任何人都可以給我任何見解,如果URV是正確的,如果ERV是正確的。 感謝名單
請參閱[這裏](http://stackoverflow.com/questions/2106503/pseudorandom-number-generator-exponential-distribution)。爲什麼不直接使用'rand'而不是'urv'? –
'rand'會給你0到1之間的均勻分佈的隨機值,不需要使用URV – MZimmerman6
我做URV的原因是因爲我被要求用[0,1]做一個統一的隨機變量,我認爲rand函數只有(0,1) – JEM