matlab中的经验均值和方差图与正态分布

时间:2014-09-27 11:48:01

标签: matlab mean normal-distribution variance

我是matlab编程的新手,我应该编写一个脚本,按照正态分布N(0,1)生成大小为N的随机序列(x1,...,XN),并计算经验均值mN和方差σN^ 2 然后,我应该绘制它们:

这是我的essai:

function f = normal_distribution(n) 
x =randn(n); 
muem = 1./n .* (sum(x)); 
muem
%mean(muem)
vaem = 1./n .* (sum((x).^2));
vaem
hold on
plot(x,muem,'-') 
grid on 
plot(x,vaem,'*') 

注意:这些是我使用过的那些:

enter image description here

我已经获得了一张图,我不知道它是否正确,谢谢你的帮助

1 个答案:

答案 0 :(得分:2)

从您的问题来看,您想要做的是计算从标准正态分布中抽取的大小为N(也不是NxN矩阵)的样本的均值和方差。所以你可能想使用randn(n,1)而不是randn(n)。同样正如@ThP指出的那样,绘制均值和方差与x是没有意义的。你可以做的是计算增加样本大小n1,n2,...,nm的均值和方差,然后绘制样本大小与均值或方差的关系,看它们收敛到0和1.参见下面的代码: / p>

function [] = plotMnV(nIter) 
means = zeros(nIter, 1);
vars = zeros(nIter, 1);
for pow = 1:nIter
     n = 2^pow;
     x =randn(n, 1); 
     means(pow) = 1./n * sum(x); 
     vars(pow) = 1./n * sum(x.^2);
end

plot(1:nIter, means, 'o-');
hold on;
plot(1:nIter, vars, '*-');

end

例如,plotMnV(20)给了我下面的图。

enter image description here