2013-08-19 20 views
-4

我要生成几何或高斯分布的随机数,而不使用“geornd”或“randn”目前在MATLAB库函数。如何使用这些分布生成随机数,只需使用“rand”函数来生成均匀分布的随机数。 我想这样做,因为均匀分布是最基本的类型分布,并且可以从此分布生成任何其他分布。一个小代码示例将非常有用。如何产生几何或高斯分布的数量从分布均匀号码MATLAB

+2

我不完全理解你的理由 - 的'geornd'功能(也可能是'randn'太)已经使用了'rand'函数产生一个结果 - 你基本上是说你只是想自己重新实施它们吗? – jazzbassrob

+0

as @ jazzbassrob指出,如果您有stats工具箱,请查看geornd的代码:'edit geornd' –

+0

您可能对[此matlab页面]感兴趣(http://www.mathworks.com/company/newsletters/ articles/normal-behavior.html)解释了用于生成正常值的算法(matlab在第6版中改变了算法)。 – marsei

回答

0

我想你可以这样做:

U = rand(1) 
mu = 5; 
sigma = 3; 
N = mu + sigma * norminv(U,1,1)