С Новым годом! Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/19: Рейтинг темы: голосов - 19, средняя оценка - 4.53
0 / 0 / 0
Регистрация: 15.01.2012
Сообщений: 19

Интегральное распределение пуассона

15.01.2012, 12:29. Показов 3860. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
добрый день, помогите, пожалуйста реализовать интегральную формулу распределения пуассона в C#.

Выглядит она как на картинке в приложении. При том, что вычисляется сумма таких формул изменяя k от 0 до К.

Я реализую следующим образом:

C#
1
2
3
4
5
6
7
8
9
10
11
12
for (int i = 0; i <= K; i=i++)
                {
                    Double ifactorial = 1;
                    for (int j = 1; j <= i; j=j++)
                    {
                        ifactorial = ifactorial * j;
                    }
                    double exp = Math.Exp(-Lambda);
                    double step = Math.Pow(Lambda, i);
                    p = p + (step / ifactorial) * exp;
                    
                }
Возникает следующая проблема: при очень больших К (например 300), типа Double не хватает для вычисления факториала и степени.

также читал здесь http://www.alglib.net/download.php
там предлагается использоваь следующий метод:

C#
1
public static double poissondistribution(int K, double Lambda);
не пойму как этим кодом пользоваться.

Помогите, пожалуйста.
заранее благодарен

 Комментарий модератора 
Внимательно выбирайте раздел форума, в котором собираетесь разместить свою тему!
Изображения
 
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.01.2012, 12:29
Ответы с готовыми решениями:

Распределение пуассона
Здравствуйте, необходимо рандомно сгенерировать массив чисел по распределению Пуассона, видел библиотеку alglib в которой есть интегральное...

AnyLogic Распределение Пуассона и прямое распределение
Помогите, пожалуйста, необходимо в данную модель оптимизировать по распределению Пуассона и Прямому распределению так, чтобы машины не...

Распределение Пуассона
Например я написал в экселе формулу =пуассон(2;5;истина)=0,12465. Т.е. нашел вероятность значений от 0 до 2 при среднем значении 5. А как...

10
18 / 18 / 2
Регистрация: 28.12.2011
Сообщений: 176
15.01.2012, 14:15
long double?
0
 Аватар для Prorok
112 / 112 / 22
Регистрация: 26.12.2008
Сообщений: 166
15.01.2012, 15:21
Цитата Сообщение от TamTam Посмотреть сообщение
long double?
скорей decimal, что ещё за "long double" ?
1
0 / 0 / 0
Регистрация: 15.01.2012
Сообщений: 19
15.01.2012, 15:21  [ТС]
Long double
не получается.
Разве есть такой тип данных?
можно подробнее.

Prorok,

Decimal тоже не хватает, пробовал при бОльших числах.
0
 Аватар для Prorok
112 / 112 / 22
Регистрация: 26.12.2008
Сообщений: 166
15.01.2012, 15:50
попробуй не считая факториала делить, вначале на к потом на к-1 и если число будем меньше какого-то епсилон то выводи его не считая дальше, вероятность все равно 0 быть не может...
1
0 / 0 / 0
Регистрация: 15.01.2012
Сообщений: 19
15.01.2012, 16:06  [ТС]
ага, понял, спасибо за идею.
там есть еще одна проблема с
C#
1
double step = Math.Pow(Lambda, i);
это выражение тоже слишком большим получается и не помещается в double.
в связи со спецификой своей задачи приходится использовать лямбда равные ок 250. ну и степень 300 и больше.

а как использовать исходник с этого сайта не известно?
http://www.alglib.net/download.php
0
 Аватар для Prorok
112 / 112 / 22
Регистрация: 26.12.2008
Сообщений: 166
16.01.2012, 14:20
Цитата Сообщение от Milkyway_r Посмотреть сообщение
а как использовать исходник с этого сайта не известно?
http://www.alglib.net/download.php
ну как не известно?! там есть библиотека alglibnet2.dll, добавляешь ее себе в ссылки проекта и пользуешься на здоровье, кстати, очень занятная библиотека, вот как твое пуассоновское распределение вычислить, у себя проверил, все работает:
C#
1
2
double result = alglib.poissondistribution(2, 250);
            Console.WriteLine(result);
вот библиотека:
alglib-3.4.0.csharp.zip
1
0 / 0 / 0
Регистрация: 15.01.2012
Сообщений: 19
16.01.2012, 15:17  [ТС]
Цитата Сообщение от Prorok Посмотреть сообщение
библиотека alglibnet2.dll, добавляешь ее себе в ссылки проекта и пользуешься на здоровье, кстати, очень занятная библиотека, вот как твое пуассоновское распределение вычислить, у себя проверил, все работает:
о, спасибо большое, это все что мне нужно. Я просто только начинаю изучение C#.
а нельзя, случайно, узнать как в этой библиотеке реализовано это распределение пуассона, чтобы не таскать потом за собой эту библиотеку?
0
 Аватар для Prorok
112 / 112 / 22
Регистрация: 26.12.2008
Сообщений: 166
16.01.2012, 15:37
в папке src есть файл specialfunctions , вот там есть класс class poissondistr (и за ним ещё следующий клас), там даже алгоритм реализации написан (какие-то они слишком добрые, даже исходники представили!)

я одним глазом глянул вроде внятно написано...
1
0 / 0 / 0
Регистрация: 15.01.2012
Сообщений: 19
16.01.2012, 15:55  [ТС]
Посмотрел. Лучше библиотеку потаскаю
спасибо.
0
18 / 18 / 2
Регистрация: 28.12.2011
Сообщений: 176
17.01.2012, 16:13
Цитата Сообщение от TamTam Посмотреть сообщение
long double?
упс, си#...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.01.2012, 16:13
Помогаю со студенческими работами здесь

Распределение Пуассона
Ребят помогите пожалуйста, что-то не понимаю данное распределение. В инфотелефон звонят в среднем 24 раза в час. Пусть Х - число...

Распределение Пуассона
В среднем при передаче пятисот символов происходит одна ошибка. Найти вероятность того, что при передаче тридцати символов количество...

Распределение Пуассона?
По каналу связи передается 8000 знаков. Каждый знак может быть искажен с вероятностью в 0.005 Найти приближенное значение вероятности...

Распределение Пуассона
Найти P{\left( \right)\left|\xi -M\xi \right|&lt;3\sqrt{D\xi }} Если \xi имеет распределение Пуассона и М \xi =0.09

Распределение Пуассона
Аппаратура содержит 200 одиноковых надежных элементов, вероятность отказа для каждого из которых равна 0,005. Составьте таблицу...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru