Как я могу построить кумулятивные графики с указанными значениями c x? - PullRequest
2 голосов
/ 16 января 2020

Я пытался выяснить, как построить интегральную функцию распределения (cdf) с указанными c x значениями, но не удалось.

Например, если набор данных:

x = [2.50 5.21 7.67 8.43 9.15 11.47 14.59 21.45];
y = [0.20 0.09 0.15 0.13 0.17  0.04  0.7   0.15];  % (total 1)

форма графика определенно выглядит неверно, когда я использую y = cdfplot(x).

, я также построил график с помощью cumsum(y) и x, чтобы проверить форму, и она выглядит нормально, но я хотел бы знать, есть ли какой-нибудь код, который отображает кумулятивные графики распределения.

1 Ответ

3 голосов
/ 16 января 2020

Существует функция stairs для создания «диаграмм ступенек», которая должна быть именно такой, как вы хотите, включая вашу идею cumsum(y).

Пожалуйста, см. Следующий фрагмент кода. Я добавил две дополнительные точки для начала и конца некоторого интервала, здесь [0 ... 25]. Кроме того, ваши значения в y в сумме дают нечто большее, чем 1, поэтому я тоже изменил эти значения.

x = [0 2.50 5.21 7.67 8.43 9.15 11.47 14.59 21.45 25];
y = [0 0.10 0.09 0.05 0.10 0.14  0.04  0.4   0.08  0];
stairs(x, cumsum(y));
xlim([-1 26]);
ylim([-0.2 1.2]);

Это будет вывод (Octave 5.1.0, но также протестирован с MATLAB Онлайн):

Output

Надеюсь, это поможет!

...