2014 dxdy logo

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

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




 
 Численное нахождение верхнего предела интеграла
Сообщение02.12.2014, 03:53 
Всем привет !

Известна функция плотности распределения $p(t)$. Необходимо моделировать СВ распределенные по этому закону.
В арсенале имеется только генератор случайных чисел языка программирования, который выдает равномерно распределенные на (0,1) числа.
Идея следующая :
1) разбить отрезок [a,b], на котором определена функция распределения, на n частей так, чтобы вероятности "попадания" в каждую часть были постоянными.
2) дальше с помощью равномерно распределенных СВ генерировать величины с распределением $p(t)$.

Задача в том, чтобы отыскать $a = a_0 < a_1 < ... < a_n = b$$.
Так как вероятность попадания в каждый из интервалов $(a_k, a_{k+1})$ одинаковая, то все сводится к решению следующей задачи (отысканию $a_{k+1}$) :

$\frac{1}{n} = \int\limits_{a_k}^{x}p(t)dt$

ВОПРОС : как отыскать верхний предел интеграла ЧИСЛЕННО ?

Буду благодарен за идеи, названия методов или литературу по теме.

 
 
 
 Re: Численное нахождение верхнего предела интеграла
Сообщение02.12.2014, 10:47 
Аватара пользователя
Ну, например, решать дифур $y'=p(x)$ любым численным методом, запоминая моменты (вернее, значения x) достижения y значений $\frac i n$ (при необходимости интерполируя между соседними точками)

 
 
 
 Re: Численное нахождение верхнего предела интеграла
Сообщение03.12.2014, 11:24 
Стандартно (причём формально точно) это генерируется безо всяких разбиений, методом "приём-отклонение". Генерируется пара равномерно распределённых чисел $x\in[a;b]$ и $y\in[0;m]$, где $m$ -- максимальное значение плотности. Затем проверяется, будет ли $y<p(x)$. Если да, то $x$ принимается в качестве очередного сгенерированного; в противном случае генерируется очередная пара. В типичной ситуации доля брака -- порядка 50%, что в высшей степени эффективно; если же у плотности есть острый пик, то можно подумать об оптимизации этого процесса.

 
 
 
 Re: Численное нахождение верхнего предела интеграла
Сообщение04.12.2014, 14:27 
Аватара пользователя
Вы правы, но вообще ТС стоило бы ознакомиться с техникой выработки таких чисел. Скажем, в пределах соответствующей главы Кнута.

 
 
 
 Re: Численное нахождение верхнего предела интеграла
Сообщение04.12.2014, 15:29 
Постройте кумулятивную функцию распределерия $F$ (интеграл от $p$). Найдите значения этой функции в точке $a_k$, найдите $F(a_k)+ \frac{1}{n}$ .

 
 
 [ Сообщений: 5 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group