从泊松分布数据计算x2

时间:2013-02-17 00:53:58

标签: matlab statistics

所以我有一个值表

v=0 1 2 3 4 5 6 7 8 9
#times obs.: 5 19 23 21 14 12 3 2 1 0

假设数据符合poisson dist,我应该计算chi平方。平均值u = 3。 我必须在一个bin中将值> = 6分组。

我不确定如何绘制poisson dist。,最重要的是如何控制什么进入bin,如果这是有道理的。

我之前使用histc绘制了一个直方图。但它是随机数我标准化的。每箱的数量都是为我设定的。 我是超级新人...抱歉,如果这个问题很糟糕。

1 个答案:

答案 0 :(得分:0)

您可以使用bar在matlab中绘制条形图。

这就是你所做的:

v=0:9;
f=[5 19 23 21 14 12 3 2 1 0];
fc=f(find(v<6));      % copy elements where v<=6 into a new array
fc(end+1)=sum(f(v=>6)); % append the sum of elements where v=>6 to that array
figure
bar(v(v<=6), fc);

应该这样做......

现在你实际上并没有问过卡方计算。我建议你不要将v&gt; 6的值全部放入一个bin中进行计算,因为它会给你带来非常糟糕的结果。

还有另一种技术:如果使用hist功能,您可以选择分档 - 而Matlab会自动将超出限制的内容放入最后一个分区。因此,如果您的观察结果位于数组Obs中,则可以执行以下操作:

h = hist(Obs, 0:6);
figure
bar(0:6, h)

优点是您可以使用数组h(频率)进行其他计算。

如果你改为

hist(Obs, 0:6)

Matlab将在一个声明中为您绘制图形(但您没有值......)