- •Моделирование случайных величин с заданным законом распределения Вариант 19
- •1. Нормальный закон распределения 17
- •1. Нормальный закон распределения 33
- •Постановка задачи
- •Исходные данные
- •Основные определения и аналитические выражения
- •Расчет функций плотности вероятности и функций распределения
- •Нормальный закон распределения
- •Равномерный закон распределения
- •Экспоненциальный закон распределения
- •Релеевский закон распределения
- •Моделирование случайной величины
- •Нормальный закон распределения
- •Равномерный закон распределения
- •Экспоненциальный закон распределения
- •Релеевский закон распределения
- •Вычисление параметров для выборки св
- •Нормальный закон распределения
- •Равномерный закон распределения
- •Экспоненциальный закон распределения
- •Релеевский закон распределения
- •Ответы на контрольные вопросы
- •Заключение
Моделирование случайной величины
Нормальный закон распределения
Осуществим генерацию псевдослучайной последовательности, соответствующей нормальному закону распределения. Одним из способов выполнения данной операции является вызов функции normrnd().
Нижеприведенные инструкции позволят смоделировать требуемую выборку и вывести её график на экран:
% ввод параметров
Mx=19;
sigma=4.359;
N=300; % объём массива
norm_f3=normrnd(Mx, sigma, N, 1); % моделирование СВ нормальный ЗР
figure(1);
plot(norm_f3);
title('Моделирование СВ средствами MATLAB (норм. ЗР)');
xlabel('Номер элемента в выборке');
ylabel('Значения СВ');
Распределение значений выборки наглядно отображено на рисунке 9.
|
Рисунок 9 – График распределения СВ, сформированной с помощью normrnd() |
В качестве второго метода моделирования массива случайной величины воспользуемся специальными математическими формулами. Программные выкладки, подходящие для среды MATLAB, имеют следующий вид:
% ввод параметров
Mx=19;
sigma=4.359;
N=300; % объём массива
a1=rand(1,N); % сгенерировать a1 размерностью N
a2=rand(1,N); % сгенерировать a2 размерностью N
c=2*pi;
r=sqrt(-2*log(a1));
f=a2*c;
X1=r.*sin(f);
norm_f4=Mx+sigma*X1;
figure(2);
plot(norm_f4);
title('Моделирование СВ по алгоритму (норм. ЗР)');
xlabel('Номер элемента в выборке');
ylabel('Значения СВ');
График выборки случайной величины, заданной аналитическими выражениями, показан на рисунке 10.
|
Рисунок 10 – График распределения СВ, сформированной алгоритмически (норм. ЗР) |
Для полноценного исследования сгенерированной последовательности построим её функцию плотности вероятности и сопутствующую гистограмму. Реализуем данную задачу следующим образом:
N=300; % объём массива
[kol_Y Y]=hist(norm_f4,50);
p=kol_Y/N;
figure(3);
plot(Y,p); % построение графика функции
title('График функции норм. ЗР СВ при N=300');
xlabel('Значения СВ');
ylabel('Вероятность');
figure(4);
histfit(norm_f4,50,'kernel'); % построение гистограммы
title('Гистограмма норм. ЗР СВ при N=300');
На рисунках 11-12 отображены образованные кривая и гистограмма функции нормального закона распределения.
|
|
Рисунок 11 – График функции нормального закона распределения смоделированной выборки |
Рисунок 12 - Гистограмма функции нормального закона распределения смоделированной выборки |
Найдём значения таких параметров массива случайной величины, как: математическое ожидание, дисперсия, коэффициент асимметрии и коэффициент эксцесса. В приложении MATLAB для определения каждой из перечисленных величин разработана специальная функция. Применим их, как представлено далее:
norm_mx1 = mean (norm_f4); % математическое ожидание средствами MATLAB
norm_d1 = (std(norm_f4))^2; % дисперсия средствами MATLAB
norm_as1 = skewness(norm_f4); % коэффициент асимметрии средствами MATLAB
norm_ex1 = kurtosis(norm_f4); % коэффициент эксцесса средствами MATLAB
Проверим найденные программно характеристики путём повторного вычисления по математическим формулам.
Запишем в Script-файл следующие инструкции:
N=300; % объём массива
norm_mx2=sum(norm_f4)/N; % математическое ожидание по алгоритму
norm_d2=sum((norm_f4-norm_mx2).^2)/N; % дисперсия по алгоритму
norm_as2=sum((norm_f4-norm_mx2).^3)/(N* (sqrt(norm_d2))^3); % коэффициент асимметрии по алгоритму
norm_ex2=(sum((norm_f4-norm_mx2).^4)/ (N*(sqrt(norm_d2))^4))-3; % коэффициент эксцесса по алгоритму
Сравнить вычисленные показатели можно в таблице 1.
Таблица 1 – Параметры выборки СВ, распределенной по нормальному закону (N=300) |
||
Характеристика |
Вычисления средствами MATLAB |
Вычисления по алгоритму |
Математическое ожидание |
19.1061 |
18.854 |
Дисперсия |
18.1047 |
18.211 |
Коэффициент асимметрии |
0.4128 |
0.4322 |
Коэффициент эксцесса |
3.6456 |
3.66 |
