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

модел2

.pdf
Скачиваний:
12
Добавлен:
18.01.2022
Размер:
923.42 Кб
Скачать

Практическая работа №2

«Моделирование случайных величин с заданным законом распределения»

Цель работы:

1)ознакомление с возможностями средств Excel и MATLAB по изучению основных законов распределений (ЗР) одномерных случайных величин (СВ);

2)исследование зависимости графиков функций распределения и функций плотности вероятности от параметров распределений;

3) изучение возможностей пакетов Excel и MATLAB по моделированию и анализу одномерных случайных величин.

Содержание и порядок выполнения работы

1. Необходимо выполнить следующие задания:

для каждого из следующих трех видов распределений (параметры распределений взять из п.2 данной работы):

нормального N(m, σ) (σ > 0),

равномерного R(a, b) (a < b),

экспоненциальногоE(λ) (λ > 0)

написать программу вывода в графическом окне графиков функций распределения с использованием функций Excel и MATLAB (см. приложение 1).

2. Написать программу, осуществляющую моделирование массивов объемом 300 для законов распределения: нормального, равномерного, экспоненциального (см. приложение 2).

Параметры моделируемых массивов:

– для нормального распределения N(m, σ) (σ> 0): m=<< номер варианта >>σ=<<√номер варианта>>;

для равномерного распределения R(a ;b) (a<b): a=<<номер варианта>>, b= 2a;

для экспоненциального распределения E(λ)( λ> 0 ):

Для каждого из этих массивов вывести в графическом окне график гистограммы относительных частот группированной выборки (шесть – восемь интервалов группировки).

Продемонстрировать полученные результаты преподавателю.

Замечание. Необходимо запомнить, как выглядят гистограммы выборок, полученных из генеральных совокупностей, имеющих нормальное, равномерное и экспоненциальное распределения.

Содержание отчета

Отчет, представленный на отдельных листах формата А4, должен содержать:

1.Титульный лист

2.Постановка задачи

3.Исходные данные по варианту

4.Аналитические выражения, применяемые в работе

5.Основные определения

6.Листинги программ (с комментариями) по расчету функций распределения, плотности вероятности и по моделированию СВ для нормального, равномерного, экспоненциального и релеевского ЗР;

7.Построенные графики функций распределения и плотности вероятности, а также графики гистограмм, моделируемых СВ.

8.Вычисленные оценки мат. ожидания, дисперсии, коэффициента асимметрии и эксцесса для выборки СВ длинной N=100, 1000, 1000, 10000 с помощью аналитических формул и с помощью функций Excel и MATLAB.

9.Построенные графики зависимости оценки мат. ожидания, дисперсии, коэффициента асимметрии и эксцесса от длины выборки.

10.Таблицу cравнения теоретических числовых характеристик СВ и характеристик, полученных по моделируемой выборке

 

 

M[X]

 

D[X]

 

Ex[X]

 

Sk[X]

Характеристика

теор.

выбор.

теор.

выбор.

теор.

выбор.

теор.

выбор.

Распределение

 

N=102,

 

N=102,

 

N=102,

 

N=102,

 

 

103, 104,

 

103, 104,

 

103, 104,

 

103, 104,

 

 

105

 

105

 

105

 

105

Нормальное N(m, σ)

 

 

 

 

 

 

 

 

Равномерное R(a, b)

 

 

 

 

 

 

 

 

Экспоненциальное E(λ)

 

 

 

 

 

 

 

 

11. Сделать выводы о проделанной работе.

 

 

 

 

Контрольные вопросы

Дайте определения:

закона распределения случайной величины;

функции распределения;

функции плотности вероятности;

случайной величины непрерывного типа, имеющей распределение: равномерное,

нормальное, гамма, экспоненциальное, Стьюдента, Фишера (необходимо уметь объяснять, от

скольких параметров зависит и каков их смысл).

Приложение 1. Средства MATLAB для изучения одномерных распределений

В пакете stats статистических программ MATLAB (каталог\MATLAB\toolbox\stats) имеются программы расчета плотностей вероятности и функций распределения для многих известных распределений. Имена функций для расчета плотностей вероятности оканчиваются буквами pdf

(probability density function)¸ а для расчета функций распределения – буквами cdf (cumulative distribution function).

Приложение 1.1. Функции MATLAB для расчета плотностей вероятности

