matlab中的累积分布

时间:2013-10-17 13:03:29

标签: matlab distribution probability

我有一个关于使用Matlab绘制概率分布和累积分布曲线的问题。我为问一个菜鸟问题而道歉,但我是Matlab的新手,只用了几个小时。

我有一组数据,其大小范围为沙滩上的沙粒,单位为毫米。 (例如:> 2.00,1.00-2.00,0.50-0.00,<0.50) 它们找到这些砂粒的相应百分比如下: (例如:30,25.5,35.9,8.6)。

如何在Matlab系统中输入值,以便在不同颜色的同一图上绘制概率分布和累积分布曲线?百分比应为y轴,尺寸范围应为x轴。

请指教。

2 个答案:

答案 0 :(得分:1)

如果你的数据集实际上是4分,那么你可以简单地输入它们。例如,如果我的数据集是{(A,1),(B,2),(C,3)},那么我们可以简单地设置y = [1, 2, 3]x = {'a', 'b', 'c'}

对于发布,您应该查看sumcumsum函数。

对于绘图,请查看bar的频率图和plot的累积图(这只是我的偏好)。该文档包含有关设置颜色的信息。

要绘制同一图表,请查看hold。要标记地块和轴,请查看xlabelylabeltitle

Matlab有一个很好的FAQ on setting the actual values that are displayed on each axis。例如,我可以通过仅绘制y向量,然后将X刻度标签设置为'A','B'和'C'来绘制上面的数据集。

答案 1 :(得分:0)

我会谨慎对待CDF。可能需要按照增大的粒度对数据进行重新排序(请参阅fliplr),否则可能会怀疑CDF的解释。

label={'<0.50','0.50-1.00','1.00-2.00','>2.00'}';
pmf = [0.086 0.359 0.255 0.30]';
cdf = cumsum(pmf);

bar(pmf)                              % PMF
set(gca,'XTickLabel',label)
title('Sand Particle Size Distribution')
xlabel('Sand particle size (mm)')

figure    
stairs(cdf,'ks-','LineWidth',2.0)     % CDF
set(gca,'XTick',1:length(label),'XTickLabel',label)
ylabel('Percentile')
xlabel('Sand particle size (mm)')
ylim([0 1])

Sand Particle Size PMF

Sand Particle Size CDF