Poisson Пуасонновский поток Моделирование систем |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Poisson Пуасонновский поток Моделирование систем |
shulja |
30.03.2012 20:09
Сообщение
#1
|
Группа: Пользователи Сообщений: 5 Пол: Женский Репутация: 0 |
Добрый день! Есть необходимость на Паскале написать входной Пуассоновский поток для системы массового обслуживания. При чем проблема только с ним.
Есть заданая Лямбда, есть написанная функция которрая должна возвращать число сгенерированное по формуле Пуассона - но в формуле есть факториал он должен быть интеджер - а число возвращаемое в диапазоне от 0 до 1 - как быть не пойму. |
Krjuger |
30.03.2012 22:17
Сообщение
#2
|
Профи Группа: Пользователи Сообщений: 652 Пол: Мужской Реальное имя: Алексей Репутация: 20 |
function blablabla(input: integer): boolean |
shulja |
30.03.2012 22:38
Сообщение
#3
|
Группа: Пользователи Сообщений: 5 Пол: Женский Репутация: 0 |
|
Krjuger |
30.03.2012 22:51
Сообщение
#4
|
Профи Группа: Пользователи Сообщений: 652 Пол: Мужской Реальное имя: Алексей Репутация: 20 |
Тьфу, я совсем не так понял)))Извиняюсь.
Так насчеем с того,что именно вы считаете? Вероятность?Если вероятность то чего?Напишите более подробно про вашу задачу. В общем вот тебе код,который и факториал считает и Пуассоновское распределение.
n-число событий такого потока, выпадающих на интервал х Сообщение отредактировано: Krjuger - 30.03.2012 23:11 |
shulja |
30.03.2012 23:11
Сообщение
#5
|
Группа: Пользователи Сообщений: 5 Пол: Женский Репутация: 0 |
мне надо сгенерить чисел по формуле пуассона
и проверить потом действительно ли пуассон |
Krjuger |
30.03.2012 23:14
Сообщение
#6
|
Профи Группа: Пользователи Сообщений: 652 Пол: Мужской Реальное имя: Алексей Репутация: 20 |
Вот я выше написал.По x,n от тебе выдает результат,а то что результат всегда будет меньше 1 и больше нуля,это уже само свойство формулы.
|
shulja |
30.03.2012 23:15
Сообщение
#7
|
Группа: Пользователи Сообщений: 5 Пол: Женский Репутация: 0 |
вот отличный код как мой только в него нужно рандом добавить
|
Krjuger |
30.03.2012 23:20
Сообщение
#8
|
Профи Группа: Пользователи Сообщений: 652 Пол: Мужской Реальное имя: Алексей Репутация: 20 |
Вам нужно сделать рандом от 0 до 1 чтоли?
Тогда добавьте beginдальше делайте,что хотите) В d будет храниться как раз то самое случайно число,или вам,что то другое надо?) Сообщение отредактировано: Krjuger - 30.03.2012 23:25 |
shulja |
30.03.2012 23:26
Сообщение
#9
|
Группа: Пользователи Сообщений: 5 Пол: Женский Репутация: 0 |
Вам нужно сделать рандом от 0 до 1 чтоли? Тогда добавьте вот у меня есть для Эланга а надо еще один написать для пуассона что б сам генерил числа штук 300 - 500 чтоб распределение проверить function Exponential (lambda : real): real; begin result := -1/lambda*ln(random); end; function Erlang (lambda : real): real; var i : integer; begin result := 0; for i := 0 to n do result := result + Exponential(0.25); end; begin for i := 0 to n do begin result := Erlang(0.25); s := Format('%.3f',[result]); ListBox1.Items.Add(s); end; |
Krjuger |
30.03.2012 23:52
Сообщение
#10
|
Профи Группа: Пользователи Сообщений: 652 Пол: Мужской Реальное имя: Алексей Репутация: 20 |
Я тебя не понимаю, что он должен сгенерировать,по какой переменной изменяться???? по числу положительных исходов?Пиши более развернуто,а то понять,что тебе нужно вообще нереально?Тебе нужно построить график распределения Пуассона для твоих заданных : диапозона и лямбды?Так?
Вот я честно залез на википедию для распределения эрланга я увидел там алгоритм,для пуассона его там нету.... Моделирование значений пуассоновской случайной величины с параметром a основано на предельной теореме, согласно которой распределение биномиальной случайной величины Bn,p при больших n и малых p хорошо аппроксимирует распределение Пуассона с параметром a = np. Это едитственный спобос как я предполагаю можно проверить пуассоновское распределение. Все я вьехал,что нужно делать..... begin В итоге в К будет храниться номер интервала содержащего наше случайное d,затем сравним его с величиной P(k,lambda,10) (10 я взял в качестве примера) И по идеи оно должно совпадать.Надеюсь я все правильно понял? Сообщение отредактировано: Krjuger - 31.03.2012 0:18 |
Федосеев Павел |
31.03.2012 12:52
Сообщение
#11
|
Бывалый Группа: Пользователи Сообщений: 298 Пол: Мужской Реальное имя: Федосеев Павел Репутация: 8 |
Я понял так, что нужна функция, генерирующая массив (или наподобие) со случаными (псевдослучайными) числами, подчиняющимися пуансоновскому распределению.
Строка в гугле "генерация ПСЧ с распределением пуассона" даёт пару страниц. В частности эту. |
Текстовая версия | 23.04.2024 20:16 |