Добавил:
t.me Инфо для ГУАП студентов от меня: https://kafaka.notion.site/99e6d9b70ca74f7baef3daea17839e5a Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Churilovas_lab_Rabota_3.docx
Скачиваний:
10
Добавлен:
10.11.2024
Размер:
670 Кб
Скачать
☆

Моделирование случайной величины

    1. Нормальный закон распределения

Осуществим генерацию псевдослучайной последовательности, соответствующей нормальному закону распределения. Одним из способов выполнения данной операции является вызов функции 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