- •Задания, отчеты, программы по лаботаторным работам по "Имитационному моделированию" Лабораторная работа 1. Принципы построения имитационных моделей и
- •3. Пояснения к работе
- •5. Вопросы к лабораторной работе
- •Моделирование систем средствами gpss/World
- •Задача.
- •3. Моделирование одноканальных устройств
- •6. Моделирование систем с использованием блоков split, assemble, match
- •7. Моделирование систем с использованием блоков preempt, return
- •Контрольные вопросы
- •Варианты заданий
- •Теоретические сведения Алгоритмы имитации случайных событий
- •Имитация зависимых событий.
- •Имитация полной группы событий.
- •Вопросы к работе.
- •Имитационное моделирование случайных величин
- •3. Методические указания к работе
- •4. Вопросы к лабораторной работе
- •Лабораторная работа №5 Имитационное моделирование систем
- •1. Основные этапы комплексного подхода к разработке и эксплуатации имитационных моделей
- •1.1. Необходимые этапы имитационного моделирования систем
- •1.2. Пример моделирования вычислительного центра
- •Пример.
- •2. Практическая часть
- •Лабораторная работа 6 Имитационное исследование и оптимизация системы контроля
- •1. Постановка задачи Описание проблемной ситуации
- •Обсуждение исходной задачи
- •Метод решения задачи оптимизации
- •Блок – схема имитационной модели системы контроля
- •Формализм имитационной модели системы контроля
- •Варианты исходных данных системы контроля
- •2. Практическая часть
- •2.1. Разработка и тестирование имитационной программы смо Эрланга
- •2.2. Машинный эксперимент
- •Лабораторная работа 7
- •Часть 1. Планирование и проведение эксперимента с моделью смо средствами системы моделирования gpss/World
- •Часть 2. Параметрическая идентификация модели планирования эксперимента, оценка адекватности построенной модели средствами пакета Statistica. Содержательная интерпретация результатов моделирования
- •Варианты заданий.
- •3.1. Некоторые понятия
- •3.2. Метод наименьших квадратов
- •3.3. Оценка точности и качества модели.
- •3.3.1 Проверка модели по величине остаточной дисперсии
- •3.3.2 Алгоритм проверки значимости выборочных коэффициентов регрессии
- •3.3.3 Критерий Фишера
- •3.3.4 Проверка гипотезы о случайности остатков
- •3.3.5 Критерий Дарбина-Уотсона
- •3.3.6 Коэффициент множественной корреляции
- •4. Пояснения к п. 3-5 задания (регрессионный анализ средствами Statistica)
- •5. Вопросы к лабораторной работе
- •Курсовой проект по предмету «Имитационное моделирование» Разработка имитационного проекта «Моделирование процесса функционирования вычислительной системы».
- •2008 Г.
Задания, отчеты, программы по лаботаторным работам по "Имитационному моделированию" Лабораторная работа 1. Принципы построения имитационных моделей и
1. Цель лабораторной работы
- изучить принципы построения имитационных моделей: принцип и принцип особых состояний средствами интегрированной статистической системыStatistica;
- приобрести навыки построения имитационных моделей на примере моделирования работы простейших систем.
2. Задание к работе
1. Рассчитать траекторию процесса Z(t), происходящего в дифференцирующем фильтре (рис. 1), в моменты времени t=1,2,…,N (=0,01). Рассчитатьзначения производной детерминированной функции x(t) (в соответствии с вариантом, табл. 1), подаваемой на вход фильтра, используя принцип (см. п. 3 пояснения к работе).
Усилитель
Интегратор
X’(t)
Z(t)
Рис. 1. Структурная схема дифференцирующего фильтра.
2.2. Рассчитатьзначения производной детерминированной функции x(t), подаваемой на вход фильтра, в моменты времени t=1,2,…,N, используя аналитическую формулу (аналитический метод). Построить графики исходной функции x(t) и производных x’(t), рассчитанных имитационным методом и аналитическим. Сопоставить результаты вычисления производных аналитическим и имитационным методами. Сделать выводы.
Таблица 1.
Вар. |
X(t) |
N |
Z(0) |
1. |
sin2(t) +cos(t) |
1000 |
0,5 |
2. |
cos2(t) +sin(t) |
1000 |
0,5 |
3. |
tg2(t) |
100 |
0,5 |
4. |
arctg2(t) |
100 |
0,5 |
5. |
arcsin2(t) |
100 |
0,5 |
6. |
arccos2(t) |
100 |
0,5 |
7. |
Sin2(t) |
1000 |
0,5 |
8. |
Cos2(t) |
1000 |
0,5 |
9. |
sin2(t) +cos(t) |
1000 |
1 |
10. |
cos2(t) +sin(t) |
1000 |
1 |
11. |
tg2(t) |
100 |
1 |
12. |
arctg2(t) |
100 |
1 |
13. |
arcsin2(t) |
100 |
1 |
14. |
arccos2(t) |
100 |
1 |
15. |
Sin2(t) |
1000 |
1 |
16. |
Cos2(t) |
1000 |
1 |
17. |
sin2(t) +cos(t) |
1000 |
2 |
18. |
cos2(t) +sin(t) |
1000 |
2 |
19. |
tg2(t) |
100 |
2 |
20. |
arctg2(t) |
100 |
2 |
21. |
arcsin2(t) |
100 |
2 |
22. |
arccos2(t) |
100 |
2 |
23. |
Sin2(t) |
1000 |
2 |
24. |
Cos2(t) |
1000 |
2 |
3. Пояснения к работе
Процесс, происходящий в фильтре (рис. 1), описывается дифференциальным уравнением:
В уравнении: K- коэффициент усиления; х(t) – входной сигнал.
Доказано, что:
Преобразуем математическую модель фильтра (1) к виду, позволяющему применить принцип t. В простейшем случае достаточно уравнение (1) аппроксимировать конечно-разностным уравнением:
Что соответствует итерационной формуле:
(3).
Задав начальное условие Z(t0)=Z0 можно построить траекторию процесса, происходящего в фильтре, с целью получения текущего значения производной любой детерминированной функции x(t), подаваемой на вход.
Пример: Пусть шаг =0,01; x(t)=sin(t)+cos(t); Z(0)=0,5; N=1000.
Вычислим К=1/=100. В табл. 3 приведены результаты вычислений. В последнем столбце табл. 3 приведены значения производной, вычисленные аналитически, по формуле:x’(t)=cos(t)-sin(t). На рис. 2 приведены графики исходной функции x(t) и производных x’(t), рассчитанных имитационным методом и аналитическим.
Таблица 3.
i |
t |
= |
x'(t) | ||
0 |
0,01 |
1,00995 |
0,5 |
50,9949834 |
0,98995 |
1 |
0,02 |
1,019799 |
1,00995 |
0,98488396 |
0,979801 |
2 |
0,03 |
1,029546 |
1,019799 |
0,97468606 |
0,969555 |
3 |
0,04 |
1,039189 |
1,029546 |
0,96439069 |
0,959211 |
4 |
0,05 |
1,048729 |
1,039189 |
0,95399888 |
0,948771 |
5 |
0,06 |
1,058165 |
1,048729 |
0,94351167 |
0,938237 |
6 |
0,07 |
1,067494 |
1,058165 |
0,93293012 |
0,927608 |
7 |
0,08 |
1,076716 |
1,067494 |
0,92225527 |
0,916887 |
8 |
0,09 |
1,085831 |
1,076716 |
0,91148819 |
0,906074 |
9 |
0,1 |
1,094838 |
1,085831 |
0,90062997 |
0,895171 |
… |
|
|
|
|
|
Пояснения к п.2
Моделирование последовательности значений случайных величин с заданным законом распределения реализуется на основе использования случайных величин, имеющих равномерное распределение в интервале (0, 1).
Для генерации случайных чисел с равномерным законом распределения в интервале (0,1) в системе Statisticaнеобходимо либо:
в электронной таблице данных Spreadsheetвыделить блок (либо переменнуюvar), который должен быть заполнен случайными числами (которая будет содержать случайные числа);
выбрать в меню Edit/Fill StandardizeBlock/Fill Random Values;
либо:
в спецификации (Specs) переменной в поле Long Name-Formula withFunctionsзадать функцию:=rnd(1);
либо:
программно, используя StatisticaBasic(встроенный в системуStatisticaязык программирования):v2:= rnd(1)*5+2; в результате в переменнойv2 - равномерно распределенные случайные числа в диапазоне 2-7.
Пример выполнения Лабораторная работа 1.
Принципы построения имитационных моделей и
Пример выполнения
Исходные данные:
Вар. |
X(t) |
N |
Z(0) |
7 |
Sin2(t) |
1000 |
0,5 |
i |
Var1(t) |
Var2 |
Var3 |
Var4 = |
Var5 x'(t) |
1 |
0,01 |
0,0000999966667 |
0 |
0,00999966667 |
0,0199986667 |
2 |
0,02 |
0,00039994667 |
0,0000999966667 |
0,0299950003 |
0,0399893342 |
3 |
0,03 |
0,000899730032 |
0,00039994667 |
0,0499783363 |
0,0599640065 |
4 |
0,04 |
0,00159914685 |
0,000899730032 |
0,0699416816 |
0,079914694 |
5 |
0,05 |
0,00249791736 |
0,00159914685 |
0,0898770512 |
0,0998334166 |
6 |
0,06 |
0,00359568207 |
0,00249791736 |
0,109776471 |
0,119712207 |
7 |
0,07 |
0,00489200189 |
0,00359568207 |
0,129631982 |
0,139543115 |
8 |
0,08 |
0,00638635831 |
0,00489200189 |
0,149435642 |
0,159318207 |
9 |
0,09 |
0,00807815361 |
0,00638635831 |
0,169179529 |
0,179029573 |
10 |
0,1 |
0,00996671108 |
0,00807815361 |
0,188855747 |
0,198669331 |
График 1
На основании полученного графика можно сделать вывод, что результаты, полученные аналитическим и имитационным методом, практически совпадают.
Задание 2
Вар. |
Интервалы поступления заданий |
Интервалы обработки заданий |
7. |
(1, 3) |
(1, 3) |
Текст программы на языке Си:
#include <iostream.h>
#include <stdio.h>
#include <stdlib.h>
main()
{
int i = 0;
int t_int_prih = 0;
int t_int_obsl = 0;
int t_prih = 0;
int t_begin_obsl = 0;
int t_end_obsl = 0;
int t_ojidan = 0;
int t_prostoya = 0;
int ochered = 0;
cout << "i\t" << "t_int_pr" << "\t" << "t_int_ob" << "\t" << "t_prih" << "\t" << "t_n_obsl" << "\t" << "t_o_obsl" << "\t" << "t_oji" << "\t" << "t_prost" << " \n";
for (; i < 100; i++)
{
int t_prih_prev = t_prih;
int t_end_obsl_prev = t_end_obsl;
t_int_prih = (rand()%3)+1;
t_int_obsl = (rand()%3)+1;
t_prih = t_prih + t_int_prih;
t_begin_obsl = t_prih+t_ojidan;
if(t_end_obsl >= t_prih)
{
t_ojidan = t_end_obsl_prev - t_prih + t_ojidan;
t_end_obsl = t_end_obsl + t_int_obsl;
ochered++;
}
else
{
t_prostoya = t_prostoya + t_prih - t_end_obsl_prev;
t_end_obsl = t_prih + t_int_obsl;
}
cout << i << "\t" << t_int_prih << "\t" << t_int_obsl << "\t" << t_prih << "\t" << t_begin_obsl << "\t" << t_end_obsl << "\t" << t_ojidan << "\t" << t_prostoya << " \n";
}
double t_oj = t_ojidan / 100;
double Po = (double)t_prostoya / (double)t_end_obsl;
cout << "\nt_ojid = " << t_oj << " " << "Po = " << Po;
getchar();
}
Таблица результатов:
I | |||||||
0 |
2 |
1 |
2 |
2 |
3 |
0 |
2 |
1 |
3 |
1 |
5 |
5 |
6 |
0 |
4 |
2 |
2 |
3 |
7 |
7 |
10 |
0 |
5 |
3 |
1 |
1 |
8 |
8 |
11 |
2 |
5 |
4 |
2 |
2 |
10 |
12 |
13 |
3 |
5 |
5 |
2 |
4 |
12 |
15 |
17 |
4 |
5 |
6 |
2 |
5 |
14 |
18 |
22 |
7 |
5 |
7 |
1 |
1 |
15 |
22 |
23 |
14 |
5 |
8 |
1 |
2 |
16 |
30 |
25 |
21 |
5 |
9 |
3 |
3 |
19 |
40 |
28 |
27 |
5 |
10 |
3 |
2 |
22 |
49 |
30 |
33 |
5 |
= 36.08= 0.0179211