Нормальное распределение
Случайная величина X распределена по нормальному закону, если ее плотность вероятности равна

Для нормального закона распределения:

Функция распределения нормально распределенной случайной величины

Функция F(x) связана с функцией Лапласа

Следует вспомнить из предыдущего раздела рекуррентную функцию вычисления функции Лапласа и используя ее составить функцию вычисления нормально распределенной случайной величины:
{ Рекуррентная функция вычисления интеграла вероятностей }
{ Пределы интегрирования от 0 до x. Функция Муавра-Лапласа }
Function FF(x : real) : real;
var
n : integer;
u, I : real;
begin
if
x > 5
then FF := 1
else if x < -5
then
FF := -1
else
begin
u := x; n := 0; I := 0;
repeat
I := I + u; n := n + 1;
u := -u*(x*x*(2*n - 1)/(2*n*(2*n + 1)))
until
abs(u) < 0.00001;
FF := 2*I/sqrt(2*Pi)
end
end;

Для нормальной распределенной случайной величины X верны формулы

вероятность того, что X примет значения от



вероятность отклонения X от a
по модулю меньше, чем на


правило "трех сигм".
Примеры
1. Автомат штампует детали. Контролируется длина детали X, которая распределена нормально с математическим ожиданием (проектная длина), равным 50 мм. Известно, что средняя квадратическая ошибка равна 3.6 мм.
Найти вероятность того, что длина наудачу взятой детали находится в границах а) от 55 мм до 68 мм; б) от 32 мм до 40 мм.
Математическое решение задачи
По условию

а)



б)

Для составления программы достаточно использовать функцию Муавра-Лапласа.
Программа
Program Normal1;
uses WinCrt;
var
a, a1, b, c, PP : real;
{----------------------------------------------------------------------------------------}
{ Функция Муавра-Лапласа }
Function FF(x : real) : real;
var
n : integer; u, I : real;
begin
if x >= 5
then FF := 1
else if x <= -5
then FF := -1
else
begin
u := x; n := 0; I := 0;
repeat
I := I + u; n := n + 1;
u := -u*(x*x*(2*n - 1)/(2*n*(2*n + 1)))
until abs(u) < 0.00001;
FF := 2*I/sqrt(2*Pi)
end
end;
{----------------------------------------------------------------------------------------}
begin
write('Введите математическое ожидание (проектную длину) a ');
readln(a);
write('Введите левую границу интервала '); readln(a1);
write('Введите правую границу интервала '); readln(b);
write('Введите среднюю квадратическую ошибку '); readln(c);
pp := 0.5*(FF((b - a)/c)-FF((a1 - a)/c));
write('Вероятность того, что деталь находится в ');
writeln('заданных границах равна ', pp:1:6)
end.
2. Автомат изготовляет шарики для подшипников. Шарик считаем принятым, если отклонение X диаметра шарика от заданного размера по абсолютной величине меньше 0.7 мм. Считается, что X распределена нормально со средним квадратическим отклонением

Решение
По условию задачи отклонение X шарика от заданного размера a есть случайная величина.
Следовательно, M(X) = 0. Допустимая ошибка отклонения



Тогда из 50 шариков в среднем будет принято 50

Программа
Program Normal2;
uses WinCrt;
var
e, c : real;
n : integer;
{----------------------------------------------------------------------------------------}
{ Функция Муавра-Лапласа }
Function FF(x : real) : real;
var
n : integer;
u, I : real;
begin
if x >= 5
then FF := 1
else if x <= -5
then FF := -1
else
begin
u := x; n := 0; I := 0;
repeat
I := I + u;
n := n + 1;
u := -u*(x*x*(2*n - 1)/(2*n*(2*n + 1)))
until abs(u) < 0.00001;
FF := 2*I/sqrt(2*Pi)
end
end;
{----------------------------------------------------------------------------------------}
begin
writeln('Введите отклонение X диаметра шарика');
write('от заданного размера по абсолютной величине '); readln(e);
write('Введите среднее квадратическое отклонение '); readln(c);
write('Введите число изготовленных шариков '); readln(n);
n := Round(FF(e/c)*n);
writeln('Число годных шариков равно ', n)
end.
3. Случайная величина X распределена нормально со средним квадратическим отклонением

Решение
В условии задачи дано, что




По формуле (5) получаем

Теперь остается найти аргумент функции Муавра-Лапласа. Для этого достаточно составить следующую небольшую процедуру:
{ Процедура нахождения аргумента функции Муавра-Лапласа }
Procedure
Argument(PP : real; var x : real);
begin
x := 0;
repeat
x := x + 0.0001
until FF(x) >= PP
end;
Процедуре организована с помощью цикла с последующим условием repeat
... until ... , в котором заведомо установлен шаг - 0.0001 для поиска аргумента. Однако этот шаг можно изменить или вводить в процедуру по усмотрению пользователя.
Тогда процедуру можно построить так:
{ Процедура нахождения аргумента функции Муавра-Лапласа }
Procedure
Argument(PP, eps : real; var x : real);
begin
x := 0;
repeat
x := x + eps
until FF(x) >= PP
end;