【问题标题】:How to generate 100,000 random samples (1D) from 2 PDFs?如何从 2 个 PDF 中生成 100,000 个随机样本(1D)?
【发布时间】:2014-04-04 14:32:16
【问题描述】:

谁能帮我写一个 MATLAB 代码来生成 100,000 个随机样本 (1D)?

样本应遵循 2 个 PDF:

  1. N(+1, 0.5)
  2. N(-1, 0.5)

符号N(µ,σ) 表示Normal distribution 的平均值µ 和标准差σ

【问题讨论】:

  • 您的意思是:使用 PDF (1) 生成 50.000 个样本,使用 PDF (2) 生成 50.000 个样本?
  • 如果你有统计工具箱,看看normpdf

标签: matlab random normal-distribution


【解决方案1】:

使用 randn() 函数并代入均值和标准差,如下所示

mu + stdev.*randn(100,1)

有关更多信息,请查看 randn() 的 matlab 帮助

http://www.mathworks.com/help/matlab/ref/randn.html

【讨论】:

    【解决方案2】:

    或者,您可以使用 MATLAB 的 Probability Distribution Objects,它可以非常轻松地处理概率分布。

    请注意,此解决方案需要 Statistics and Machine Learning Toolbox 才能使用 makedist()random()

    % MATLAB R2018b
    % Define probability distribution objects
    pd1 = makedist('Normal',1,0.5');
    pd2 = makedist('Normal',-1,0.5');
    % Generate Samples
    X1 = random(pd1,100,1);
    X2 = random(pd2,100,1);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多