LINUX.ORG.RU

[C][Nooob][Хочу_разобраться]Распределение Пуассона

 


0

1

Поставили следующую задачу. Необходимо написать на чистом Cи функцию-генератор траффика по распределению Пуассона.

Входные параметры: время моделирования, длина отрезка, на которые делится общее время, максимальная интенсивность, время выхода на максимум, длительность максимума, крутизна функции. На выходе: массив интенсивностей на каждом отрезке.

Приму любые советы. Может быть, кто-то уже такое делал.

P.S.: В теории вероятности - школьничек, в си - начинающий быдломанкикодер.


Ответ на: комментарий от placement_new

Да я уже придумал КАК, даже набросал в Оо-калке решение. Но не понятно что делать с числами выходящими за дипазон over_unsigned_long (тот же факторила >150, exp и прочее). Писать свою целочисленную математику? Или они там совсем не нужны и можно использовать какие-то хинты, чээмы?

zeonid
() автор топика
Ответ на: комментарий от zeonid

> не понятно что делать с числами выходящими за дипазон over_unsigned_long

Есть библиотека, называется GMP, предназначена как раз для этого.

harvos
()
Ответ на: комментарий от zeonid

> Но не понятно что делать с числами выходящими за дипазон over_unsigned_long

unsigned long long

long doube

anonymous
()
Ответ на: комментарий от placement_new

Никак не могу построить по точкам функцию: сгенерировать трафик по распределению Пуассона — выдавать каждую секунду заданную пользователем интенсивность, например 100 Мбит/с.

Даны следующие параметры:

* Общее время моделирования T = 1 с * Интервал разбиения dT = 0.01 с * Интенсивность = 100 Мбит/c

Что я сделал: 1. Получил число отрезков k: N = T / dT; 2. lambda = 100 Мбит/с. 3. P(k) = exp (-lambda * dT) * (lambda * dT)^k / k!

Исправьте меня, пожалуйста.

Вот что построил калк: http://sau.su/34046e50ccfc7cc16cfcd63832eaaba3/poisson.JPG

zeonid
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.