Matlab仿真和分布

时间:2015-08-26 03:21:15

标签: matlab

我需要使用逆变换方法从Exp(5)分布模拟100个结果。计算样本均值(这些结果的平均值)。

对于这部分,我完成了逆变换部分并得到了函数:

x = - log(u) / λ 

所以,这就是我到目前为止我的代码所用的内容:

lambda = 5;
n = 100;
U = rand(1, n);
X = -log(U)/lambda;
mean(X)

但是,我不确定这个问题的第一部分是否正确,它要求计算样本均值。

然而,问题还要求重复该实验1000次,然后绘制1000个样本均值的经验cdf。还显示这些结果的预期平均值,即真实均值。但是,我不知道该怎么做。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

如您所知,不同运行之间100个样本的平均值可能有所不同。更重要的是,有意义的是,100个样本的平均值并不完全是指数分布的预期值。您的老师希望您分析此行为(已在mathoverflow上询问其等效分析:https://math.stackexchange.com/questions/155296/distribution-of-the-sample-mean-of-a-exponential

首先,您可能需要创建一个1x1000的数组,并将其中1000个实验的结果存储在那里。然后计算ecdf(buildin matlab函数),并绘制结果。