crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в Пример boost::random_device
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
Теги
Выровнять по центру
Ссылка на тему
Ссылка на сообщение
Скрытый текст
Сокращение
Код с подсветкой
Offtopic
 
Удалить форматирование
Спец. элементы
Шрифт
Размер
 
Цвет шрифта
 
Отменить ввод
Вернуть ввод
Полужирный
Курсив
Подчеркнутый
 
 
Смайлики
Вставить изображение
Вставить адрес электронной почты
Цитата
Код
Раскрывающийся текст
 
Увеличить отступ
По левому краю
По центру
По правому краю
Вставить список
Вставить список

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
maxpop Дата 2.3.2011, 1:01
 
Цитата(DEADHUNT @ 1.3.2011, 8:43) *
Цитата(maxpop @ 1.3.2011, 2:37) *
Вопрос по Вашему коду. В каком диапазоне выводятся рандомные числа? от 0 до 1?

согласно экспоненциальному распределению с параметром 5, т.е. функция распределения F(t) = 1 - exp(-5*t).
я не знаю какое тебе распределение нужно, посмотри документацию boost там множество разных распределений поддерживается.
скорее всего тебе равномерное распределение нужно(uniform distribution)


Спасибо. Взял uniform_int. Все работает нормально. Еще раз спасибо.
DEADHUNT Дата 1.3.2011, 8:43
 
Цитата(maxpop @ 1.3.2011, 2:37) *
Вопрос по Вашему коду. В каком диапазоне выводятся рандомные числа? от 0 до 1?

согласно экспоненциальному распределению с параметром 5, т.е. функция распределения F(t) = 1 - exp(-5*t).
я не знаю какое тебе распределение нужно, посмотри документацию boost там множество разных распределений поддерживается.
скорее всего тебе равномерное распределение нужно(uniform distribution)
maxpop Дата 1.3.2011, 2:37
  Точнее не что это за файл, почему он может не открываться?
В VC в Project->properties->vc++ directories->include directories добавил путь к бусту

фух, все запустилось) прописал путь к папке либ.
Вопрос по Вашему коду. В каком диапазоне выводятся рандомные числа? от 0 до 1?

Цитата(maxpop @ 1.3.2011, 2:23) *
Точнее не что это за файл, почему он может не открываться?
В VC в Project->properties->vc++ directories->include directories добавил путь к бусту

фух, все запустилось) прописал путь к папке либ.
Вопрос по Вашему коду. В каком диапазоне выводятся рандомные числа? от 0 до 1?


По сути мне надо выбрать движение вправо или влево. Относительно какого числа можно смотреть получившийся рандом, что бы если rnd()>x двигаться вправо, rnd()<x двигаться влево? И как вычислять это число, если менять параметр у exp(a)?
maxpop Дата 1.3.2011, 1:19
  Спасибо.
Вы не подскажите, что я делаю не правильно? Стоит VS10. Я указываю путь то буста, все библиотеки читаются, но при компиляции вылетает вот эта ошибка:"1>LINK : fatal error LNK1104: cannot open file 'libboost_random-vc100-mt-gd-1_44.lib'". Что это вообще за файл?
DEADHUNT Дата 28.2.2011, 17:00
  вот пример генерации 10 случайных величин ~ Exp(5)
#include <boost/random.hpp>
#include <boost/nondet_random.hpp>
#include <iostream>
#include <ctime>

int main()
{
    boost::random_device rng;
    boost::exponential_distribution<> exp_distr(5);
    boost::variate_generator<boost::random_device&, boost::exponential_distribution<> > gen(rng, exp_distr);
    for (int i = 0; i < 10; ++i)
        std::cout << gen() << std::endl;
    return 0;
}
maxpop Дата 28.2.2011, 1:24
  Доброго времени суток!
В проекте необходимо использовать ГСЧ. Полазив в интернете нашел библиотечки boost. Недетерминированный генератор истинно случайных чисел то-что нужно. Но не понимаю как пользоваться этим классом(не очень много знаю в C++). Поэтому прошу написать какой-нить простенький примерчик, который бы выводил случайное число.
Просмотр темы полностью (откроется в новом окне)
RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 7.7.2025, 19:29