Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.86
Arbes
0 / 0 / 0
Регистрация: 18.10.2010
Сообщений: 28
#1

Экспоненциальное распределение. - C++

21.05.2011, 14:35. Просмотров 1813. Ответов 2
Метки нет (Все метки)

У меня в задаче дано что в среднем приходит 10 заявок в месяц.Я написал функцию для генерации интервалов между заявками но почему то если использовать чистую функцию то в месяц могут выйти 20 и более заявок или наоборот 2, 3.Может быть я неверно составил функцию.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
double RND()
{
return (random(RAND_MAX)/(double)RAND_MAX); // генерируется случайное число от 0 до 1
}
double ExpDis(int DETALS){
srand(time(NULL));
double rnd=((-1)*log(RND())*(30/DETALS)); // собственно сам генератор случайных интервалов.Лямбда у меня =30/DETALS
for(;;){
if(rnd<2||rnd>4) // тут я поставил условие чтобы не было очень сильного разброса но из за него это больше похоже на нормальное распределение
rnd=((-1)*log(RND())*(30/DETALS));
else
break;
}
return rnd;
}
(30/DETALS) это при DETALS =10 это получается что в среднем интервал между заявками равен 3 дня.

Добавлено через 23 минуты
Без условия в 10 строке начинается бардак и числа получаются от 4 до 60.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.05.2011, 14:35     Экспоненциальное распределение.
Посмотрите здесь:

Экспоненциальное распределение вещественных значений - C++
Подскажите как мне заменить такую конструкцию double getLrand(double l){ return (log((rand()+1))-log(RAND_MAX))/(-l); } с...

Распределение идентификаторов - C++
На входе файл с идентификаторами, я перевела все с року(string) и вызываю коструктор BinTree(string);. Дальше надо все идентификаторы...

Распределение памяти - C++
При загрузки таблицы загружаются и пересчитываются формулы в ячейках. Скажите пожалуйста почему при размерах от 100*100(строка*столбец) до,...

Нормальное распределение - C++
Всем доброго времени суток! Суть программы заключается в том, что в файле есть какие-то статистические данные в виде матрицы (в моем случае...

Распределение Максвелла - C++
Дана задача: &quot;Какая часть молекул водорода при заданной температуре t обладает скоростями от 𝑣1 до 𝑣2 (по умолчанию t = 0° C, 𝑣1= 2000...

Распределение по Гауссу - C++
Нужно сделать генератор случайных чисел с распределением по Гауусу. Помогите, пожалуйста. Есть код равномерного распределения #include...

Распределение строк - C++
Здравствуйте! Не могу понять как решается задача(( Пару дней на неё уже убил. Подскажите пожалуйста,если конечно не затруднит. Условие...

распределение памяти - C++
размещение памяти. LPVOID trm = VirtualAlloc(NULL, lasth+1*(sizeof (float)), MEM_COMMIT, PAGE_READWRITE); мне нужен указатель...

Распределение памяти - C++
Растпределение памяти без использования дискового пространства перемещаемыми разделами.

Возможное распределение памяти - C++
Здорова! Есть задачка: Изобразите возможное распределение памяти для класса Radio из параграфа 15.2.3.1. Объясните как можно...

Динамическое распределение памяти - C++
Помогите переделать программу в соответствии с условиями: а) для хранения массивов используйте динамически распределяемую память; б)...

Динамическое распределение памяти - C++
Здравствуйте! Имеется такая задача (см. вложения). Помогите составить функцию, использующую операцию new с адресацией, которая помещает...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Overmind024
99 / 99 / 6
Регистрация: 10.09.2010
Сообщений: 267
21.05.2011, 18:57     Экспоненциальное распределение. #2
Я бы делал так: за 30 дней 10 заявок это 1\3 заявка в день. Ну а дальше думаю понятно.
Arbes
0 / 0 / 0
Регистрация: 18.10.2010
Сообщений: 28
21.05.2011, 19:13  [ТС]     Экспоненциальное распределение. #3
Цитата Сообщение от Overmind024 Посмотреть сообщение
Я бы делал так: за 30 дней 10 заявок это 1\3 заявка в день. Ну а дальше думаю понятно.
Ну я как бы тоже так и делал просто заменил деление умножением.А так я кажется нашел ошибку.Я неправильно вычислял БСВ.
Сейчас написал формулу для её более правильного(вроде бы) вычисления
C++
1
2
3
4
5
6
7
double BRV()
{
    double M=0;
    for(int i=0;i<2;i++)
       M += (random(RAND_MAX)/(double)RAND_MAX)-0.5;
    return 0.5 + M*0.3;
}
В книге прочитал что МО=1/2 а дисперсия=1/12.Правда окончательно запутался что такое дисперсия и среднеквадратичное отклонение, а точнее разброс и рассеивание случ. величины возле МО
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru