【发布时间】:2012-07-04 02:54:41
【问题描述】:
我使用 Matlab 中的 ecdf() 函数计算了我的经验分布的 CDF,用于具有 10,000 值的分布。但是,我从中获得的输出仅包含 9967 值。如何获得我的 CDF 的总 10,000 值?谢谢。
【问题讨论】:
标签: matlab statistics cdf ecdf
我使用 Matlab 中的 ecdf() 函数计算了我的经验分布的 CDF,用于具有 10,000 值的分布。但是,我从中获得的输出仅包含 9967 值。如何获得我的 CDF 的总 10,000 值?谢谢。
【问题讨论】:
标签: matlab statistics cdf ecdf
从具有 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
【讨论】: