Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

mod3_ibragimova

.docx
Скачиваний:
0
Добавлен:
24.02.2024
Размер:
877.01 Кб
Скачать

ГУАП

КАФЕДРА № 41

ОТЧЕТ ЗАЩИЩЕН С ОЦЕНКОЙ

ПРЕПОДАВАТЕЛЬ

Ассистент

Григорьев Е.К.

должность, уч. степень, звание

подпись, дата

инициалы, фамилия

ОТЧЕТ О ЛАБОРАТОРНОЙ РАБОТЕ №1

-

по курсу: МОДЕЛИРОВАНИЕ

РАБОТУ ВЫПОЛНИЛ

СТУДЕНТ ГР. №

4018k

Р.М. Ибрагимова

подпись, дата

инициалы, фамилия

Санкт-Петербург 2023

Цель работы:

Получить навыки генерации случайных величин с заданным законом распределения в современных математических пакетах. Для начала вспомним несколько основных определений.

Вариант 4

Ход работы

В пакете программ MATLAB были получены графики и гистограммы, имеющие нормальное распределения с помощью внутренних функций программы, а также аналитических выражений. Полученные данные показаны на рисунках 1-6.

Рисунок 1 - График плотности нормального распределения

Рисунок 2 - Функция распределения нормального завкона

Рисунок 3 - Выборка с помощью внутренней функцией MATLAB

Рисунок 4 - Выборка с помощью аналитического выражения в MATLAB

Рисунок 5 - Гистограмма на основе функции

Рисунок 6 - Гистограмма на основе выражения

Рисунок 7 - График плотности равномерного распределения

Рисунок 8 - Функция распределения равномерного закона

Рисунок 9 - Выборка с помощью внутренней функцией MATLAB

Рисунок 10 - Выборка с помощью аналитического выражения в MATLAB

Рисунок 11 - Гистограмма на основе функции

Рисунок 12 - Гистограмма на основе выражения

Рисунок 13 - График плотности экспоненциального распределения

Рисунок 14 - Функция распределения экспоненциального закона

Рисунок 15 - Выборка с помощью внутренней функцией MATLAB

Рисунок 16 - Выборка с помощью аналитического выражения в MATLAB

Рисунок 17 - Гистограмма на основе функции

Рисунок 18 - Гистограмма на основе выражения

Так же в MATLAB были проведены проверки на соответствие заданному закону распределения с помощью критерия согласия. Значение в конце возвращенной строки является результат: 0 – Гипотеза подтверждена, проверка пройдена, 1 – Гипотеза опровергнута, проверка не пройдена.

Рисунок 19 - Проверка гипотез

Вывод:

В ходе данной лабораторной работы были получены навыки генерации случайных величин с заданным законом распределения в современных математических пакетах.

Листинг А

clear all

clc

%НОРМАЛЬНОЕ РАСПРЕДЕЛЕНИЕ

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%график плотности для нормального расп

m=4; % мат ожид

sigma = sqrt(m); % ско

% требуемый диапазон значений СВ

x=m-3*sigma:0.1:m+3*sigma;

% расчет значений плотности вероятности

f=normpdf(x, m, sigma);

% создание нового графического окна для графика

figure(1)

% команда построение графика

plot(x,f)

xlabel('x')

ylabel('f(x)')

grid

% расчет значений функции распределения

F=normcdf(x, m, sigma);

figure(2)

plot(x,F)

xlabel('x')

ylabel('F(x)')

grid

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Построим эмпирические функции распределения

% MATLAB

N3=300;

n3 = 1:1:N3;

Y3=normrnd(m, sigma, N3, 1);

N7=700;

n7 = 1:1:N7;

Y7=normrnd(m, sigma, N7, 1);

N15=1500;

n15 = 1:1:N15;

Y15=normrnd(m, sigma, N15, 1);

figure(3)

xlabel('Номер элемента в выборке')

ylabel('Значение случайной величины')

subplot(3,1,1)

plot(n3,Y3)

