русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

МЕТОДИЧЕСКИЕ УКАЗАНИЯ К ЛАБОРАТОРНЫМ РАБОТАМ ПО ДИСЦИПЛИНЕ «МОДЕЛИРОВАНИЕ СИСТЕМ»


Дата добавления: 2014-11-28; просмотров: 1989; Нарушение авторских прав


 

Направление – 220200 (дневная форма обучения), 651900 (заочная форма обучения, заочная сокращённая форма обучения) Автоматизация и управление

 

Квалификация (степень) – бакалавр техники и технологии. Срок обучения – 4 года

 

Специальность – 220201 (дневная форма обучения) 210100 (заочная форма обучения, заочная сокращённая форма обучения) Управление и информатика в технических системах

 

Квалификация – инженер. Срок обучения – 5 лет

 

Форма обучения: очная, заочная, заочная сокращённая

 

Лекции 36 / 12 / 12 (час.)

Практические занятия - не предусмотрены

Лабораторные занятия 36 / 12 / 12 (час.)

Самостоятельная работа – 88 (час.)

Работа без преподавателя – 79,2 (час.)

Работа со студентом – 3,5 (час.)

Работа с группой – 5,3 (час.)

 

Экзамен 6 / 7 / 5 (семестр)

Зачёт - не предусмотрен

Курсовая работа – 6 / 7 / 5 (семестр)

Контрольная работа (заочная форма обучения, заочная сокращённая форма обучения)

 

Тюмень 2012

 

ВВЕДЕНИЕ

 

 

Цели дисциплины «Моделирование систем» - научить студентов:

строить математические модели технических систем, технологических процессов и производств как объектов автоматизации и управления;

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

 

В ходе изучения дисциплины студенты выполняют следующие лабораторные работы:

решение линейных, алгебраических и трансцендентных уравнений;

моделирование детерминированных систем с помощью обыкновенных дифференциальных уравнений;

имитационное моделирование детерминированных систем;

моделирование случайных величин;



имитационное моделирование стохастических систем.

 

Техническое обеспечение дисциплины:

 

12 персональных компьютеров.

 

Программное обеспечение дисциплины:

 

операционная система WINDOWS;

текстовый процессор Word;

пакет прикладных программ MATLAB.

 

ПАКЕТ MATLAB

 

Пакет прикладных программ MATLAB предоставляет пользователю проблемно-ориентированную инструментальную среду, которая позволяет автоматизировать математические вычисления. В первую очередь этот пакет предназначен для технических расчетов. Среда MATLAB реализована в виде обычного оконного приложения, для её запуска достаточно дважды щёлкнуть левой кнопкой мыши по её значку на экране или выполнить операцию 'открыть' в её контекстном меню. После запуска программы MATLAB на экране появляется главное окно среды; клиентская часть главного окна называется командным окном системы. Символ >> указывает командную строку.

 

Простейшей командой является математическое выражение, состоящее из чисел и знаков математических операций +, -, *, /. Каждое такое выражение среда интерпретирует как команду вычислить его значение; это значение присваивается переменной ans (answer – ответ). Среда выполняет команду после того, как пользователь нажмет клавишу Enter. Пример:

 

>> 3/7

ans=

0,4286

 

среда MATLAB вывела округленный результат вычислений, оставив в нем лишь четыре десятичных разряда. Команда

 

>> format long

 

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

 

>> format short.

 

Пример:

 

>> format long

>> 3/7

ans=

0,428571…

>> format short.

>> 3/7

ans=

0,4286

 

Для обозначения операции возведения в степень используется символ ^ , он называется сиркомфлексом.

 

Пример:

 

>> 3^7

ans=

>> 2^10

ans=

1024.

 

 

Переменные. Значение переменной ans можно использовать в выражениях командной строки, например:

 

>> 3/7

ans=

0,4286

>> 2* ans

ans=

0,8571

 

Операция присваивания, которая обозначается знаком равенства '=', позволяет пользователю создавать свои переменные и присваивать им значения выражений:

 

>> х=3/7

х=

0,4286

>> 2 * х

ans=

0,8571

 

Точка с запятой после команды подавляет вывод на экран результатов этой команды:

 

>> a=5;

>> b=18;

>> a*b

ans=

 

Используйте точку с запятой для устранения вывода на экран лишней информации.

Наряду с арифметическими операциями среда MATLAB выполняет операции сравнения, результаты которых обозначаются символами 1 (истина) и 0 (ложь):

отношения 'меньше' и 'больше'

 

>> 3 < 4

ans =

 

>> 3 > 4

ans =

 

отношение 'равняется'

 

>> 3 == 3

ans=

 

>> 1 == 3

ans=

 

отношение 'не равно'

 

>> 3~= 1

ans=

 

>> 3 ~= 3

ans=

0.

 

(значок '~' читается 'тильда'). Обратите внимание, что символ операции сравнения 'равняется', в отличие от символа операции присваивания, обозначается при помощи двух следующих друг за другом знаков '='. Если мы попытаемся использовать один знак '=', среда выдаёт сообщение об ошибке:

 

>> 3 = 1

??? 3 = 1

 

Error: The expression to the left of the equals sign is not a valid target for an assignment (Ошибка: Выражение в левой части символа равенства не подходит для присваивания).

 

Нестрогие неравенства: <= (меньше или равно), >= (больше или равно).

 

Операция конъюнкции обозначается символом 'амперсанд' (&), вертикальная палочка (|) обозначакт дизъюнкцию, значок 'тильда' (~) - отрицание:

 

>> ( 3>4 ) & ( 2 > 1)

ans=

 

>> ( 3>4 ) | ( 2 > 1)

ans=

 

>> ~ ( 3>4 )

ans=

 

"Основным типом данных, с которым производится вычисление в среде MATLAB являются конечные десятичные дроби, приближающие с заданной точностью произвольные вещественные числа. Последние в общем случае представимы лишь в виде бесконечных десятичных дробей. Можно сказать, что MATLAB работает с вещественными числами приближённо...

Если операнды и результаты вычислений являются целыми, то, хотя они и представляются в памяти машины так же, как и дробные числа, визуально в командном окне MATLAB они показываются в виде целых чисел" [Мартынов Н.Н., Иванов А.П. MATLAB 5.x. Вычисления, визуализация, программирование.-М.: КУДИЦ-ОБРАЗ, 2000.- 336с.; стр. 9-10]

 

Примеры.

 

>> 4 + 5

ans=

 

>> a = 7

a=

 

>> b = 6

b=

 

>> a * b

ans=

 

>> c = ans - 3

c=

 

Остаток от деления одного натурального числа на другое вычисляется с помощью операции mod:

 

>> mod ( 17 , 3 )

ans=

2.

 

Если остаток от деления равен нулю, то частное отображается на экране в виде целого числа:

 

>> a = 54;

>> b = 18;

>> a / b

ans=

3.

 

