МИНОБРНАУКИ РОССИИ
Санкт-Петербургский государственный
электротехнический университет
«ЛЭТИ» им. В.И. Ульянова (Ленина)
Кафедра РС
отчет
по индивидуальному домашнему заданию № 1
по дисциплине «Математическое моделирование радиотехнических устройств и систем»
Студент гр. 7103
|
________________
|
Норбутаев Т.Т.
|
Преподаватель
|
________________
|
Соколова А.А.
|
Санкт-Петербург
2022
Индивидуальное домашнее задание № 1
Задача 1
Условие задачи
Два стрелка стреляют поочередно по мишени, причем стрельба ведется до первого попадания. Определить закон распределения вероятностей случайной величины число произведенных выстрелов, если известно, что при одном выстреле вероятность попадания первого стрелка равна , а второго стрелка – .
Аналитическое решение
Пусть – вероятность попадания первого стрелка; – вероятность попадания второго стрелка; – количество выстрелов; – число экспериментов. Тогда плотность распределения вероятности числа произведённых выстрелов определяется следующим образом:
В общем виде это выражение можно представить как
где % означает операцию вычисления остатка от деления.
Моделирование в среде разработки Matlab
В данном разделе приводится код программы в программной среде разработки Matlab, осуществляющий моделирование решения данной задачи, в результате которого вычисляются вероятности исхода нужного события для каждого совершаемого выстрела, а также строится график дискретной плотности распределения вероятности (см. рис. 1 – 3).
%% параметры
p1 = 0.5; %вероятность попадания 1-го стрелка
p2 = 0.2; %вероятность попадания 2-го стрелка
n = 10000; %число экспериментов
kmax = 20; %кол-во выстрелов
% % проверка условия на p_i -> [0;1]
% if p1 > 1 % больше 1 нельзя
% p1 = 1;
% end
%
% if p1 < 0
% p1 = 0;
% end
%
% if p2 > 1
% p2 = 1;
% end
% if p2 < 0
% p2 = 0;
% end
%% расчёт
ko = 0;
i = 1;
frh(kmax) = 0;
for i = i : (n+1)
k = 1;
flag = 0;
v = rand;
if p1 > v
frh(k) = frh(k) + 1;
ko = ko + 1;
flag = 1;
else
v = rand;
k = 2;
if p2 > v
frh(k) = frh(k) + 1;
ko = ko + 1;
flag = 1;
end
end
while flag == 0 & kmax > k
v = rand;
k = k + 1;
if p1 > v
frh(k) = frh(k) + 1;
ko = ko + 1;
flag = 1;
else
v = rand;
if k < kmax
k = k + 1;
if p2 > v
frh(k) = frh(k) + 1;
ko = ko + 1;
flag = 1;
end
end
end
end
end
figure(1);
bar(1:kmax,frh/ko); %вывод гистограммы
hold on;
title('Плотность вероятности');
i = 1;
frh2(kmax) = 0;
k = 1;
for i = i : kmax
frh2(i) = (1 - p1)^((i - (rem(i,2)))/2) * (1 - p2)^((i - (rem(i,2)))/2 - rem((i + 1),2)) * p1^(rem(i,2)) * p2^(rem((i+1),2));
end
stem(1:kmax,frh2,'r-','LineWidth',2); %вывод посчитанных по теор. формуле отсчетов
xlabel('Количество выстрелов');
ylabel('Вероятность');
grid minor;
legend('Эксперимент','Теория');
Рисунок 1 –
Рисунок 2 –
Рисунок 3 –
Выводы
В ходе данного индивидуального домашнего задания был выполнен аналитический расчет и осуществлено моделирование рассматриваемой задачи. Выведена формула для плотности распределения вероятности числа выстрелов. Помимо этого, была смоделирована серия экспериментов в программной среде разработки MATLAB. Данные, полученные в ходе моделирования, практически совпадают с расчетными данными, полученными согласно аналитическому выражению. При увеличении выборки (количества экспериментов) погрешность расчёта уменьшается, в пределе достигая нуля. Это свидетельствует об адекватности используемой модели.
Do'stlaringiz bilan baham: |