2012-07-04 4 views
1

Я вычислил CDF моего эмпирического распределения с использованием функции ecdf() в Matlab для распределения с значениями 10,000. Однако вывод, который я получаю из него, содержит только значения 9967. Как я могу получить общие значения 10,000 для моего CDF? Благодарю.Функция ecdf() в Matlab не дает всех значений на выходе

ответ

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 
+0

Да, это правильно. Я об этом не думал. Благодаря! – Pupil

 Смежные вопросы

  • Нет связанных вопросов^_^