y=unifpdf(x,a,b) – расчет значения плотности вероятности в точке x для равномерного на промежутке (a; b) распределения.

y=normpdf(x,m,sigma) – расчет значения плотности вероятности в точке x для нормального распределения, где m – математическое ожидание, sigma – среднее квадратическое отклонение

(СКО).

y=exppdf(x,lambda) – расчет значения плотности вероятности в точке x для экспоненциального распределения с параметром lambda, равным математическому ожиданию (!)

случайной величины.

Приложение 1.2. Функции MATLAB для расчета функций распределения y=unifcdf(x,a,b) – расчет значения функции распределения в точке x для равномерного на

промежутке (a; b) распределения.

y=normcdf(x,m,sigma) – расчет значения функции распределения в точке x для нормального распределения, где m – математическое ожидание, sigma – среднее квадратическое отклонение.

y=expcdf(x,lambda) – расчет значения функции распределения в точке x для экспо-

ненциального распределения с параметром lambda, равным математическому ожиданию (!)

случайной величины.

Приложение 2. Алгоритмы моделирования случайных величин

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

Базовая случайная величина α – это случайная величина с распределением R(0;1) (равномерным распределением в интервале (0;1)). Независимые случайные величины с распределением R(0;1)

обозначаются символами α1, α2, … . В любой системе программирования имеется стандартная программа моделирования базовой случайной величины (см. функцию rand).

Рассмотрим алгоритмы моделирования случайных величин, имеющих равномерное,

нормальное и экспоненциальное распределение.

Равномерное распределение R(a,b), (a<b)

Если плотность вероятности ϕ(х) есть величина постоянная на определенном промежутке [a, b], то закон распределения называется равномерным. На рисунке ниже изображены графики функции распределения вероятностей и плотность вероятности равномерного закона распределения.

Аналитическое представление равномерного ЗР имеет вид

Функция распределения непрерывной случайной величины, выражается через плотность вероятности имеет вид

Аналитическое выражение для моделирования нормальной СВ имеет вид: X = a + (b - a)*α.

где α - независимые равномерно распределенные случайные величины на интервале [0; 1).

Алгоритм моделирования равномерно распределенной СВ:

1)задать параметр а==<<номер варианта>>;

2)вычислить b= 2a;

3)сгенерировать α ;

4)вычислить X = a + (b - a)*α.

5)Построить гистограмму

Решение задач в Excel

В качестве примера рассмотрим средства Моделирования СВ, имеющиеся в Excel, при подключении надстройки «Пакет анализа». Здесь имеются генераторы случайных чисел со следующими законами распределения:

1.Функция СЛЧИС, генерирующая случайные последовательности, равномерно распределенные на отрезке [0,1]. Ее синтаксис СЛЧИС() и она не имеет аргументов. Выделяется диапазон ячеек, вводится = СЛЧИС() и используется комбинация Ctrl+Shift+Enter.

2.Равномерное. Формирует равномерно распределенные последовательности в произвольном интервале [a, b]. Ее синтаксис =(b-a)*СЛЧИС()+a.

3.Нормальное. Генерирует нормальные последовательности с заданными математическим ожиданием и дисперсией.

Для имитации других распределений, отсутствующих в Еxcel, можно использовать,

например, метод обратных функций и датчик равномерно распределенных последовательностей.

Так например, методом обратных функций используя алгоритмы моделирования приведенные в работе можно смоделировать следующим образом:

Используя функцию =LN(СЛЧИС())/A1, записав значение λ в ячейку А1.

Аналогичным образом моделируются СВ распределенные по ЗР Релея.

Построение гистограммы.

1.Выделить мышкой столбцы таблицы, в которых будут отображены на осях гистограммы.

2.Находясь во вкладке «Вставка» нажимаем по кнопке «Гистограмма», которая расположена на ленте в блоке инструментов «Диаграммы».

3.В открывшемся списке выбираем один из пяти типов простых диаграмм:

o

гистограмма;

o

объемная;

o

цилиндрическая;

o

коническая;

o

пирамидальная.

Нормальное распределение N(m, σ), (σ > 0)

Среди законов распределения СВ наиболее распространённым является нормальный закон распределения. Нормальное распределение задаётся функцией плотности вероятности:

 

(x)

 

1

exp

 

 

2

 

 

 

 

где

параметр m — математическое

ожидание,

отклонение (σ ² — дисперсия) распределения.

 

 

 