Для реализации операции целочисленного деления используется функция floor, которая отбрасывает дробную часть десятичной дроби:

>> a = 234;

>> b = 23;

>> floor ( a / b )

ans=

10.

 

Перечень чисел, заключённый в квадратные скобки на языке среды MATLAB обозначает массив. Команда

 

>> X = [ 3, 5, 12 ]

 

создаёт массив из трёх элементов, значение первого элемента (элемента с индексом 1) равно 3, значение второго равно 5, значение третьего элемента равно 12. Операция присваивания задаёт имя массива, оно используется для выполнения операций над массивом и его элементами:

 

>> X ( 1 )

X ( 1 ) =

>> X ( 7 ) = sqrt ( X ( 1 ))

X ( 7 ) =

>> X

X =

3 5 12 0 0 0 9

 

Команда X ( 1 ) вывела на экран значение первого элемента массива X; выполняя команду X ( 7 ) = sqrt ( X (1)) среда MATLAB добавляет к массиву X элементы с индексами 4, 5, 6, 7, возводит значение первого элемента массива X в квадрат и присваивает результат – число 9 – седьмому элементу, элементам с индексами 4, 5, 6 присваиваются нулевые значения.

 

Если числа, заключённые в квадратные скобки, отделяются друг от друга не запятой, а точкой с запятой, то полученный массив представляет собой вектор-столбец, его элементы выводятся на экран в виде столбца:

 

>> Y = [ 1; 3; 5; 7 ]

Y =

 

Аргументом функции length служит массив, она возвращает количество его элементов:

 

>> length ( X )

ans =

 

>> length ( Y )

ans =

 

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

 

>> A = [ 1, 3; 2, 4; 5, 7 ]

 

A =

1 3

2 4

3 5

 

Для завершения работы в среде MATLAB наберите в командной строке команду exit (выход) или щёлкните левой кнопкой мыши по системной кнопке 'закрыть' окна среды MATLAB.

 

Пакет MATLAB требует значительного количества вычислительных и информационных ресурсов, так что его обычно устанавливают на сервере. Пользователь получает доступ к нему с машины-клиента, как правило, это персональная ЭВМ. Машинное время сервера стоит очень дорого, поэтому работа пользователя в интерактивном режиме малоэффективна. Команды среды MATLAB записывают в специальный текстовый файл с расширением «m». Такой файл называется командным файлом, сценарием или m-файлом. Он должен находиться в активной директории среды MATLAB. Имя активной директории выводит на экран команда cd без аргументов, которая запускается в командной строке среды MATLAB.

 

Мы будем создавать командные файлы среды MATLAB в текстовым редакторе операционной системы Windows, который называется блокнот. Текстовый процессор Word для этой цели не подходит так как документ, созданный в среде Word содержит служебную информацию, её среда MATLAB не понимает. Обычно пользователь запускает блокнот, щелкая правой кнопкой мыши по экрану и выбирая в появившемся меню пункт Создать/Текстовый документ.

 

Можно также запустить блокнот с помощью команды

 

Рабочий стол/Пуск/программы/Стандартные/ Блокнот

 

или в окне сеанса MS DOS командой

 

notepad.exe имя_файла.

 

Как правило, администратор системы закрывает доступ пользователей к большинству файлов жёсткого диска, оставляя им для работы лишь несколько директорий, в которых можно выполнять операции с файлами и поддиректориями.

 

УЗНАЙТЕ У ПРЕПОДАВАТЕЛЯ ИМЯ ТОЙ ДИРЕКТОРИИ, В КОТОРОЙ СТУДЕНТАМ ВАШЕЙ ГРУППЫ РАЗРЕШАЕТСЯ РАБОТАТЬ С M-ФАЙЛАМИ, ЗАПУСТИТЕ ЭМУЛЯТОР КОМАНДНОЙ СТРОКИ И СОЗДАЙТЕ В НЕЙ ПОДДИРЕКТОРИЮ, НАЗВАНИЕ КОТОРОЙ СОВПАДАЕТ С ВАШЕЙ ФАМИЛИЕЙ, НАПРИМЕР, IVANOV. ЭТО БУДЕТ ВАША ЛИЧНАЯ ДИРЕКТОРИЯ. ПЕРЕХОД В ДРУГИЕ ДИРЕКТОРИИ ПРИВЕДЁТ К СНИЖЕНИЮ ОЦЕНКИ ЗА ЛАБОРАТОРНУЮ РАБОТУ!!!

 

Создайте файл myfile.m, содержащий следующие команды:

 

 

format long

3/7

format short

3/7

 

Сохраните файл myfile.m в папке, которую укажет преподаватель. После этого сделайте эту папку активной директорией среды MATLAB.

 

Например, команда среды MATLAB

 

>> cd

 

выводит на экран

 

C:\Documents and Settings\MATLAB\work,

 

а полное имя папки, указанной преподавателем – D:\mygroup\mydir. Наберите в командной строке среды MATLAB команду

 

cd D:\mygroup\mydir.

 

Если активна директория C:\Documents and Settings\MATLAB\work, а полное имя папки, указанной преподавателем - C:\Documents and settings\users\mygroup\Ivanov, то наберите в командной строке среды MATLAB команду

 

cd ..\..\users\mygroup\Ivanov.

 

Можно считать, что, команда cd в нашем случае выполняет переход в родительскую директорию директории work - это директория MATLAB, затем переходит в её родительскую директорию ( Documents and Settings), после чего выполняется переход последовательно в директории users, mygroup, Ivanov. На самом деле никаких переходов система не делает - если директория C:\Documents and Settings\MATLAB\work является активной, то конструкция

 

..\..\users\mygroup\Ivanov

 

представляет собой синоним имени C:\Documents and settings\users\mygroup\Ivanov. При другой конфигурации дерева директорий следует изменить аргумент команды cd. Не следует использовать в качестве аргумента команды cd имена папок, состоящие из нескольких слов, поскольку среда неверно их интерпретирует. Если Вы сделали ошибку в имени директории, то в командной строке среды MATLAB появится сообщение об ошибке. Например, пользователь набирает имя несуществующей директории:

 

>> cd abcd

??? Error using ==> cd

cannot CD to abcd ( Name is nonexistent or not a directory)

 

После смены активной директории всегда проверяйте, корректность выполнения команды. Наберите в командной строке среды MATLAB команду cd без аргументов - на экране должно появиться имя новой активной директории. Для того, чтобы запустить m-файл, надо набрать его имя ( без расширения m) в командной строке среды MATLAB:

 

>> myfile

 

Если Вы всё сделали правильно, то на экране появится десятичное представление дроби 3/7 с разной степенью точности.

 

ЗАДАНИЯ К ЛАБОРАТОРНЫМ РАБОТАМ И ПРИМЕРЫ ОФОРМЛЕНИЯ ОТЧЁТОВ О ВЫПОЛНЕННЫХ ЛАБОРАТОРНЫХ РАБОТАХ

 

