如何产生以下随机变量?

时间:2012-12-26 22:14:46

标签: matlab random statistics distribution matlab-figure

使用MATLAB,您必须从(0,1)之间的均匀分布开始。您需要生成以下随机变量序列:

1.Rayleigh分布随机变量。 (a = 0,b = 1)。

2.指数R.V. (a = 0,b = 1)

3.Gaussian R.V. (a = 0,(σX)= 2)


至少,给我一个第一个MATLAB代码。

我花了很多时间用这个等式解决它:enter image description here

但它不能与我合作。

2 个答案:

答案 0 :(得分:3)

以下是公式,在Matlab中实现它们很容易:

  1. Generating Rayleigh-distributed random variates
  2. Generating exponential variates
  3. Generating values from Gaussian distribution
  4. 前两种方法基于Inverse Transform Sampling。在第三种情况下,CDF不能被分析反转,因此ITS不起作用,需要特殊技术。

    修改

    示例(瑞利):

    n = 10000; % number of variates
    u = rand(n, 1); % generating uniform variates
    sigma = 1; % the parameter
    x = sigma * sqrt(-2 * log(u)); % generating Rayleigh-distributed variates
    hist(x, 50); % histogram
    

答案 1 :(得分:1)

所有这些变量都可以使用Matlab random函数生成{{1}}:http://www.mathworks.com/help/stats/random.html

但是你的问题可能需要从均匀分布中获得这些数字。所以你要寻找数学公式来将均匀分布转换成所需的分布,最有可能是维基百科。