|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Alex Baskakov 2:5025/3.55 14 May 2000 22:15:00 To : All Subject : теория вероятности --------------------------------------------------------------------------------
Как сгенерировать некое случайное событие по экспоненциальному (показательному)
закону распределния, если известно что оно во времени в среднем повторяется
через 50 минут?
Пусть плотность распределния f(x)=k*exp(-k*x);
Функция распределения F(x)=1-exp(-k*x);
Тогда матожидание M=50, M=1/k -> k=1/50;
Имеем некий масштаб времени в минутах:
for(minutes=0; minutes<MAXMINUTES; minutes++) {
// ???
}
Что вставить? Hаверное надо как-то через квази-равномерное rand() распределние?
:) Подскажите плиз. :)
Может быть так:
double F(int x) {
return 1-exp(-k*x);
}
for(x=0; x<MAXMINUTES; x++) {
if (rand()/32767.0<F(x)) {
generate();
x=0;
}
}
np mp3: The Cramps (Punk-O-Rama Vol. 3'1998) - Haulass Hyena
Пр. ещё, Л.
--- GoldED/386 3.0.1
* Origin: Punk Rock Rulebook (2:5025/3.55)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/2787391f2a03.html, оценка из 5, голосов 10
|