Все имена файлов и директорий (папок), приведённые в примерах отчётов о выполненных лабораторных работах, следует заменять теми именами, которые укажет преподаватель.

 

 

МИНИСТЕРСТВО ОБРАЗОВАНИЯ и НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО СПЕЦИАЛЬНОГО ОБРАЗОВАНИЯ

«тюменский государственный нефтегазовый университет»

 

ИНСТИТУТ КИБЕРНЕТИКИ ИНФОРМАТИКИ И СВЯЗИ

Кафедра кибернетических систем

 

Направление 220200 Автоматизация и управление, специальность 220201 Управление и информатика в технических системах

 

ОТЧЁТ О ВЫПОЛНЕННОЙ ЛАБОРАТОРНОЙ РАБОТЕ №1

ПО ДИСЦИПЛИНЕ "МОДЕЛИРОВАНИЕ СИСТЕМ"

 

ТЕМА. РЕШЕНИЕ ЛИНЕЙНЫХ, АЛГЕБРАИЧЕСКИХ И ТРАНСЦЕНДЕНТНЫХ УРАВНЕНИЙ

 

Выполнил Иванов А. Б., группа ....

___________

 

Проверил Ковалёв П. И.

 

Тюмень 2012

 

Цель лабораторной работы №1.

 

Овладение навыками решения линейных, алгебраических и трансцендентных уравнений в среде MATLAB.

 

Задание.

 

Составьте и решите систему линейных уравнений среде MATLAB.

 

Составьте и решите квадратное уравнение в среде MATLAB.

 

Составьте и решите кубическое уравнение в среде MATLAB.

 

Составьте и решите трансцендентное уравнение в среде MATLAB.

 

РЕШЕНИЕ СИСТЕМЫ ЛИНЕЙНЫХ УРАВНЕНИЙ В СРЕДЕ MATLAB

 

Решение системы линейных уравнений с невырожденной матрицей системы в среде MATLAB

 

Пример. Чтобы решить систему 3-х линейных уравнений с тремя неизвестными:

 

2 x + 4 y + 5 z = 4

4 x + 6 y + 8 z = 9

7 x + y + 6 z = 6

 

введём в командной строке среды MATLAB следующие команды:

 

>> A = [ 2, 4, 5; 4, 6, 8; 7, 1, 6 ]

 

(переменной A присвоено значение матрицы системы)

 

 

>> B = [ 4; 9; 6 ]

 

(переменой B присвоено значение столбца свободных членов)

 

>> X = A \ B

 

(команда вычисляет столбец неизвестных):

 

>> A = [ 2, 4, 5; 4, 6, 8; 7, 1, 6 ]

 

A =

 

2 4 5

4 6 8

7 1 6

 

>> B = [ 4; 9; 6 ]

 

B =

 

 

>> X = A \ B

 

X =

 

7.8333

9.1667

-9.6667

 

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

 

Проверка

 

В командном окне среды MATLAB вводим команду

 

>> A * X - B

 

На экране должен появиться появляется столбец, состоящий из нулей.:

 

ans =

 

 

Задание

 

Составьте и решите систему линейных уравнений. Количество уравнений указывает преподаватель.

 

Решение системы линейных уравнений с вырожденной матрицей системы в среде MATLAB

 

Квадратная матрица называется вырожденной , если её определитель равен нулю. Если две строки квадратной матрицы совпадают или их соответствующие элементы пропорциональны, то матрица вырождена.

 

Задание. Составьте систему n линейных уравнений с n неизвестными, матрица которой вырождена, причём система имеет решение <значение n указывает преподаватель>. Попытайтесь решить её в среде MATLAB. Включите в отчёт описание поведения среды MATLAB.

 

Задание. Составьте систему n линейных уравнений с n неизвестными, матрица которой вырождена, причём система не имеет решений <значение n указывает преподаватель>. Попытайтесь решить её в среде MATLAB. Включите в отчёт описание поведения среды MATLAB.

 

Пример системы трёх линейных уравнений, множество решений которой бесконечно:

 

x + 2 y + 3 z = 4

x + 2 y + 3 z = 4

5 x + 6 y + 7 z = 8

 

Пример системы трёх линейных уравнений, которая не имеет решений:

 

x + 2 y + 3 z = 4

x + 2 y + 3 z = 14

5 x + 6 y + 7 z = 8

 

Задание. Приведите пример системы, математическая модель которой представляет собой систему линейных алгебраических уравнений. Исследуйте эту модель аналитическими методами. Решите систему уравнений в среде MATLAB.

 

РЕШЕНИЕ КВАДРАТНОГО УРАВНЕНИЯ В СРЕДЕ MATLAB

 

Пример. Требуется решить квадратное уравнение x2 – 5 x + 6 = 0.

 

Решение. Запускаем среду MATLAB. В командной строке вызываем функцию roots:

 

>> roots ( [ 1, -5, 6 ] )

 

Аргументом функции roots служит массив-строка, образованный коэффициентами многочлена.

 

На экране появляется ответ:

 

ans=

 

 

Задание. Составьте и решите квадратные уравнения:

с двумя отрицательными корнями;

с двумя корнями разных знаков;

с совпадающими положительными корнями;

с совпадающими отрицательными корнями;

с комплексными корнями.

 

Напомним, что если x1, x2 – корни уравнения x2 + p x + q = 0, то x1+ x2 = - p x1 x2 = q (теорема Виета). Пример квадратного уравнения с мнимыми корнями: x2 + 1 = 0.

 

Задание. Приведите пример системы, математическая модель которой представляет собой квадратное уравнение. Исследуйте эту модель аналитическими методами. Решите уравнение в среде MATLAB.

 

РЕШЕНИЕ КУБИЧЕСКОГО УРАВНЕНИЯ В СРЕДЕ MATLAB

 

 

Задание. Составьте и решите несколько кубических уравнений.

 

Задание. Приведите пример системы, математическая модель которой представляет собой кубическое уравнение. Исследуйте эту модель аналитическими методами. Решите уравнение в среде MATLAB.

 

 

РЕШЕНИЕ ТРАНСЦЕНДЕНТНОГО УРАВНЕНИЯ В СРЕДЕ MATLAB

 

Пример. Требуется решить уравнение exp ( x ) = 2

 

Решение. Преобразуем уравнение так, чтобы в его правой части стоял 0: exp ( x ) - 2 = 0. Запускаем среду MATLAB. В командной строке вызываем функцию fzero:

 

>> fzero ( @(x) exp ( x ) - 2, 0)

 

Первый аргумент функции fzero описывает функцию, стоящую в левой части уравнения ( exp ( x ) - 2 ) и называет её аргумент (это делает конструкция @(x)). Второй аргумент функции fzero – начальное приближение. Метод решения уравнения похож на известный метод касательных, решение представляет собой результат последовательности итераций. На экране появляется ответ:

 

ans=

 

0.6931

 

 