(x m)

2

 

 

 

 

 

 

2

2

 

 

 

 

 

 

а параметр σ — среднеквадратическое

График плотности вероятности случайной величины, имеющей нормальный закон распределения, симметричен относительно прямой х=а, т.е. х равному математическому ожиданию.

При изменении величины математического ожидания кривая будет смещаться вдоль оси Ох. На графике (рисунок ниже) видно, что при х=3 кривая имеет максимум, т.к. математическое ожидание равно 3. Если математическое ожидание примет другое значение, например, а=6, то кривая будет иметь максимум при х=6. Говоря о среднем квадратическом отклонении, как можно увидеть из графика, чем больше среднее квадратическое отклонение, тем меньше максимальное значение плотности вероятности случайной величины

Рисунок – график функции плотности вероятности нормального ЗР

Аналитическое выражение для моделирования нормальной СВ имеет вид:

Y m

2ln

2 sin

2

 

 

1

 

 

где α1 и α2 - независимые равномерно распределенные случайные числа на интервале [0; 1), m –

математическое ожидание СВ, σ – среднеквадратическое отклонение.

Алгоритм моделирования СВ состоит из следующих шагов:

1)сгенерировать α1 и α2

2)зарезервировать константу c = 2π;

3)= √−2lnα1;

4) φ =α2c ;

5)X1=r sin φ;

6)Y = m +σX1

Решение задач в пакете MATLAB

Построить функцию плотности распределения нормального закона

Функция плотности вероятности нормального закона f с математическим ожиданием Mx=0 и средним квадратическим отклонением sigma=1.

Листинг программы:

clear all

 

close all

 

Mx=0;

% мат. ожижание

sigma=1;

% СКО

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

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

f=normpdf(x, Mx, sigma);

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

figure()

 

plot(x,f)

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

xlabel('Значения СВ')

 

ylabel('Вероятность')

 

Результат работы программы:

 

Рисунок – график функции плотности вероятности нормального ЗР

Построить функцию распределения вероятностей нормального ЗР

Функция распределения вероятностей нормального закона F с математическим ожиданием Mx=0 и средним квадратическим отклонением sigma=1.

Листинг программы:

Mx=0;

sigma=1;

x=Mx-3*sigma:0.1:Mx+3*sigma; % требуемый диапазон значений СВ

F=normcdf(x, Mx, sigma); % расчет значений функции распределения figure()

plot(x,F) xlabel('Значения СВ') ylabel('Вероятность')

Результат работы программы:

Рисунок – график функции нормального ЗР

Получить выборку заданной длины псевдо-СВ распределенных по нормальному закону с помощью функций MATLAB

Генерация выборки из N=1000 псевдослучайных чисел распределенных по нормальному закону с параметрами Mx=0 и sigma=1.

Листинг программы:

% моделирование с помощью функции MATLAB

Mx=0;

sigma=1;

N=10000;

Y=normrnd(Mx, sigma, N, 1); figure()

plot(Y)

Результат работы программы:

Рисунок – график функции нормального ЗР при N=100

Рисунок – график функции нормального ЗР при N= 10000

Моделирование СВ распределенных по нормальному закону с помощью алгоритма

Листинг программы:

clear all close all Mx=0; sigma=1; N=100; c=2*pi;

a1=rand(1,N); % сгенерировать a1 размерностью N a2=rand(1,N); % сгенерировать a2 размерностью N r=sqrt(-2*log(a1));

f=a2*c; X1=r.*sin(f); Y=Mx+sigma*X1; figure() plot(Y)

xlabel('Номер элемента в выборке') ylabel('Значения СВ')

Результат работы программы:

Рисунок – график функции нормального ЗР

Анализ и сравнение результатов

Листинг программы:

% проверка результатов

[kol_Y Y2]=hist(Y,50); p=kol_Y/N;

figure()

plot(Y2,p)

title('Нормальное распределение') xlabel('Значения СВ') ylabel('Вероятность')

figure()

histfit(Y,50) % графическое представление выборки Х с помощью гистограммы title('Гистограмма нормального распределения')

m_Y = mean (Y) % вычисление мат. ожидания st_Y = std(Y) % вычисление СКО

sk_Y = skewness(Y) % вычисление коэффициента асимметрии kur_Y = kurtosis(Y) % вычисление коэффициента эксцесса

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