grid

subplot(3,1,2)

plot(n7,Y7)

grid

ylabel('Значение случайной величины')

subplot(3,1,3)

plot(n15,Y15)

grid

xlabel('Номер элемента в выборке')

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

c=2*pi;

% Генерация первой равномерно распределенной СВ

a13=rand(1,N3);

% Генерация второй равномерно распределенной СВ

a23=rand(1,N3);

r3=sqrt(-2*log(a13));

f3=a23*c;

X13=r3.*sin(f3);

Y13=m+sigma*X13;

c=2*pi;

% Генерация первой равномерно распределенной СВ

a17=rand(1,N7);

% Генерация второй равномерно распределенной СВ

a27=rand(1,N7);

r7=sqrt(-2*log(a17));

f7=a27*c;

X17=r7.*sin(f7);

Y17=m+sigma*X17;

c=2*pi;

% Генерация первой равномерно распределенной СВ

a115=rand(1,N15);

% Генерация второй равномерно распределенной СВ

a215=rand(1,N15);

r15=sqrt(-2*log(a115));

f15=a215*c;

X115=r15.*sin(f15);

Y115=m+sigma*X115;

figure(4)

subplot(3,1,1)

plot(Y13)

grid

subplot(3,1,2)

plot(Y17)

grid

ylabel('Значение случайной величины')

subplot(3,1,3)

plot(Y115)

grid

xlabel('Номер элемента в выборке')

%%%%%%%%%%%%%%%%%%%%%%%%%%%%

figure(5)

YY=-10:1:10

p1=datasample(Y7,21)

bar(YY,p1)

title('Гистограмма СВ полученной с помощью функции MATLAB')

xlabel('Значение')

ylabel('Относительная частота')

grid

% Построение гистограммы для СВ

% полученной с помощью выражения

figure(6)

YY1=-10:1:10

p2=datasample(Y17,21)

bar(YY1,p2)

title('Гистограмма СВ полученной с помощью выражения')

xlabel('Значение')

ylabel('Относительная частота')

grid

clear all

clc

%РАВНОМЕРНОЕ РАСПРЕДЕЛЕНИЕ

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%график плотности для равномерного расп

a=11; % a

b = 2*a; % b

% требуемый диапазон значений СВ

x=0:0.1:30;

% расчет значений плотности вероятности

f=unifpdf(x, a, b);

% создание нового графического окна для графика

figure(1)

% команда построение графика

plot(x,f)

xlabel('x')

ylabel('f(x)')

grid

% расчет значений функции распределения

F=unifcdf(x, a, b);

figure(2)

plot(x,F)

xlabel('x')

ylabel('F(x)')

grid

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Построим эмпирические функции распределения

% MATLAB

N3=300;

n3 = 1:1:N3;

Y3=unifrnd(a, b, N3, 1);

N7=700;

n7 = 1:1:N7;

Y7=unifrnd(a, b, N7, 1);

N15=1500;

n15 = 1:1:N15;

Y15=unifrnd(a, b, N15, 1);

figure(3)

xlabel('Номер элемента в выборке')

ylabel('Значение случайной величины')

subplot(3,1,1)

plot(n3,Y3)

grid

subplot(3,1,2)

plot(n7,Y7)

grid

ylabel('Значение случайной величины')

subplot(3,1,3)

plot(n15,Y15)

grid

xlabel('Номер элемента в выборке')

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Генерация первой равномерно распределенной СВ

a3=rand(1,N3);

X3=a+(b-a)*a3;

% Генерация первой равномерно распределенной СВ

a7=rand(1,N7);

X7=a+(b-a)*a7;

% Генерация первой равномерно распределенной СВ

a15=rand(1,N15);

X15=a+(b-a)*a15;

figure(4)

subplot(3,1,1)

plot(X3)

grid

subplot(3,1,2)

plot(X7)

grid

ylabel('Значение случайной величины')

subplot(3,1,3)

plot(X15)

grid

xlabel('Номер элемента в выборке')