(это приближённое значение натурального логарифма числа 2). Выбирая в качестве начальных приближений числа 1, 5, 10, 100 мы получим тот же ответ. Если ввести

 

>> fzero(@(x) exp ( x ) - 2, 1000)

 

то среда сообщает:

 

Error using ==> fzero

Function value at starting guess must be finite and real:

 

Ошибка в ходе использования fzero. Значение функции в точке начального приближения должно быть конечным и вещественным.

 

Среда воспринимает значение exp (1000) как бесконечное.

 

 

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

 

Задание Оцените наименьшее значение числа k для которого уравнение exp ( x ) = k x. имеет решение. Объясните вашу стратегию поиска числа k.

 

Если известно, что значения функции f ( x ) в точках a, b имеют разные знаки, то корень уравнения f ( x ) = 0, лежащий между a и b находят с помощью вызова функции fzero, вторым аргументом которой служит массив [ a, b].

 

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

 

Задание. Приведите пример системы, математическая модель которой представляет собой трансцендентное уравнение. Исследуйте эту модель аналитическими методами. Решите уравнение в среде MATLAB.

 

МИНИСТЕРСТВО ОБРАЗОВАНИЯ и НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО СПЕЦИАЛЬНОГО ОБРАЗОВАНИЯ

«тюменский государственный нефтегазовый университет»

 

ИНСТИТУТ КИБЕРНЕТИКИ ИНФОРМАТИКИ И СВЯЗИ

Кафедра кибернетических систем

 

Направление 220200 Автоматизация и управление, специальность 220201 Управление и информатика в технических системах

 

ОТЧЁТ О ВЫПОЛНЕННОЙ ЛАБОРАТОРНОЙ РАБОТЕ №2

ПО ДИСЦИПЛИНЕ "МОДЕЛИРОВАНИЕ СИСТЕМ"

 

ТЕМА. МОДЕЛИРОВАНИЕ ДЕТЕРМИНИРОВАННЫХ СИСТЕМ С ПОМОЩЬЮ ОБЫКНОВЕННЫХ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ

 

Выполнил Иванов А. Б., группа ....

___________

 

Проверил Ковалёв П. И.

 

Тюмень 2012

 

Цель лабораторной работы №2.

 

Овладение навыками исследования детерминированных систем с помощью обыкновенных дифференциальных уравнений в среде MATLAB.

 

2. Задание.

 

Частица (материальная точка) падает вертикально вниз в безвоздушном пространстве под действием постоянной силы тяжести. Постройте и исследуйте математическую модель системы.

 

Шарик двигается вдоль вертикальной оси Oz под действием постоянной силы тяжести, сила сопротивления воздуха пропорциональна скорости шарика. Постройте и исследуйте математическую модель системы.

 

Шарик двигается в воде вдоль вертикальной оси Oz под действием постоянной силы тяжести, сила сопротивления воды пропорциональна скорости шарика. Постройте и исследуйте математическую модель системы.

 

Электрическая цепь состоит из источника постоянной электродвижущей силы, катушки (без сердечника), сопротивления и выключателя, которые соединены последовательно. В начальный момент времени включают ток. Постройте и исследуйте математическую модель системы.

 

Электрическая цепь состоит из источника постоянной электродвижущей силы, конденсатора, сопротивления и выключателя, которые соединены последовательно. В начальный момент времени включают ток. Постройте и исследуйте математическую модель системы.

 

Электрическая цепь состоит из источника электродвижущей силы, изменяющейся по синусоидальному закону, катушки (без сердечника), сопротивления и выключателя, которые соединены последовательно. В начальный момент времени включают ток. Постройте и исследуйте математическую модель системы.

 

Электрическая цепь состоит из источника электродвижущей силы, изменяющейся по синусоидальному закону, конденсатора, сопротивления и выключателя, которые соединены последовательно. В начальный момент времени включают ток. Постройте и исследуйте математическую модель системы.

 

Частица (материальная точка) двигается без трения вдоль горизонтальной оси Ox под действием возвращающей силы, пропорциональной расстоянию частицы от начала координат. Постройте и исследуйте математическую модель системы.

 

Электрическая цепь состоит из источника постоянной электродвижущей силы, катушки (без сердечника), конденсатора, сопротивления и выключателя, которые соединены последовательно. В начальный момент времени включают ток. Постройте и исследуйте математическую модель системы.

 

Электрическая цепь состоит из источника электродвижущей силы, изменяющейся по синусоидальному закону, катушки (без сердечника), конденсатора, сопротивления и выключателя, которые соединены последовательно. В начальный момент времени включают ток. Постройте и исследуйте математическую модель системы.

 

Исследуйте протекание процесса, который описывается нелинейным уравнением Ван-дер-Поля

 

d2y / dt2 = - y + k ( 1 – y2 ) dy / dt

 

y = y ( t ) - функция, которая описывает изменение состояния системы, k – параметр.

 

Исследование падения частицы под действием постоянной силы тяжести в безвоздушном пространстве.

 

Задание

 

Частица (материальная точка) падает вертикально вниз в безвоздушном пространстве под действием постоянной силы тяжести. Постройте и исследуйте математическую модель системы.

 

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

 

Система состоит из частицы, падающей в безвоздушном пространстве. На неё действует сила притяжения Земли.

 

Выберем систему координат так, чтобы плоскость Oxy совпадала с поверхностью Земли, ось Oz была направлена вертикально вверх.

 

Состояние системы в момент времени t описывается её скоростью v ( t ).

 

Параметры системы:

m – масса частицы;

g – ускорение свободного падения.

 

Начальное значение: скорость частицы в момент времени t = 0 равна v0.

 

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

 

m dv / dt = - m g (1)

 

(знак 'минус' в правой части указывает, что сила тяжести направлена вниз). Преобразуем уравнение (1) в нормальную форму:

 

dv / dt = - g (2)

 

 

Примечание. Нормальная форма дифференциального уравнения первого порядка имеет вид: dy / dt = f ( t, y ), где y = y ( t ) - неизвестная функция аргумента t.

 

Дифференциальное уравнение (2) вместе с начальным условием v ( 0 ) = v0 образует задачу Коши:

 

dv / dt = - g

v ( 0 ) = v0 (3)

 

Решение задачи Коши в среде MATLAB.

 

Присвоим параметрам и начальным значениям, входящим в уравнения и начальные условия, следующие числовые значения:

 

>> g = 9.82 % м/с2

>> v0 = 1 % м/с

 

 

Примечание. Знак '%' отделяет команду от комментария.

 

Для решения задачи Коши вызовем в командной строке среды MATLAB функцию ode45:

 

>> ode45 (@(t, v) - g, [ 0, 20 ], v0)

 

Первый аргумент функции ode45 задаёт функцию, стоящую в правой части дифференциального уравнениия ( f ( t, v ) = - g ) и указывает её аргументы – t и v. В нашем случае независимая переменная t и неизвестная функция v не входят явно в правую часть дифференциального уравнения. Второй аргумент функции ode45 задаёт интервал, на котором среда должна искать значения неизвестной функции, третий аргумент – значение неизвестной функции в левом конце интервала.

 

