matlab中的ecdf()函数没有给出输出中的所有值

时间:2012-07-04 02:54:41

标签: matlab statistics cdf ecdf

我使用Matlab中的ecdf()函数计算了我的经验分布的CDF,用于10,000值的分布。但是,我从中获得的输出仅包含9967个值。如何获得CDF的总10,000值?感谢。

1 个答案:

答案 0 :(得分:4)

从具有10'000值的分布中,您期望输出长度为10'001。最有可能的是,您的发行版包含44个NaN或重复值。前者使用sum(isnan(data(:))检查,后者使用length(unique(data(:))

>> out = ecdf(1:5)
out =
         0
    0.2000
    0.4000
    0.6000
    0.8000
    1.0000
>> length(out)
ans =
     6
>> out = ecdf([1:5,NaN,NaN])
out =
         0
    0.2000
    0.4000
    0.6000
    0.8000
    1.0000
>> length(out)
ans =
     6
>> out = ecdf([1:5,5,5])
out =
         0
    0.1429
    0.2857
    0.4286
    0.5714
    1.0000
>> length(out)
ans =
     6