Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- n=10000; % Кол-во повторений экспериментов
- tests = zeros(1, n); % Массив с частотами
- testsN = zeros(1, n); % Накопительная средняя вероятность
- %Проверяем распределение
- for i=1:n
- t = randTickets(25,40); % Генерируем билеты, где 25 из 40 верные
- [first,second] = takeTicket(40); % Получаем пару двух разных чисел
- tests(i) = t(first) * t(second); % Выход 1, если оба верны
- testsN(i) = sum(tests(1:i))/i;
- end
- plot(testsN);
- grid on;
- mean(tests) % Выводим вероятность
- function t=randTickets(n,m)
- t = zeros(1, m);
- cnt = 0;
- while(sum(t) != n)
- i = ceil(rand()*m);
- t(i) = 1.0;
- endwhile
- endfunction
- function [a b]=takeTicket(n)
- a=ceil(rand()*n);
- b = a;
- while b == a
- b = ceil(rand()*n);
- endwhile
- endfunction
Add Comment
Please, Sign In to add comment