На экране должен появиться график изменения скорости частицы со временем.

 

Решите задачу, изменяя параметры системы и начальное условие.

 

Вывод

 

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

 

 

Исследование движения шарика, вдоль вертикальной оси под действием постоянной силы тяжести.

 

Задание. Шарик двигается вдоль вертикальной оси Oz под действием постоянной силы тяжести, сила сопротивления воздуха пропорциональна скорости шарика. Постройте и исследуйте математическую модель системы.

 

 

Силу сопротивления воздуха вычисляем по формуле Стокса:

 

F = - 6 π η r v,

где:

π – число пи, в среде MATLAB оно обозначается символом pi;

η – коэффициент внутреннего трения (вязкости) среды;

r – радиус шарика;

v – скорость шарика;

знак минус указывает, что сила сопротивления среды направлена противоположно скорости шарика.

 

Коэффициент вязкости воздуха составляет 17.2 · 10-6 Па · с.

 

Масса шарика равна 4 π r3 ρ / 3, где ρ – плотность материала, из которого изготовлен шарик. Плотность берёзы составляет 700 кг/м3, плотность алюминия - 2700 кг/м3, плотность стали - 7800 кг/м3.

 

Исследование движения шарика в воде вдоль вертикальной оси под действием постоянной силы тяжести

 

Задание. Шарик двигается в воде вдоль вертикальной оси Oz под действием постоянной силы тяжести, сила сопротивления воды пропорциональна скорости шарика. Постройте и исследуйте математическую модель системы.

 

Коэффициент вязкости воды равен 0.00105 Па · с.

 

На шарик действует сила Архимеда, выталкивающая его из воды, она равна 4 π r3 ρ1 g / 3, g – ускорение свободного падения, ρ1 - плотность воды, ρ1 = 1000 кг/м3.

 

Исследование изменения величины тока в электрической цепи, состоящей из источника постоянной электродвижущей силы, катушки (без сердечника), сопротивления и выключателя, которые соединены последовательно

 

Задание. Электрическая цепь состоит из источника постоянной электродвижущей силы, катушки (без сердечника), сопротивления и выключателя, которые соединены последовательно. В начальный момент времени включают ток. Постройте и исследуйте математическую модель системы.

 

Компонентами системы являются источник постоянной электродвижущей силы, катушка (без сердечника), сопротивление и выключатель, Каждый из этих приборов имеет два контакта, в узле 1 соединяются контакт источника постоянной электродвижущей силы и контакт катушки, в узле 2 соединяются контакт катушки и контакт сопротивления, в узле 3 соединяются контакт сопротивления и контакт выключателя, в узле 4 контакт выключателя соединяется с контактом источника ЭДС. Согласно первому правилу Кирхгофа сила тока, втекающего в узел, равна величине тока, вытекающего из узла, следовательно, через каждый компонент цепи в момент времени t течёт ток одной и той же силы i ( t ). Величина i ( t ) характеризует состояние системы в момент времени t.

 

Параметры системы:

E - величина источника ЭДС;

L – индуктивность катушки;

R – величина сопротивления.

 

При обходе замкнутого контура цепи алгебраическая сумма падений напряжения равна алгебраической сумме величин источников ЭДС (второе правило Кирхгофа). Падением напряжения на приборе называется произведение силы тока, проходящего через прибор, на сопротивление прибора, взятое со знаком плюс, если направление тока совпадает с направлением обхода, и со знаком минус, если эти направления противоположны. Величина источника ЭДС берётся со знаком плюс, если она повышает потенциал цепи в направлении обхода, и со знаком минус, если она понижает этот потенциал. В катушке возникает ЭДС тогда, когда проходящий через неё ток изменяется, она препятствует этому изменению:

 

Eкатушки = - L di / dt

 

Таким образом, дифференциальное уравнение имеет такой вид:

 

R i = EL di / dt.

 

Удельное сопротивление меди равно 1,75 * 10-6 Ом см, алюминия – 2,8 * 10-6 Ом см вольфрама – 5,5 * 10-6 Ом см. Индуктивность двухпроводной линии длиной l

 

L = l μ0 μ / π ln ( a / r )

 

r – радиус провода, a – расстояние между осями проводов, μ0 - магнитная постоянная, μ0 = 1,26 * 10-6 Гн/м, μ - относительная магнитная проницаемость среды, относительная магнитная проницаемость вакуума арна 1.

 

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

 

Задание. Электрическая цепь состоит из источника постоянной электродвижущей силы, конденсатора, сопротивления и выключателя, которые соединены последовательно. В начальный момент времени включают ток. Постройте и исследуйте математическую модель системы.

 

Конденсатор является источником ЭДС, она вычисляется по формуле:

 

Eконденсатора = - q / C,

 

где q = q ( t ) – заряд, накопленный конденсатором к моменту времени t. Таким образом, уравнение выглядит так:

 

R i = Eq / C,

 

в нём две неизвестные функции: сила тока i и заряд q. Для того, чтобы получить уравнение с одним неизвестным, выражаем силу тока через заряд:

 

i = dq / dt.

 

Ёмкость конденсатора C находим по формуле

 

C = ε0 ε S / d,

 

ε0 – электрическая постоянная, она равна 8.85 ·10-12 Ф / м, ε – диэлектрическая проницаемость, для вакуума и воздуха ε = 1, диэлектрическая проницаемость стекла может принимать значения от 4 до 10, S – площадь (меньшей) пластины конденсатора, d – расстояние между пластинами.

 

Задание. Построить график изменения силы тока в цепи.

 

Набираем в командном окне следующую команду:

 

>> [ T, q ] = ode45 (@( t, q ) ( E – q / C ) / R, [ 0, 20 ], 0 );

 

Она создаёт два числовых массива, в массиве T содержатся значения моментов времени, а в массиве q – соответствующие значения заряда конденсатора.

 

На диске D: создаём рабочую папку MYDIR (ВСЕ ИМЕНА ФАЙЛОВ И ПАПОК НАЗЫВАЕТ ПРЕПОДАВАТЕЛЬ). Чтобы сделать эту папку рабочей папкой среды MATLAB, в командой строке среды MATLAB вводим команду

 

>> cd D:\MYDIR.

 

В рабочей папке создаём текстовый файл myfile.m (с расширением «m»). ИСПОЛЬЗУЙТЕ ДЛЯ ЭТОГО НЕФОРМАТИРУЮЩИЙ РЕДАКТОР NOTEPAD. В файле myfile.m записываем следующие команды:

 

n = length ( T ) % в переменную n помещаем количество элементов в массиве T

 

 

for k = 1 : 1 : n

i ( k ) = ( E – q ( k ) / C ) / R

end

 

Элемент i ( k ) массива i содержит значение силы тока в момент времени t ( k ).

 

