![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
maxpop |
![]()
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 4 Регистрация: 28.2.2011 Пользователь №: 2455 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Доброго времени суток!
В проекте необходимо использовать ГСЧ. Полазив в интернете нашел библиотечки boost. Недетерминированный генератор истинно случайных чисел то-что нужно. Но не понимаю как пользоваться этим классом(не очень много знаю в C++). Поэтому прошу написать какой-нить простенький примерчик, который бы выводил случайное число. |
|
|
DEADHUNT |
![]()
Сообщение
#2
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 430 Регистрация: 15.4.2009 Пользователь №: 686 Спасибо сказали: 26 раз(а) Репутация: ![]() ![]() ![]() |
вот пример генерации 10 случайных величин ~ Exp(5)
Сообщение отредактировал DEADHUNT - 28.2.2011, 17:37 |
|
|
maxpop |
![]()
Сообщение
#3
|
Новичок Группа: Новичок Сообщений: 4 Регистрация: 28.2.2011 Пользователь №: 2455 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Спасибо.
Вы не подскажите, что я делаю не правильно? Стоит VS10. Я указываю путь то буста, все библиотеки читаются, но при компиляции вылетает вот эта ошибка:"1>LINK : fatal error LNK1104: cannot open file 'libboost_random-vc100-mt-gd-1_44.lib'". Что это вообще за файл? |
|
|
maxpop |
![]()
Сообщение
#4
|
Новичок Группа: Новичок Сообщений: 4 Регистрация: 28.2.2011 Пользователь №: 2455 Спасибо сказали: 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 |
![]()
Сообщение
#5
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 430 Регистрация: 15.4.2009 Пользователь №: 686 Спасибо сказали: 26 раз(а) Репутация: ![]() ![]() ![]() |
Вопрос по Вашему коду. В каком диапазоне выводятся рандомные числа? от 0 до 1? согласно экспоненциальному распределению с параметром 5, т.е. функция распределения F(t) = 1 - exp(-5*t). я не знаю какое тебе распределение нужно, посмотри документацию boost там множество разных распределений поддерживается. скорее всего тебе равномерное распределение нужно(uniform distribution) Сообщение отредактировал DEADHUNT - 1.3.2011, 10:56 |
|
|
maxpop |
![]()
Сообщение
#6
|
Новичок Группа: Новичок Сообщений: 4 Регистрация: 28.2.2011 Пользователь №: 2455 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Вопрос по Вашему коду. В каком диапазоне выводятся рандомные числа? от 0 до 1? согласно экспоненциальному распределению с параметром 5, т.е. функция распределения F(t) = 1 - exp(-5*t). я не знаю какое тебе распределение нужно, посмотри документацию boost там множество разных распределений поддерживается. скорее всего тебе равномерное распределение нужно(uniform distribution) Спасибо. Взял uniform_int. Все работает нормально. Еще раз спасибо. |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 21.5.2025, 8:36 |