【发布时间】:2014-03-13 17:04:29
【问题描述】:
我正在尝试在 matlab 中制作指数随机数生成器。如果我可以只使用 exprand 但不可以,生活会很轻松:(这是我想要看看它是否正确的函数。
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 是否正确,任何人都可以给我任何见解。 谢谢
【问题讨论】:
-
见here。为什么不直接使用
rand而不是urv? -
rand会给你均匀分布在 0 和 1 之间的随机值,不需要使用 URV -
我做URV的原因是因为我被要求用[0,1]做一个统一随机变量,我认为rand函数只做(0,1)
-
[0 1] 中的统一 RV 取值 0 或 1,概率为 0。所以不要担心 [0 1] 和 (0 1) 之间的区别,只需使用
rand
标签: matlab variables random exponential