【问题标题】:How to generate random variable X over [2,5] using MATLAB?如何使用 MATLAB 在 [2,5] 上生成随机变量 X?
【发布时间】:2012-10-10 17:12:53
【问题描述】:

我必须创建一个随机变量 X 均匀分布在 [2,5] 上并生成超过 10000 个样本。

然后我必须使用histc()hist()函数估计X的概率密度函数,并用理论曲线绘制估计的PDF。

我不知道如何用 MATLAB 解决它。

【问题讨论】:

  • 试试 rand(10000)*3+2 PDF 是一条平线均匀分布

标签: matlab plot random histogram uniform-distribution


【解决方案1】:

以下是有用功能和资源的链接:

  • RAND :查找第一个示例以获取两个任意限制之间的随机数。您可以在函数本身中指定所需的随机样本数。
  • 标准化的HISTC 应该给你一个概率分布函数。
  • 如果您有统计工具箱,您可以通过MLE 获得最佳拟合均匀分布。

快乐的数据拟合!

【讨论】:

    【解决方案2】:

    使用rand() 为[0,1] 区间生成统一随机变量。然后用a 移动它并用b-a 缩放(拉伸)它。

    N = 10000;
    a = 2;      % lower bound
    b = 5;      % upper bound
    X = a + (b-a)*rand(N,1);    % X ~ Uniform(a,b)
    

    然后绘制样本分布和理论分布 (Wiki)。

    figure, hold on, box on
    histogram(X,'normalization','pdf','DisplayName','Sample')
    xRng = 2:.1:5;
    plot(xRng,(1/(b-a))*ones(size(xRng)),'r--','LineWidth',2.8,...
        'DisplayName','Theoretical')
    legend('show','Location','north','Orientation','horizontal')
    xlabel('X')
    ylabel('Probability Density')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-05-16
      • 1970-01-01
      • 1970-01-01
      • 2015-03-30
      • 1970-01-01
      • 2018-03-31
      • 2014-10-30
      相关资源
      最近更新 更多