Я вычислил CDF моего эмпирического распределения с использованием функции ecdf()
в Matlab для распределения с значениями 10,000
. Однако вывод, который я получаю из него, содержит только значения 9967
. Как я могу получить общие значения 10,000
для моего CDF? Благодарю.Функция ecdf() в Matlab не дает всех значений на выходе
1
A
ответ
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
Да, это правильно. Я об этом не думал. Благодаря! – Pupil