Нелишним будет уточнить на каком языке программирования вы собираетесь писать программу.
В справочнике по этому языку найдите подпрограмму формирования псевдослучайных (ПС)-чисел. Обычно разработчиками среды программирования закладывается возможность формировать равномерно-распределённые на некотором интервале
![$[0,\Delta]$ $[0,\Delta]$](https://dxdy-03.korotkov.co.uk/f/6/f/b/6fb5ea439795d501606c2739782f6af682.png)
ПС-числа. Математическое ожидание формируемой случайной величины
![$m_0=\frac {\Delta} 2$ $m_0=\frac {\Delta} 2$](https://dxdy-04.korotkov.co.uk/f/f/e/2/fe28ccc2a0a180582f7759effa5817c582.png)
, дисперсия
![$\sigma^2_0=\frac {\Delta^2} {12}$ $\sigma^2_0=\frac {\Delta^2} {12}$](https://dxdy-03.korotkov.co.uk/f/a/d/3/ad3bb8b7befb3731ff5962825847328082.png)
.
Начните с простого: сформируйте нормальную случайную величину. Для этого, используя стандартную подпрограмму плучите
![$N>25$ $N>25$](https://dxdy-03.korotkov.co.uk/f/e/5/f/e5fd631089c72d438b1bc4da8247143782.png)
ПС-чисел
![$x_0,...,x_{N-1}$ $x_0,...,x_{N-1}$](https://dxdy-04.korotkov.co.uk/f/f/3/c/f3c18c18563b5250a99bffc6509df58d82.png)
(чем больше значение
![$N$ $N$](https://dxdy-04.korotkov.co.uk/f/f/9/c/f9c4988898e7f532b9f826a75014ed3c82.png)
- тем точнее результат). Нормально-распределённое ПС-число:
![$y=x_0+x_1+...+x_{N-1}$ $y=x_0+x_1+...+x_{N-1}$](https://dxdy-02.korotkov.co.uk/f/5/0/8/508c359774b9285db7aaec1fcce2ac0f82.png)
, имеет математическое ожидание, равное сумме математических ожиданий слагаемых:
![$m=Nm_0$ $m=Nm_0$](https://dxdy-04.korotkov.co.uk/f/f/4/4/f4447a52c6477e624b9d0d1a638db2ca82.png)
, дисперсия (в предположении независимости слагаемых) равна сумме дисперсий
![$\sigma^2\approx N\sigma^2_0$ $\sigma^2\approx N\sigma^2_0$](https://dxdy-04.korotkov.co.uk/f/b/f/a/bfa0397c4e27fb51f19929f55b3d757282.png)
. Нормально распределённое ПС-число с единичной десперсией и нулевым математическим ожиданием:
![$z=\frac {y-m} {\sigma}$ $z=\frac {y-m} {\sigma}$](https://dxdy-01.korotkov.co.uk/f/8/7/0/8708759744b1af2cb2ab5683d4ac5a0882.png)
.
Обычно при формировании ПС-величин с заданным распределением оказываются заданными и параметры распределения. Пусть в нашем случае задано математическое ожидание
![$m_r$ $m_r$](https://dxdy-03.korotkov.co.uk/f/e/0/f/e0ffb7923dc0652edb9d442e8944680f82.png)
и дисперсия
![$\sigma^2_r$ $\sigma^2_r$](https://dxdy-01.korotkov.co.uk/f/c/7/2/c72ce6b5c1af9a48c6e41ad6a24b58bb82.png)
, тогда подпрограмма формирования нормально-распределённых ПС-чисел должна возвратить:
![$r=z\sigma_r + m_r$ $r=z\sigma_r + m_r$](https://dxdy-04.korotkov.co.uk/f/b/2/f/b2fc5e042fe20e6db1824f6c2865d9ee82.png)
.
После программирования следует выполнить тестирование, включающее и построение гистограммы - необходимо убедится, что формируется нормально-распределённое ПС-число.
Алгоритм:
1. Вход в подпрограмму, принять данные
![$\sigma_r^2; m_r$ $\sigma_r^2; m_r$](https://dxdy-02.korotkov.co.uk/f/5/4/c/54cc4433000014f3b46b68f1682b33a982.png)
2. Задать
![$N,\Delta$ $N,\Delta$](https://dxdy-03.korotkov.co.uk/f/e/2/0/e202f5155485a587e406f18065a59f7982.png)
, рассчитать
![$m_0=\frac {\Delta} 2;\sigma^2_0=\frac {\Delta^2} {12};m=Nm_0;\sigma^2\approx N\sigma^2_0$ $m_0=\frac {\Delta} 2;\sigma^2_0=\frac {\Delta^2} {12};m=Nm_0;\sigma^2\approx N\sigma^2_0$](https://dxdy-02.korotkov.co.uk/f/9/5/c/95cc8be25f7f226e4712aa91c766c39182.png)
(эти данные не будут изменяться при различных вызовах подпрограммы)
3. Получить
![$x_0,...,x_{N-1}$ $x_0,...,x_{N-1}$](https://dxdy-04.korotkov.co.uk/f/f/3/c/f3c18c18563b5250a99bffc6509df58d82.png)
4.
![$y=x_0+x_1+...+x_{N-1}$ $y=x_0+x_1+...+x_{N-1}$](https://dxdy-02.korotkov.co.uk/f/5/0/8/508c359774b9285db7aaec1fcce2ac0f82.png)
5.
![$z=\frac {y-m} {\sigma}$ $z=\frac {y-m} {\sigma}$](https://dxdy-01.korotkov.co.uk/f/8/7/0/8708759744b1af2cb2ab5683d4ac5a0882.png)
.
6. Вернуть результат
![$r=z\sigma_r + m_r$ $r=z\sigma_r + m_r$](https://dxdy-04.korotkov.co.uk/f/b/2/f/b2fc5e042fe20e6db1824f6c2865d9ee82.png)
Когда сделаете - покажите код и гистограмму.
![:mrgreen: :mrgreen:](./images/smilies/icon_mrgreen.gif)