Skip to content

Commit

Permalink
с++ -> cpp в code class справки
Browse files Browse the repository at this point in the history
  • Loading branch information
bogachev-pa committed Oct 6, 2014
1 parent 0cd7f29 commit 55c0cea
Show file tree
Hide file tree
Showing 3 changed files with 3 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ <H1>ОЦЕНКА КАЧЕСТВА РАСПРЕДЕЛЕНИЯ</H1>
<P>Одним из простейших методов оценки является графический. В данном методе строится, например, гистограмма распределения элементов полученной последовательности, и зрительно оценивается её соответствие ожидаемому распределению.</P>
<P>В качестве примера будет проведена оценка качества генератора псевдослучайного экспоненциального распределения с интенсивностью 1, базовое распределение для которого было получено в разделе "<A href="rdo_theory_principles.htm#base_uniform_distribution">Принципы генерации псевдослучайных чисел</A>", а преобразование к экспоненциальному выполнено в разделе "<A href="rdo_theory_seq_inverse.htm#exponential_distribution">Метод обратного преобразования</A>".</P>
<P>Полный код генератора приведен ниже.</P>
<PRE><code class="c++">#include &lt;iostream&gt;
<PRE><code class="cpp">#include &lt;iostream&gt;
#include &lt;climits&gt;
#include &lt;cmath&gt;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ <H1>ГЕНЕРАЦИЯ ПСЕВДОСЛУЧАЙНЫХ ЧИСЕЛ</H1>
<P>Генерация псевдослучайных чисел будет рассмотрена на примере базового равномерного распределения. Базовое равномерное распределение представляет собой равномерное распределение на интервале от 0 до 1. Данное распределение используется как основа для <A href="rdo_theory_seq_inverse.htm">получения распределений по другим законам</A>.</P>
<P>Одним из простейших алгоритмов генерации псевдослучайных чисел является <A href="https://ru.wikipedia.org/wiki/Линейный_конгруэнтный_метод">линейный конгруэнтный метод</A>. Суть заключается в том, что база генератора все время растет и переполняет память, которая ограничена, например, 8 байтами. Лишнее отбрасывается.</P>
<P><A name="base_uniform_distribution"></A>Ниже приведен программы на языке C++, которая выводит на экран первые 100 чисел базового равномерного распределения с базой 123456789.</P>
<PRE><code class="c++">#include &lt;iostream&gt;
<PRE><code class="cpp">#include &lt;iostream&gt;
#include &lt;climits&gt;

static const unsigned int seed_init = 123456789;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ <H1>МЕТОД ОБРАТНОГО ПРЕОБРАЗОВАНИЯ</H1>
<P>Теперь форма распределения приводится к необходимому виду масштабированием и/или смещением:</P>
<P style="text-indent: 2em;"><I> F_inv = -(factor / lambda) * ln(1 - base_uniform())</I></P><BR>
<A name="exponential_distribution"></A><P>Ниже приведен пример функции на языке C++, выполняющей данные преобразования.</P>
<PRE><code class="c++">static double exp_distr(double lambda, double factor)
<PRE><code class="cpp">static double exp_distr(double lambda, double factor)
{
return -1 * log(1 - base_uniform()) / lambda * factor;
}</code></PRE>
Expand Down

0 comments on commit 55c0cea

Please sign in to comment.