-4
我要生成几何或高斯分布的随机数,而不使用“geornd”或“randn”目前在MATLAB库函数。如何使用这些分布生成随机数,只需使用“rand”函数来生成均匀分布的随机数。 我想这样做,因为均匀分布是最基本的类型分布,并且可以从此分布生成任何其他分布。一个小代码示例将非常有用。如何产生几何或高斯分布的数量从分布均匀号码MATLAB
我要生成几何或高斯分布的随机数,而不使用“geornd”或“randn”目前在MATLAB库函数。如何使用这些分布生成随机数,只需使用“rand”函数来生成均匀分布的随机数。 我想这样做,因为均匀分布是最基本的类型分布,并且可以从此分布生成任何其他分布。一个小代码示例将非常有用。如何产生几何或高斯分布的数量从分布均匀号码MATLAB
我想你可以这样做:
U = rand(1)
mu = 5;
sigma = 3;
N = mu + sigma * norminv(U,1,1)
我不完全理解你的理由 - 的'geornd'功能(也可能是'randn'太)已经使用了'rand'函数产生一个结果 - 你基本上是说你只是想自己重新实施它们吗? – jazzbassrob
as @ jazzbassrob指出,如果您有stats工具箱,请查看geornd的代码:'edit geornd' –
您可能对[此matlab页面]感兴趣(http://www.mathworks.com/company/newsletters/ articles/normal-behavior.html)解释了用于生成正常值的算法(matlab在第6版中改变了算法)。 – marsei