2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


В этом разделе нельзя создавать новые темы.



Начать новую тему Ответить на тему На страницу Пред.  1, 2
 
 
Сообщение10.02.2009, 09:41 
Заслуженный участник


11/05/08
32166
Стандартный алгоритм таков. Берём два равномерно распределённых случайных числа: $x\in(-\pi;\pi)$ и $y\in(0;2)$. Число $x$ принимается в качестве очередного, если $y<1+\cos(x)$, в противном случае отвергается. Эффективность весьма высокая -- в среднем будет приниматься каждое второе число. Точность абсолютна (в пределах качества равномерного генератора, разумеется).

 Профиль  
                  
 
 
Сообщение10.02.2009, 09:57 
Заслуженный участник
Аватара пользователя


13/08/08
14495
Объясните мне, пожалуйста, насчет множителя $\frac {1}{2\pi}$. Он не обязателен здесь? Ведь функция распределения должна быть равна 1 в точке $\pi$? В Монте-Карло понятно, всё сокращается. Вообще изначально для закона распределения?

 Профиль  
                  
 
 
Сообщение10.02.2009, 10:02 
Заслуженный участник


11/05/08
32166
Не обязателен -- нормировка произойдёт автоматически. Функция распределения в явном виде здесь вообще не участвует.

Метод вполне универсален и общепринят. Например, так можно эффективно генерировать синусы и косинусы случайных углов (что практически важно), причём не используя самих синусов и косинусов -- только немножко арифметических операций.

 Профиль  
                  
 
 
Сообщение11.02.2009, 01:59 
Заблокирован


19/09/08

754
График.
Изображение

 Профиль  
                  
 
 
Сообщение11.02.2009, 18:19 


03/12/06
14
Да, я в общем-то решила задачу именно описанным выше способом. Когда поднимала тему еще не догадалась... Результаты получила удовлетворительные, но время вычислений конечно капитально увеличилось, но по всей видимости эту проблему просто не решить.

 Профиль  
                  
 
 
Сообщение11.02.2009, 18:30 
Заслуженный участник


11/05/08
32166
MarinaV в сообщении #185650 писал(а):
, но время вычислений конечно капитально увеличилось

коль скоро все счастливы, то вопрос вроде и празден, и всё же откровенная загадка: по сравнению с чем увеличилось? (и, кстати, какой метод?)

 Профиль  
                  
 
 
Сообщение11.02.2009, 21:39 


03/12/06
14
Имелось в виду по сравнению с моделированием иных распределений, для которых сучествует обратная функция к функции интегрального распределения...

 Профиль  
                  
 
 
Сообщение11.02.2009, 21:49 
Заслуженный участник


11/05/08
32166
ну, поскольку я зануда, то я вот и занудствую.

Подсчитайте к-во операций, требуемое для вычисления обратной функции (а поди её исчо посчитай) -- и для "случайного" метода

 Профиль  
                  
 
 
Сообщение12.02.2009, 02:38 


03/12/06
14
Спасибо большое, ewert, за Ваше занудство... В виду своей невнимательности :oops: , я использовала отличный от предложенного Вами метода (с лишним вложенным циклом).
Испробывала Ваш - понравилось! Все отлично, быстро и точно!
Пасиба!!! :D

 Профиль  
                  
 
 
Сообщение12.02.2009, 11:40 
Заслуженный участник


11/05/08
32166
ну, положим, не из тысячи, а из сотни -- но, в принципе, верно. А если интервал значений случайной величины бесконечен, то метод и вообще не будет работать в оригинальном виде. Но его запросто можно подкорректировать, и это -- тоже стандартная идея. Надо попросту сделать подходящую замену переменной (типа $Y={1\over X+1$), после которой область значений станет ограниченной.

 Профиль  
                  
 
 
Сообщение12.02.2009, 13:29 
Заслуженный участник
Аватара пользователя


13/08/08
14495
Прошу прощения - я в панике удалил своё предыдущее сообщение, в котором написал, что доля принимаемых значений будет равна отношению площади под кривой плотности распределения к площади прямоугольника, ограничивающего график.

В случае очень маленькой дисперсии при достаточно большом интервале значений СВ, невысокая доля принимаемых значений может повлиять на выбор метода.

Я имею в виду, что если время вычисления функции плотности сравнимо с таковым для функции, обратной к функции распределения, то при большом числе требуемых значений...
Впрочем, это всё банальные вещи и написаны более ради написания :)

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 26 ]  На страницу Пред.  1, 2

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group