Для того, чтобы вывести на экран график зависимости силы тока в электрической цепи от времени, набираем команду:

 

>> plot ( T, i )

 

Если мы хотим на той же схеме представить график зависимости заряда конденсатора от времени, то вводим команды:

 

>> hold on

>> plot ( T, q )

 

Исследование изменения величины тока в электрической цепи, состоящей из источника электродвижущей силы, изменяющейся по синусоидальному закону, катушки (без сердечника), сопротивления и выключателя, которые соединены последовательно

 

Задание. Электрическая цепь состоит из источника электродвижущей силы, изменяющейся по синусоидальному закону, катушки (без сердечника), сопротивления и выключателя, которые соединены последовательно. В начальный момент времени включают ток. Постройте и исследуйте математическую модель системы.

 

Величина источника ЭДС в произвольный момент времени t равна A sin ( 2 π n t + φ ), где A – амплитуда, а n – частота ЭДС, φ - начальная фаза. В электрической сети частота ЭДС составляет 50 с-1, амплитуда A равна эффективному напряжению (220 В), умноженному на корень квадратный из двух.

 

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

 

Задание. Электрическая цепь состоит из источника электродвижущей силы, изменяющейся по синусоидальному закону, конденсатора, сопротивления и выключателя, которые соединены последовательно. В начальный момент времени включают ток. Постройте и исследуйте математическую модель системы.

 

 

Исследование движения частицы, на которую действует возвращающая сила (гармонического осциллятора)

 

Задание. Частица (материальная точка) двигается без трения вдоль горизонтальной оси Ox под действием возвращающей силы, пропорциональной расстоянию частицы от начала координат. Постройте и исследуйте математическую модель системы.

 

Состояние системы в момент времени t описывается её абсциссой x = x ( t ), величина действующей на неё возвращающей силы равна c x, c – числовой коэффициент. В силу второго закона Ньютона

 

m d2 x / dt2 = - c x

 

(знак минус указывает, что возвращающая сила направлена от частицы к началу координат). Чтобы преобразовать это уравнение в нормальную форму используем переменные x1, x2:

x1 обозначает абсциссу частицы, а x2 – её скорость. Уравнение движения частицы превращается в систему уравнений:

 

dx1 / dt = x2

dx2 / dt = - c x1 / m.

 

Правую часть системы уравнений можно представить в виде вектора-столбца. Вызываем функцию ode45:

 

>> ode45 (@( t, x ) [ x ( 2 ); - c x ( 1 ) / m ], [ 0, 20 ], [ x0, v0 ])

 

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

 

>> [ T, x ] = ode45 (@( t, x ) [ x ( 2 ); - c x ( 1 ) / m ], [ 0, 20 ], [ x0, v0 ]);

>> plot ( T, x ( : , 1 ))

 

график скорости строит другая команда:

 

>> plot ( T, x ( : , 2 ))

 

Задание. Электрическая цепь состоит из источника постоянной электродвижущей силы, катушки (без сердечника), конденсатора, сопротивления и выключателя, которые соединены последовательно. В начальный момент времени включают ток. Постройте и исследуйте математическую модель системы.

 

Задание. Электрическая цепь состоит из источника электродвижущей силы, изменяющейся по синусоидальному закону, катушки (без сердечника), конденсатора, сопротивления и выключателя, которые соединены последовательно. В начальный момент времени включают ток. Постройте и исследуйте математическую модель системы.

 

Задание. Исследуйте протекание процесса, который описывается нелинейным уравнением Ван-дер-Поля

 

d2y / dt2 = - y + k ( 1 – y2 ) dy / dt

 

y = y ( t ) - функция, характеризующая состояние системы, k – параметр.

 

 

Определите при каких значениях параметра k решение уравнения Ван-дер-Поля является периодическим. Для решения уравнения Ван-дер-Поля лучше воспользоваться функцией ode15s.

 

МИНИСТЕРСТВО ОБРАЗОВАНИЯ и НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО СПЕЦИАЛЬНОГО ОБРАЗОВАНИЯ

«тюменский государственный нефтегазовый университет»

 

ИНСТИТУТ КИБЕРНЕТИКИ ИНФОРМАТИКИ И СВЯЗИ

Кафедра кибернетических систем

 

Направление 220200 Автоматизация и управление, специальность 220201 Управление и информатика в технических системах

 

ОТЧЁТ О ВЫПОЛНЕННОЙ ЛАБОРАТОРНОЙ РАБОТЕ №3

ПО ДИСЦИПЛИНЕ "МОДЕЛИРОВАНИЕ СИСТЕМ"

 

ТЕМА. ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ ДЕТЕРМИНИРОВАННЫХ СИСТЕМ

 

 

Выполнил Иванов А. Б., группа ....

___________

 

Проверил Ковалёв П. И.

 

Тюмень 2012

 

 

Цель лабораторной работы №3.

 

Овладение навыками построения и исследования имитационных моделей детерминированных процессов в среде MATLAB.

 

 

МОДЕЛИРОВАНИЕ НЕПРЕРЫВНЫХ ДЕТЕРМИНИРОВАННЫХ ПРОЦЕССОВ

 

 

Задание 1.

 

Общее описание системы

 

В начальный момент времени в резервуаре было a кубических метров жидкости. В момент времени b включили насос, который стал выкачивать из резервуара c кубических метров жидкости в секунду. Когда в резервуаре не осталось жидкости, насос выключили.

 

Задача

 

Составьте и исследуйте компьютерную модель, имитирующую процесс изменения объёма жидкости в резервуаре в течение промежутка времени [ 0, d ]; a, b, c, d – положительные вещественные числа.

 

Параметр системы:

q – объём жидкости, который насос выкачивает из резервуара за единицу времени, q = c;

 

 

Выделенные моменты времени:

T1 – начало наблюдений, T1 = 0;

T2 – момент включения насоса, T2 = b;

T3 – момент выключения насоса;

T4 - момент завершения наблюдений, T4 = d.

 

Начальное условие:

объём v0 жидкости в резервуаре в начальный момент времени равен a.

 

 

Величина, характеризующая состояние системы:

v ( t ) - объём жидкости в резервуаре в момент времени t, 0 ≤ tT4 .

 

Описание имитационной модели

 

Объём жидкости в резервуаре фиксируется с интервалом времени h с в моменты t1, t2,..., t1 = T1 = 0, tk+1 - tk = h, tk = ( k – 1 ) h, k = 1, 2,... Значения этих моментов времени программа помещает в массив Time. Элементу с индексом k массива Vol она присваивает значение v ( tk ) объёма жидкости в резервуаре в момент времени tk : v ( tk+1 ) = v ( tk ) - q h (в течение промежутка времени h насос выкачает из резервуара q h кубических метров жидкости).

 

