【问题标题】:How to generate random numbers from a normal distribution with specific mean and variance?如何从具有特定均值和方差的正态分布中生成随机数?
【发布时间】:2018-03-05 02:26:52
【问题描述】:

我需要使用randn 函数生成n 数字的高斯随机样本,均值为0,方差为1。

一般来说,我如何使用randn 函数生成n 数字的高斯随机样本X,均值mu 和方差v

【问题讨论】:

    标签: matlab gaussian


    【解决方案1】:

    A standard normal distribution 已经有均值 0 和方差 1。

    如果您想更改平均值,只需“转换”分布,即将您的平均值添加到每个生成的数字。同样,如果您想更改方差,只需“缩放”分布,即将所有数字乘以 sqrt(v)。例如,

    v = 1.5; % variance
    sigma = sqrt(v); % standard deviation
    mu = 2; % mean
    n = 1000
    X = sigma .* randn(n, 1) + mu;
    stats = [mean(X) std(X) var(X)]
    

    请参阅以下文章:

    https://ch.mathworks.com/help/matlab/math/random-numbers-with-specific-mean-and-variance.html

    了解更多信息。

    【讨论】:

      【解决方案2】:

      你也可以打电话

      normrnd(0,1,[M,N])
      

      random('Normal',0,1,[M,N])
      

      【讨论】: