Паскаль. Основы программирования

       

Новый способ задания случайной величины


Ранее дискретная случайная величина характеризовалась законом распределения. Однако задать случайную величину можно и иначе, например так называемой функцией распределения

Этот способ является более общим, чем предыдущий и приводит нас к рассмотрению непрерывных случайных величин.

Рассмотрим событие, состоящее в том, что случайная величина Y примет какое-нибудь значение, меньшее произвольного числа x, т.е. Y < x. Оно имеет определенную вероятность. Обозначим ее F(x) = P(Y < x).

При изменении x будут, вообще говоря, меняться вероятности

 Поэтому F(x) можно рассматривать как функцию переменной величины x. Случайная величина будет полностью охарактеризована, если для каждого x
 будет известно значение функции.

Определение. Функцией распределения случайной величины Y называется функция F(x), выражающая для каждого x вероятность того, что случайная величина Y примет какое-нибудь значение, меньшее x.

Будем говорить, что известно распределение случайной величины Y, если известна ее функция распределения F(x).

Пример 1. Пусть вероятность изготовления нестандартного изделия при некотором технологическом процессе равна 0.06. Контролер берет из партии изделие и сразу проверяет его качество. Если оно оказывается нестандартным, дальнейшие испытания прекращаются, а партия задерживается. Если же изделие оказывается стандартным, контролер берет следующее и т. д., но всего проверяет не более пяти изделий. Найти функцию распределения случайной величины Y - числа проверяемых изделий.

Решение

Нам известен закон распределения случайной величины:

Число проверяемых изделий



1

2

3

4

5

Вероятность

0.06

0.056

0.053

0.050

0.0781

Случайная величина Y не принимает значений, меньших 1. Следовательно, если x

 1, то событие Y < x невозможно, а вероятность его равна нулю. Поэтому равна нулю функция распределения случайной величины Y для всех значений x
1. Для всех x, удовлетворяющих двойному неравенству 1 < x
 2, функция F(x) равна 0.06.
Действительно, если, например, x = 1.2, то F(x) означает вероятность события
 Но случайная величина Y принимает значение, меньшее 1.2, в одном случае: значение 1 с вероятностью 0.06.

Покажем, что для всех x, удовлетворяющих двойному неравенству 2 < x
 3,
 Пусть, например,
 Тогда F(3) выражает вероятность события
 Это возможно в двух случаях: или случайная величина Y принимает значение 1 (с вероятностью 0.06), или 2 (с вероятностью 0.056). Применяя теорему сложения вероятностей, мы и получим указанное значение функции F(x) при x = 3.

Аналогичными рассуждениями можно найти функцию распределения. Запишем ее в виде таблицы.

x

x
1

1<x
2

2<x
3

3<x
4

4<x
5

x>5

F(x)

0

0.06

0.116

0.169

0.219

1

Программа

В программе обратите внимание на организацию форматированного вывода результата.

Program Function1; { Функция распределения случайной величины }

   uses WinCrt;

   Const

       k = 20;

   type

       t  = array[1..k] of integer;

       tt = array[0..k] of real;

   var

       x     : t;            p     : tt;

       i, n  : integer;  pp   : real;

   begin

     write('Введите общее число проверяемых изделий '); readln(n);

     writeln('Вводите число изделий и соответствующие им вероятности');

     for i := 1 to

n do

       begin

         write('Число изделий '); readln(x[i]);

         write('Соответствующая вероятность '); readln(p[i])

       end;

     for i := 1 to n do write(x[i]:2+i*2); writeln;

     for i := 1 to n do write(p[i]:1:4, ' ':3); writeln;

     writeln('Значения аргумента функции распределения x');

     write('(-бесконечность; ', x[1], ']; ':4);

     for i := 1 to

n-1 do write('(', x[i], '; ',x[i + 1], ']', '; ':3);

     write('(', x[n], '; +бесконечность)'); writeln;

     write('                ',0:4, '    '); pp := 0;

     for i := 1 to n - 1 do

       begin

         pp := pp + p[i];

         write(pp:1:4, ' ':2)

       end;

     write(0:4, ' '); writeln



   end.

 

Пример 2. Прибор состоит из двух блоков, вероятность безотказной работы каждого из которых в течение времени
равна 0.5. Найти ряд распределения для числа блоков, работающих в момент t = T. Найти функцию распределения F(x) дискретной случайной величины X, заданной в задаче.

Решение

Ряд распределения вероятностей

 

xi

0

1

2

pi

1/4

1/2

1/4

Если x <= 0, то F(x) = 0, так как нет ни одного значения X левее нуля.

Если 0 < x
 1, то в промежуток (
; x) попадает одно значение X = 0, следовательно, F(x) = P(X = 0) = 1/4 = 0.25.

Если 1 < x
 2, то в промежуток (
, x) попадает два значения X = 0 и X=1, следовательно, F(x) = P(X = 0) + P(X =1) = 3/4 = 0.75.

Если 2 < x <
, то в промежуток (
, x) попадают все значения X т.е. X=0, X = 1, X = 2. Следовательно, F(x) = 1.

Получаем



Свойства функции распределения: F(
) = 0; F(
) = 1; 0
 F(x)
 1; если
 то


Другими словами, функция распределения любой случайной величины является неубывающей функцией, а изменяется она от 0 до 1 при изменении x от
 до
.

Программа

Program Function2; { Функция распределения случайной величины }

   uses WinCrt;

   Const

       k = 20;

   type

       t  = array[1..k] of integer;

       tt = array[0..k] of real;

   var

       x          : t;

       p, pp   : tt;

       i, n, m : integer;

       xx        : real;

{----------------------------------------------------------------------------------------}

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

   Function Fx(xx : real) : real;

      begin

        if xx <= 0

          then Fx := 0

          else

            if (xx > 0) and (xx <= 1)

              then Fx := pp[1]

              else

                if (xx > 1) and (xx <= 2)

                  then Fx := pp[2]

                  else Fx := 1

      end;

{----------------------------------------------------------------------------------------}

   begin

     write('Введите общее число испытаний '); readln(n);



     writeln('Вводите число испытаний и соответствующие им вероятности');

     for i := 1 to

n do

       begin

         write('Число испытаний '); readln(x[i]);

         write('Соответствующая вероятность '); readln(p[i])

       end;

     for i := 1 to n do write(x[i]:3+i*2); writeln;

     for i := 1 to n do write(p[i]:1:4, ' ':3); writeln;

     writeln(' Значения аргумента функции распределения x');

     write('(-бесконечность; ', x[1], ']; ':4);

     for i := 1 to

n-1 do write('(', x[i], '; ',x[i + 1], ']', '; ':4);

     write('(', x[n], '; +бесконечность)'); writeln;

     write('              ',0:4, '    ');

     m := 0; pp[0] := 0;

     for i := 1 to n - 1 do

       begin

         m := m + 1;

         pp[m] := pp[m-1] + p[i];

         write(pp[m]:1:4, ' ':2)

       end;

     write(1:4, ' '); writeln;

     writeln('Функция распределения случайной величины');

     write('Введите значение аргумента '); readln(xx);

     writeln('Значение функции F(x) равно ' , Fx(xx):1:4)

   end.

Вероятность попадания случайной величины X в промежуток [a; b) определяется формулой  

                                
                           (1)


Содержание раздела