Исходные данные образуют отдельный блок программы. Для того, чтобы выполнить тестирование программы присвоим исходным данным следующие значения: a = 12, b = 3, c = 1, d = 20. Команда clear удаляет информацию о переменных, которые появились в рабочей области в результате выполнения предыдущих команд.

 

Текст файла pump.m будет выглядеть так:

 

% File pump.m

 

clear

% команда clear удаляет информацию о переменных, которые появились в рабочей области в результате выполнения предыдущих команд

 

T1 = 0; % начальный момент времени

v0 = 12; % a = 12 – объём жидкости в резервуаре в начальный момент времени

T2 = 3; % b = 3 – момент включения насоса

q = 1; % c = 1

T4 = 20; % d = 20 - момент завершения наблюдений

h = 0.01 % интервал между двумя следующими друг за другом моментами наблюдений составляет 0.01 с.

 

% program Simulation: pumping liquid out from a reservoir. File pump.m

 

Time = T1 : h : T4;

% значения моментов времени, в которые фиксируется объём жидкости в резервуаре, помещаются в массив Time.

 

k = 0; % индекс массива Vol

 

Q = q * h; % количество жидкости, которое насос откачивает из резервуара за h секунд

 

for t = Time

% переменная t пробегает значения t1, t2,...

 

k = k + 1;

 

if t < T2

% если насос ещё не включали, то в резервуаре остаётся первоначальный объём жидкости

 

v = v0;

else

 

if v > Q

% если в резервуаре осталась достаточно жидкости

 

v = v – Q;

 

% за время, прошедшее с момента предыдущего наблюдения насос выкачал из резервуара Q кубических метров жидкости

 

else

v = 0;

% если в резервуаре оставалось меньше жидкости, чем насос выкачивает за время h, то к моменту следующего наблюдения резервуар будет пуст

end % end if

end % end if

Vol ( k ) = v;

end % end for

 

На диске D: создаём рабочую папку SIMULATION (ВСЕ ИМЕНА ФАЙЛОВ И ПАПОК НАЗЫВАЕТ ПРЕПОДАВАТЕЛЬ). Чтобы сделать эту папку рабочей папкой среды MATLAB, в командой строке среды MATLAB вводим команду

 

>> cd D:\SIMULATION.

 

В рабочую папку помещаем текстовый файл pump.m (с расширением «m»). КОМАНДНЫЙ ФАЙЛ СОЗДАВАЙТЕ В НЕФОРМАТИРУЮЩЕМ РЕДАКТОРЕ NOTEPAD (БЛОКНОТ).

 

 

Набираем в командном окне имя командного файла (без расширения m):

 

>> pump

 

Команда создаёт два числовых массива, в массиве Time содержатся значения моментов наблюдений, а в массиве Vol – соответствующие значения объёма жидкости в резервуаре.

 

Чтобы вывести на экран график изменения объёма жидкости в резервуаре с течением времени, набирите в командной строке

 

>> plot ( Time, Vol )

 

Вывод. В течение первых трёх секунд объём жидкости в резервуаре не изменяется. Далее в течение 12 секунд объём жидкости в резервуаре уменьшается по линейному закону. Через 15 секунд после начала наблюдений в резервуаре не остаётся жидкости.

 

Задание 2.

 

Общее описание системы

 

В начальный момент времени в резервуаре было a кубических метров жидкости. В момент времени b включили насос, который стал выкачивать из резервуара c кубических метров жидкости в секунду. В момент времени d насос остановили для профилактического осмотра. Через f секунд его снова включили. Когда в резервуаре не осталось жидкости, насос выключили.

 

Задача

 

Составьте и исследуйте компьютерную модель, имитирующую процесс изменения объёма жидкости в резервуаре в течение промежутка времени [ 0, g ]; a, b, c, d, f, g – положительные вещественные числа.

 

Задание 3.

 

Общее описание системы

 

В начальный момент времени в резервуаре было a кубических метров жидкости. В момент времени b включили насос, который стал накачивать в резервуар c кубических метров жидкости в секунду. В момент времени d насос остановили для профилактического осмотра. Через f секунд его снова включили. Когда резервуар был заполнен, насос выключили. Объём резервуара составляет g кубических метров.

 

Задача

 

Составьте и исследуйте компьютерную модель, имитирующую процесс изменения объёма жидкости в резервуаре в течение промежутка времени [ 0, l ]; a, b, c, d, f, g, l – положительные вещественные числа.

 

МОДЕЛИРОВАНИЕ ДИСКРЕТНЫХ ДЕТЕРМИНИРОВАННЫХ ПРОЦЕССОВ

 

 

Задание 4.

 

Общее описание системы

 

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

 

Задача

 

Составьте и исследуйте компьютерную модель, имитирующую процесс изменения количества заявок в системе в течение промежутка времени [ 0, f ]; a, b, c, d, f – положительные вещественные числа.

 

Задание 5.

 

Общее описание системы

 

В начальный момент времени в системе массового обслуживания находилось a заявок. С момента времени b система обслуживает заявки. Обслуживание каждой заявки занимает c секунд, обслуженная заявка покидает систему.

 

Задача

 

Составьте и исследуйте компьютерную модель, имитирующую процесс изменения количества заявок в системе в течение промежутка времени [ 0, d ]; a, b, c, d – положительные вещественные числа.

 

Задание 6.

 

Общее описание системы

 

В начальный момент времени в системе массового обслуживания находилось a заявок. С момента времени b с интервалом c секунд в систему поступают заявки. В момент d система начинает обслуживать находящиеся в ней заявки, Обслуживание одной заявки занимает f секунд, обслуженная заявка покидает систему.

 

Задача

 

Составьте и исследуйте компьютерную модель, имитирующую процесс изменения количества заявок в системе в течение промежутка времени [ 0, g ]; a, b, c, d, f , g – положительные вещественные числа.

 

 

МИНИСТЕРСТВО ОБРАЗОВАНИЯ и НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО СПЕЦИАЛЬНОГО ОБРАЗОВАНИЯ

«тюменский государственный нефтегазовый университет»

 

ИНСТИТУТ КИБЕРНЕТИКИ ИНФОРМАТИКИ И СВЯЗИ

Кафедра кибернетических систем

 

Направление 220200 Автоматизация и управление, специальность 220201 Управление и информатика в технических системах

 

ОТЧЁТ О ВЫПОЛНЕННОЙ ЛАБОРАТОРНОЙ РАБОТЕ №4

ПО ДИСЦИПЛИНЕ "МОДЕЛИРОВАНИЕ СИСТЕМ"

 

ТЕМА. МОДЕЛИРОВАНИЕ СЛУЧАЙНЫХ ВЕЛИЧИН

 

Выполнил Иванов А. Б., группа ....

___________

 

Проверил Ковалёв П. И.

 

Тюмень 2012

 

 

Цель лабораторной работы №4

 

Овладение навыками моделирования случайных величин.

 

 

