Автор работы: Пользователь скрыл имя, 24 Марта 2014 в 19:53, курсовая работа
Целью курсовой работы является разработка программного генератора случайного процесса с заданными характеристиками для имитационного моделирования динамической системы.
Моделирование проводится путем решения системы дифференциальных уравнений на ЭВМ численным методом с шагом .
Реферат 2
Введение 4
Расчетная часть 6
1. Стационарный белый шум полученный при помощи генератора случайных чисел 6
2. Проверка закона распределения полученной выборки по критерию Колмогорова 7
3. Корреляционная функция 9
4. Преобразование закона распределения полученной выборки методом обратных функций. 10
5. Преобразование методом формирующего фильтра. 13
Заключение 16
Список используемых источников 17
Приложение 1 18
Приложение 2 20
Приложение 3 21
Автономная Некоммерческая Организация
Высшего Профессионального Образования
СМОЛЬНЫЙ ИНСТИТУТ РОССИЙСКОЙ АКАДЕМИИ ОБРАЗОВАНИЯ
Кафедра ИС
КУРСОВАЯ РАБОТА
по учебной дисциплине: Моделирование систем
на тему: Построение случайного процесса с заданными характеристиками
Студентки: Справцевой Александры
группы 310И
САНКТ-ПЕТЕРБУРГ
Пояснительная записка к курсовой работе содержит 24 страницы, 6 рисунков и 3 приложения. При написании работы использовалось 4 источника.
Ключевые слова: СЛУЧАЙНЫЙ ПРОЦЕС, МОДЕЛИРОВАНИЕ СИСТЕМ, КРИТЕРИЙ КОЛМОГОРОВА, ОБРАТНАЯ ФУНКЦИЯ, ГЕНЕРАТОР СЛУЧАЙНОГО ПРОЦЕССА.
Цель работы – построить генератор случайного процесса с заданными характеристиками.
В результате проделанной работы
на основе стандартного генератора псевдослучайных
чисел пакета MatLab, построен генератора
случайного процесса с заданными характеристиками
для имитационного моделирования динамической
системы, соответствующий требуемым теоретическим
зависимостям.
Содержание
Целью курсовой работы является разработка программного генератора случайного процесса с заданными характеристиками для имитационного моделирования динамической системы.
Моделирование проводится путем решения системы дифференциальных уравнений на ЭВМ численным методом с шагом .
Моделирование производится при помощи генератора случайных чисел при помощи пакета Matlab 2010.
Требуется обеспечить заданную одномерную ПРВ случайного процесса
и корреляционную функцию вида a с заданным коэффициентом a, используя метод формирующего фильтра.
Необходимо оценить соответствие полученных характеристик заданным, используя критерий Колмогорова. Оценку получаемых закона распределения и корреляционной функции проводить после каждого этапа преобразования процесса. Объем выборки не менее 500.
Исходные данные
ПРВ случайного процесса: , .
Коэффициент .
Шаг .
Оценка: критерий Колмогорова.
Метод: метод формирующего фильтра.
1. Стационарный белый шум полученный при помощи генератора случайных чисел.
Для получения реализации стационарного белого шума использовался генератор псевдослучайных чисел в пакете MatLab. Реализация проводилась в интервале с равномерным распределением. Объем выборки 500.
Вычисление математического ожидания и дисперсии производится по формулам:
;
;
В результате вычислений получили:
;
;
2.Проверка
закона распределения полученной выборки
по критерию Колмогорова.
Критерий согласия Колмогорова наиболее удобен в том случае когда по случайной выборке восстановлена статистическая функция распределения . В качестве меры расхождения здесь рассматривается максимум абсолютной величины разности теоретической и выборочной (статистической) ФРВ:
,
где - теоретическая ФРВ.
Критерием согласия является вероятность того, что случайная величина при данном объеме выборки и правильном выборе теоретического закона могла бы принять значение, не меньшее :
.
.
.
В результате вычислений получаем .
Рис. 1 Функция распределения для белого шума.
Вывод: значения критерия Колмогорова
говорит о том, что распределение соответствует предполагаемой
модели белого шума и следовательно гипотеза
о соответствии закона распределения
принимается.
Для дальнейшего анализа полученной выборки необходимо рассмотреть корреляционную функцию. Корреляционная функция рассчитывается по формуле:
.
При t
Рис.2. Корреляционная функция белого шума.
Вывод: полученный график имеет значения близкие к теоретическим значениям корреляционной функции стационарного белого шума.
Метод обратных функций[3], обеспечивающий получение закона распределения, основан на использовании независимо от вида непрерывного закона распределения при известных его ПРВ и ФРВ случайная величина
,
Распределена по равномерному закону в интервале .
Значения и связаны взаимно-однозначной зависимостью. Для любых и
,
Что является свойством равномерного закона распределения.
После аналитического вычисления функции ФРВ, процедура генерирования случайных чисел проводится следующим образом:
а) с помощью стандартного генератора получаем равномерно распределенные в интервале числа ;
б) .
Для преобразования исходного закона распределения необходимо найти требуемую функцию распределения ПРВ,
,
Преобразуем закон распределения методом обратных функций,
Используя полученное соотношение, строим график функции распределения Рис. 3
Рис. 3. Функция распределения после применения метода обратных функций.
Значения математического ожидания, дисперсии и величины критерия Колмогорова:
Вывод: Значение критерия Колмогорова, говорит о верности гипотезы о соответствии функции распределения требуемой.
График корреляционной функции принял вид Рис.4:
Рис.4. Корреляционная функция после метода обратных функций.
Вывод: Рис.4 показывает что отклонение полученной корреляционной функции от требуемой не значительно.
Метод формирующего фильтра[3] основан на использовании закономерностей преобразования линейным динамическим звеном спектральной плотности случайного сигнала.
Если на вход динамического звена поступает белый шум со спектральной плотностью , спектральная плотность выходного сигнала будет определяться через частотную передаточную функцию звена следующим образом:
.
Формирующим фильтром называется динамическое звено, обеспечивающее получение требуемых корреляционных свойств выходного сигнала.
Модель случайного процесса с заданной корреляционной функцией можно построить на основе формирующего фильтра, используя в качестве его входного сигнала белый шум. Необходимая передаточная функция формирующего фильтра определяется из соотношения:
,
где
.
В математической модели, такой формирующий фильтр может быть представлен дифференциальным уравнением:
При реализации на ЭВМ математической модели непрерывной системы используя методы пошагового интегрирования дифференциальных уравнений фактически применяется аппроксимация непрерывного случайного процесса дискретным. Такой дискретный процесс имеет период дискретизации, равный шагу интегрирования h, и сохраняет свое значение в течение периода.
Формирующий фильтр описывается дифференциальным уравнением вида: .
При решении ДУ используется метод пошагового интегрирования ДУ.
Решением уравнения на следующем шаге является функция вида .
Используя полученные выражения, построили формирующий фильтр. После преобразования функция распределения приобрела вид Рис. 5.
В результате оценки критерия Колмогорова были получены следующие значения:
,
,
.
Рис. 5. Функция распределения после применения формирующего фильтра
Вывод: функция распределения рассчитанная достаточно близка к требуемой, что подтверждается значением критерия Колмогорова. Следовательно гипотиза о соответствии закона распределения подтверждена.
Рис. 6. Корреляционная функция после применения формирующего фильтра
- Иглин С.П. Теория вероятностей и математическая статистика на базе MATLAB. Издательство НТУ "ХПИ", 2006, Харьков, Украина, 612 с.
- Королев .Моделирование систем
- Чистяков В.П. Курс теории вероятностей. – М.: Наука, 1987.
- Свешников А.А. Прикладные методы теории случайных функций. 2-е, переработанное и дополненное. 1968 г.
Программный код:
clear;
N=1000;T=500;h=0.01;alpha=10;%
v=2;vt=0.05;
x=rand(1,N);%Генепипуем случайные числа
clc;
xs=sort(x);
mox=mean(xs);%считаем математическое ожидание
mo=[num2str(mox),' '];
mo=mo(1:6);
Dx=sum((xs-mox).^2)./N;%
dsp=[num2str(Dx),' '];
dsp=dsp(1:6);
k=0:N-1;
L=sqrt(N).*max(abs(xs-k./N));%
kolm=[num2str(L),' '];
kolm=kolm(1:6);
disp([' Математическое ожидание ',mo,' ']);
disp(['Дисперсия
disp([' Величина критерия Колмогорова ',kolm,' ']);
plot([0:N-1]/N,[0:N-1]/N,'-r',
grid;title('стационарный белый шум');
text(0.01,0.97,'F(x)','sc');
text(0.98,0.03,'X','sc');
clc;
disp(' Вычисляется корреляционная функция ... ');
for j=0:T%Считаем корреляционную функцию
Rx(j+1)=(sum((x(1:N-j)-mox).*(
end;
j=0:T;W=Dx*exp(-alpha*h*j);
plot(j*h,Rx,'-r',j*h,W,'-g'); %Строим график корреляционной функции
grid;
title('Корреляционная функция белого шума');
text(0.83,0.03,'Время, сек.','sc');
text(0.01,0.97,'Rx(t)','sc');
Программный код:
clc;
clear;
N=1000;T=500;h=0.01;alpha=10;%
v=2;vt=0.05;
x=rand(1,N);
xs=sort(x);
mox1=mean(xsT;
y=x;
for k=1:T
z(k)=tan(y(k)); %обратная функция
end;
for b=1:T
Fz(b)=atan(tan(1)*(b/T));%
end;
zs=sort(z);
moz=mean(zs);%МО для zi
mo=[num2str(moz),' '];
mo=mo(1:6);
Dz=sum((zs-moz).^2)./T;%
dsp=[num2str(Dz),' '];
dsp=dsp(1:6);
k=0:T-1;
L=sqrt(T).*max(abs(zs-k./T));%
kolm=[num2str(L),' '];
kolm=kolm(1:6);
disp(' Случайная выборка после метода обратных функций. ');
disp('');
disp(['Математическое ожидание ',mo,' ']);
disp([' Дисперсия
disp(['Величина критерия Колмогорова ',kolm,' ']);
plot(zs,[0:T-1]/T,'-r',[0:tan(
grid;
title('Функция распределения после применения метода обратных функций');
text(0.01,0.98,'F(x)','sc');
text(0.98,0.02,'X','sc');
pause;
disp(' Вычисляется корреляционная функция ... ');
for j=0:T
Rx(j+1)=(sum((zs(1:T-j)-moz).*
end;
j=0:T;W=Dz*exp(-alpha*h*j);
plot(j*h,Rx,'-r',j*h,W,'-g');
grid;
title('Корреляционная функция после применения метода обратных функций');
Программный код:
clear;
clc;
N=1000;T=500;h=0.01;a=10;
v=2;vt=0.05;
x=rand(1,N);
xs=sort(x);
mox=mean(xs);
disp(' Методом формирующего фильтра ');
disp(' вычисляется вектор случайных чисел ');
disp(' с заданной корреляционной функцией. ');
w(1)=0;w(2)=1;
for j=1:T-1
w(j+1)=w(j)+h.*(-w(j)/vt+v.*
end;
y=w;
ys=sort(y);
moy=mean(ys);
mo=[num2str(moy),' '];
mo=mo(1:6);
Dy=sum((ys-moy).^2)./T;
dsp=[num2str(Dy),' '];
dsp=dsp(1:6);
k=0:T-1;
L=sqrt(T).*max(abs(ys-k./T));
kolm=[num2str(L),' '];
kolm=kolm(1:6);
disp(' Случайная выборка после формирующего фильтра ');
disp([' Математическое ожидание ',mo,' ']);
disp([' Дисперсия
disp([' Величина критерия Колмогорова ',kolm,' ']);
pause;
plot(ys,[0:T-1]/T,'-r',[0:T-1]
grid;
title('Функция распределения после применения формирующего фильтра ');
text(0.01,0.97,'F(x)','sc');
text(0.97,0.03,'X','sc');
clc;
pause;
disp(' Вычисляется корреляционная функция ... ');
for j=0:T
Rx(j+1)=(sum((y(1:T-j)-moy).*(
end;
j=0:T;
W=Dy*exp(-a*h*j);
plot(j*h,Rx,'-r',j*h,W,'-g');
grid;
title('Корреляционная функция после применения формирующего фильтра');
text(0.803,0.03,'Время, сек.','sc');
text(0.01,0.97,'Rx(t)','sc');
Информация о работе Построение случайного процесса с заданными характеристиками