%%%%%%%%%%%%%%%%%%%%%%%%%%%%

figure(5)

YY=-10:1:10

p1=datasample(Y7,21)

bar(YY,p1)

title('Гистограмма СВ полученной с помощью функции MATLAB')

xlabel('Значение')

ylabel('Относительная частота')

grid

% Построение гистограммы для СВ

% полученной с помощью выражения

figure(6)

YY1=-10:1:10

p2=datasample(X7,21)

bar(YY1,p2)

title('Гистограмма СВ полученной с помощью выражения')

xlabel('Значение')

ylabel('Относительная частота')

grid

clear all

clc

%ЭКСПОНЕНЦИАЛЬНОЕ РАСПРЕДЕЛЕНИЕ

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%график плотности экспоненциального расп

mu = 11;

% требуемый диапазон значений СВ

x=0:0.1:100;

% расчет значений плотности вероятности

f=exppdf(x, mu);

% создание нового графического окна для графика

figure(1)

% команда построение графика

plot(x,f)

xlabel('x')

ylabel('f(x)')

grid on

% расчет значений функции распределения

F=expcdf(x, mu);

figure(2)

plot(x,F)

xlabel('x')

ylabel('F(x)')

grid

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Построим эмпирические функции распределения

% MATLAB

N3=300;

n3 = 1:1:N3;

Y3=exprnd(mu, N3, 1);

N7=700;

n7 = 1:1:N7;

Y7=exprnd(mu, N7, 1);

N15=1500;

n15 = 1:1:N15;

Y15=exprnd(mu, N15, 1);

figure(3)

xlabel('Номер элемента в выборке')

ylabel('Значение случайной величины')

subplot(3,1,1)

plot(n3,Y3)

grid

subplot(3,1,2)

plot(n7,Y7)

grid

ylabel('Значение случайной величины')

subplot(3,1,3)

plot(n15,Y15)

grid

xlabel('Номер элемента в выборке')

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Генерация первой равномерно распределенной СВ

a3=rand(1,N3);

X3=-(1/mu)*log(a3);

a7=rand(1,N7);

X7=-(1/mu)*log(a7);

a15=rand(1,N15);

X15=-(1/mu)*log(a15);

figure(4)

subplot(3,1,1)

plot(X3)

grid

subplot(3,1,2)

plot(X7)

grid

ylabel('Значение случайной величины')

subplot(3,1,3)

plot(X15)

grid

xlabel('Номер элемента в выборке')

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

figure(5)

YY=-10:1:10

p1=datasample(Y7,21)

bar(YY,p1)

title('Гистограмма СВ полученной с помощью функции MATLAB')

xlabel('Значение')

ylabel('Относительная частота')

grid

% Построение гистограммы для СВ

% полученной с помощью выражения

figure(6)

YY1=-10:1:10

p2=datasample(X7,21)

bar(YY1,p2)

title('Гистограмма СВ полученной с помощью выражения')

xlabel('Значение')

ylabel('Относительная частота')

grid

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Построим эмпирические функции распределения

% MATLAB

N=1000;

n = 1:1:N;

Y=normrnd(m, sigma, N, 1);

% Создание тестов по критерию Колмогорова-Смирнова

% Тест нормального распределения

test_normal = makedist('normal','mu',4,'sigma',2);

[h p] = kstest(Y,'CDF',test_normal); % MATLAB

fprintf('Логическая функция h нормального распределения %f\n', h)

% Тест равномерного распределения

test_uni = makedist('uniform','lower',2,'upper',4);

[h1 p1] = kstest(Y,'CDF',test_uni); % MATLAB

fprintf('Логическая функция h1 равномерного распределения %f\n', h1)

% Тест экспоненциального распределения

test_exp = makedist('Exponential','mu',4);

[h2 p2] = kstest(Y,'CDF',test_exp); % MATLAB

fprintf('Логическая функция h2 равномерного распределения %f\n', h2)

Соседние файлы в предмете Моделирование