МОДЕЛИРОВАНИЕ СЛУЧАЙНЫХ ВЕЛИЧИН, РАВНОМЕРНО РАСПРЕДЕЛЁННЫХ НА ЧИСЛОВОМ ИНТЕРВАЛЕ

 

 

Задание 1. Создайте числовой массив, состоящий из n элементов и присвойте им значения случайной величины, равномерно распределённой на числовом интервале ] 0, 1 [.

 

Решение. Функция rand ( m, n) среды MATLAB создаёт двумерный массив - числовую матрицу, состоящую из m строк и n столбцов, и присваивает её элементам значения псевдослучайной величины, равномерно распределённой на числовом интервале ] 0, 1 [.

 

Набираем в командной строке среды MATLAB команду

 

>> rand ( 1, 12)

 

На экране появляются 12 значений псевдослучайной величины, равномерно распределённой на числовом интервале ] 0, 1 [, помещённых в массив ans.

 

Задание 2. Создайте числовой массив, состоящий из n элементов и присвойте им значения случайной величины, равномерно распределённой на числовом интервале ] a, b [, a > b.

 

Решение. Если E – случайная величина, равномерно распределённая на числовом интервале ] 0, 1 [, α, β – вещественные числа, причём α > 0, то случайная величина α E + β равномерно распределена на интервале ] β, α + β [. Таким образом, случайная величина ( b – a ) E + a равномерно распределена на числовом интервале ] a, b [. Следующий набор команд формирует массив X из n элементов и присваивает им псевдослучайные значения, равномерно распределённые в интервале ] a, b [:

 

X = rand ( 1, n );

for k = 1:1:n

X ( k ) = ( b – a ) * X ( k ) + a;

end

 

Другой способ решения задачи: воспользоваться функцией random с аргументом 'Uniform' (равномерный, сокращённая форма 'unif'). Кроме аргумента 'Uniform' функция имеет ещё четыре аргумента. Два из них – параметры функции распределения (числа a, b), остальные аргументы задают размерность матрицы. Команда

 

random ( 'Uniform', a, b, m, n )

 

 

создаёт двумерный массив – числовую матрицу, состоящую из m строк и n столбцов и присваивает её элементам псевдослучайные значения, равномерно распределённые в интервале ] a, b [.

 

Задание 3

 

С помощью метода Монте-Карло определите площадь части плоскости, ограниченной эллипсом с полуосями a, b.

 

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

 

Уравнение эллипса с полуосями a, b имеет такой вид:

 

x2 / a2 + y2 / b2 = 1.

 

Он делит плоскость на две области, внутреннюю и внешнюю. Рассмотрим точку A, которая находится во внутренней области. Прямая OA, проходящая через начало координат и точку A, пересекает эллипс в какой-то точке B, в этой точке значение выражения x2 / a2 + y2 / b2 равно 1. Так как точка B находится дальше от начала координат, чем точка A, то для неё значение выражения x2 / a2 + y2 / b2 должно быть больше, чем для точки A, следовательно, во всех точках внутренней области значение выражения x2 / a2 + y2 / b2 меньше 1. Точно так же доказывается, что для всех точек внешней области значение этого выражения больше 1.

 

Проведём прямые x = a, x = - a, y = b. y = - b. Получается прямоугольник со сторонами 2 a и 2 b, внутри которого находится эллипс. Случайным образом выберем точку внутри прямоугольника. Вероятность того, что выбранная точка находится внутри эллипса, равна отношению площади внутренней области к площади прямоугольника. Повторим выбор точки n раз и вычислим частоту её попадания во внутреннюю область. Эта частота приблизительно равна отношению площади внутренней области к площади прямоугольника. Умножив частоту на площадь прямоугольника, получим площадь внутренней области – части плоскости, ограниченной эллипсом.

 

Абсциссы выбираемых точек должны быть равномерно распределены в интервале ] - a, a [, а ординаты – в интервале ] - b, b [, следовательно, X = 2 a E - a, Y = 2 b Eb, где E – случайная величина, равномерно распределённая на интервале ] 0, 1 [.

 

% program Monte-Carlo method: computation of the area of a plain domain bounded by ellipse. File ellipse.m

 

 

% исходные данные: вычисляется площадь круга радиуса 1. Она должна равняться числу пи.

% a, b – длины полуосей эллипса

a = 1;

b = 1;

 

n = 1000; % количество случайно выбранных точек внутри прямоугольника

 

% вспомогательные переменные

aa = a + a;

bb = b + b;

 

% формируется массив X псевдослучайных величин, равномерно распределённых на интервале ] - a, a [ и массив Y псевдослучайных величин, равномерно распределённых на интервале ] - b, b [

X = rand ( 1, n );

Y = rand ( 1, n );

 

for k = 1:1:n

X ( k ) = aa * Y ( k ) - a;

Y ( k ) = bb * Y ( k ) - b;

end

 

s = 0; % сумматор: в переменной s накапливается количество случайно выбранных точек, которые попали внутрь эллипса

 

% вспомогательные переменные

aa = a * a;

bb = b * b;

 

% абсциссой k-й случайно выбранной точки служит значение X ( k ), а ординатой – значение Y ( k ).

for k = 1:1:n

if X ( k ) * X ( k ) / aa + Y ( k ) * Y ( k ) / bb < 1

s = s + 1;

end

S = 4 * a * b * s / n; % в переменной S содержится приближённое значение площади части плоскости, ограниченной эллипсом; 4 a b – площадь прямоугольника, внутри которого заключён эллипс, отношение s / n в правой части равно частоте попадания случайно выбранной точки внутрь эллипса

 

% вывод результата вычислений

'area of a plain domain bounded by ellipse equals'

S

 

Проверка

 

Обозначим через I дискретную случайную величину, которая принимает значение 1, когда выбранная точка попадает во внутреннюю область эллипса, и 0 во всех остальных случаях. Пусть вероятность того, что выбранная точка попадёт во внутреннюю область равна p1, тогда I принимает значение 1 ( соответственно, 0 ) с вероятностью p1 ( соответственно, 1 – p1 ). Найдём математическое ожидание случайной величины I:

 

MI = 1 p1 + 0 ( 1 - p1 ) = p1

 

Отношение s / n, которое вычисляет программа, совпадает с выборочным средним случайной величины I. Связь между длиной доверительного интервала и доверительной вероятностью выражается формулой

 

α = erf ( ε ( n / 2 )1/2 / σ ),

 

где α – вероятность того, что абсолютная величина разности между математическим ожиданием MI случайной величины I и её выборочным средним Mn



<== предыдущая лекция | следующая лекция ==>
КОНСПЕКТ ЛЕКЦИЙ ПО ДИСЦИПЛИНЕ «МОДЕЛИРОВАНИЕ СИСТЕМ» | МЕТОДИЧЕСКИЕ УКАЗАНИЯ К КУРСОВОЙ РАБОТЕ ПО ДИСЦИПЛИНЕ «МОДЕЛИРОВАНИЕ СИСТЕМ»


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.095 сек.