Пример boost::random_device |
Здравствуйте, гость ( Вход | Регистрация )
Пример boost::random_device |
maxpop |
28.2.2011, 1:24
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 4 Регистрация: 28.2.2011 Пользователь №: 2455 Спасибо сказали: 0 раз(а) Репутация: 0 |
Доброго времени суток!
В проекте необходимо использовать ГСЧ. Полазив в интернете нашел библиотечки boost. Недетерминированный генератор истинно случайных чисел то-что нужно. Но не понимаю как пользоваться этим классом(не очень много знаю в C++). Поэтому прошу написать какой-нить простенький примерчик, который бы выводил случайное число. |
|
|
DEADHUNT |
28.2.2011, 17:00
Сообщение
#2
|
Активный участник Группа: Участник Сообщений: 430 Регистрация: 15.4.2009 Пользователь №: 686 Спасибо сказали: 26 раз(а) Репутация: 2 |
вот пример генерации 10 случайных величин ~ Exp(5)
Сообщение отредактировал DEADHUNT - 28.2.2011, 17:37 |
|
|
maxpop |
1.3.2011, 1:19
Сообщение
#3
|
Новичок Группа: Новичок Сообщений: 4 Регистрация: 28.2.2011 Пользователь №: 2455 Спасибо сказали: 0 раз(а) Репутация: 0 |
Спасибо.
Вы не подскажите, что я делаю не правильно? Стоит VS10. Я указываю путь то буста, все библиотеки читаются, но при компиляции вылетает вот эта ошибка:"1>LINK : fatal error LNK1104: cannot open file 'libboost_random-vc100-mt-gd-1_44.lib'". Что это вообще за файл? |
|
|
maxpop |
1.3.2011, 2:37
Сообщение
#4
|
Новичок Группа: Новичок Сообщений: 4 Регистрация: 28.2.2011 Пользователь №: 2455 Спасибо сказали: 0 раз(а) Репутация: 0 |
Точнее не что это за файл, почему он может не открываться?
В VC в Project->properties->vc++ directories->include directories добавил путь к бусту фух, все запустилось) прописал путь к папке либ. Вопрос по Вашему коду. В каком диапазоне выводятся рандомные числа? от 0 до 1? Точнее не что это за файл, почему он может не открываться? В VC в Project->properties->vc++ directories->include directories добавил путь к бусту фух, все запустилось) прописал путь к папке либ. Вопрос по Вашему коду. В каком диапазоне выводятся рандомные числа? от 0 до 1? По сути мне надо выбрать движение вправо или влево. Относительно какого числа можно смотреть получившийся рандом, что бы если rnd()>x двигаться вправо, rnd()<x двигаться влево? И как вычислять это число, если менять параметр у exp(a)? |
|
|
DEADHUNT |
1.3.2011, 8:43
Сообщение
#5
|
Активный участник Группа: Участник Сообщений: 430 Регистрация: 15.4.2009 Пользователь №: 686 Спасибо сказали: 26 раз(а) Репутация: 2 |
Вопрос по Вашему коду. В каком диапазоне выводятся рандомные числа? от 0 до 1? согласно экспоненциальному распределению с параметром 5, т.е. функция распределения F(t) = 1 - exp(-5*t). я не знаю какое тебе распределение нужно, посмотри документацию boost там множество разных распределений поддерживается. скорее всего тебе равномерное распределение нужно(uniform distribution) Сообщение отредактировал DEADHUNT - 1.3.2011, 10:56 |
|
|
maxpop |
2.3.2011, 1:01
Сообщение
#6
|
Новичок Группа: Новичок Сообщений: 4 Регистрация: 28.2.2011 Пользователь №: 2455 Спасибо сказали: 0 раз(а) Репутация: 0 |
Вопрос по Вашему коду. В каком диапазоне выводятся рандомные числа? от 0 до 1? согласно экспоненциальному распределению с параметром 5, т.е. функция распределения F(t) = 1 - exp(-5*t). я не знаю какое тебе распределение нужно, посмотри документацию boost там множество разных распределений поддерживается. скорее всего тебе равномерное распределение нужно(uniform distribution) Спасибо. Взял uniform_int. Все работает нормально. Еще раз спасибо. |
|
|
Текстовая версия | Сейчас: 3.1.2025, 3:14 |