_Ziens_

Вероятность вытащить верный билет, когда выучил 25/40 вопр.

May 26th, 2020
160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 0.93 KB | None | 0 0
  1. n=10000; % Кол-во повторений экспериментов
  2. tests = zeros(1, n); % Массив с частотами
  3. testsN = zeros(1, n); % Накопительная средняя вероятность
  4.  
  5. %Проверяем распределение
  6. for i=1:n
  7.   t = randTickets(25,40); %  Генерируем билеты, где 25 из 40 верные
  8.   [first,second] = takeTicket(40); % Получаем пару двух разных чисел
  9.   tests(i) = t(first) * t(second); % Выход 1, если оба верны
  10.   testsN(i) = sum(tests(1:i))/i;
  11. end
  12.  
  13. plot(testsN);
  14. grid on;
  15.  
  16. mean(tests) % Выводим вероятность
  17.  
  18. function t=randTickets(n,m)
  19.   t = zeros(1, m);
  20.   cnt = 0;
  21.   while(sum(t) != n)
  22.     i = ceil(rand()*m);
  23.     t(i) = 1.0;
  24.   endwhile
  25. endfunction
  26.  
  27. function [a b]=takeTicket(n)
  28.   a=ceil(rand()*n);
  29.   b = a;
  30.   while b == a
  31.     b = ceil(rand()*n);
  32.   endwhile
  33. endfunction
Add Comment
Please, Sign In to add comment