КОМПЬЮТЕРНОЕ МОДЕЛИРОВАНИЕ Лабораторный практикум А. Л. Королёв

advertisement
А. Л. Королёв
КОМПЬЮТЕРНОЕ
МОДЕЛИРОВАНИЕ
Лабораторный практикум
ПЕДАГОГИЧЕСКОЕ ОБРАЗОВАНИЕ
А. Л. Королёв
2-е издание (электронное)
Москва
БИНОМ. Лаборатория знаний
2013
УДК 004.9
ББК 32.97
К68
С е р и я о с н о в а н а в 2007 г.
К68
Королёв А. Л.
Компьютерное моделирование. Лабораторный практикум [Электронный ресурс] / А. Л. Королёв. — 2-е изд. (эл.). — М. : БИНОМ.
Лаборатория знаний, 2013. — 296 с. : ил. — (Педагогическое образование).
ISBN 978-5-9963-2255-8
Лабораторный практикум является дополнением к учебному пособию
и содержит лабораторные работы по курсу «Компьютерное моделирование». В лабораторных работах описано построение различных моделей:
математических, геометрических, имитационных и т. д. Практикум построен
на доступном программном обеспечении. Реализация моделей не требует
применения системы программирования. Построение моделей выполняется средствами специальных программных комплексов моделирования,
таких как MVS, Simulink, КОМПАС (учебные версии) или в среде
электронных таблиц. Практикум предназначен для студентов педагогических вузов, обучающихся по специальности 050202 «Информатика», для
студентов, обучающихся по направлению 540200 «Физико-математическое
образование» по профилю подготовки 540203 «Информатика», а также
для учителей информатики, разрабатывающих профильные и элективные
курсы. Практикум может быть использован по направлению 540200
«Физико-математическое образование» в курсе «Информатика». Содержание
практикума соответствует Государственным образовательным стандартам
высшего профессионального образования по указанным выше специальностям.
УДК 004.9
ББК 32.97
Учебное электронное издание
Серия: «Педагогическое образование»
Королёв Александр Леонидович
КОМПЬЮТЕРНОЕ МОДЕЛИРОВАНИЕ.
ЛАБОРАТОРНЫЙ ПРАКТИКУМ
Ведущий редактор Д. Ю. Усенков
Художник Н. А. Новак
Технический редактор Е. В. Денюкова. Корректор Е. Н. Клитина
Компьютерная верстка: Л. В. Катуркина
Подписано 14.07.13. Формат 60×90/16.
Усл. печ. л. 18,5.
Издательство «БИНОМ. Лаборатория знаний»
125167, Москва, проезд Аэропорта, д. 3
Телефон: (499) 157-5272, e-mail: binom@Lbz.ru, http://www.Lbz.ru
Системные требования: процессор Intel с тактовой частотой от 1,3 ГГц и выше; операционная система
Microsoft Windows XP, Vista или Windows 7 или 8; от 256 Мб оперативной памяти; от 260 Мб свободного
пространства на жестком диске; разрешение экрана не ниже 1024×768; программа Adobe Reader не ниже X.
ISBN 978-5-9963-2255-8
c БИНОМ. Лаборатория знаний, 2012
Оглавление
Введение. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Глава 1. Математическое моделирование
и вычислительный эксперимент . . . . . . . . . . . . . . . . . 5
1.1.
1.2.
1.3.
1.4.
Модель физиологического состояния человека . . . . . . . . . . . 5
Моделирование осциллятора . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Моделирование связанных осцилляторов. . . . . . . . . . . . . . . 23
Моделирование движения тела в среде
с сопротивлением . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.5. Идентификация параметров математической модели . . . . 29
1.6. Моделирование движения тела по баллистической
траектории . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
1.7. Тепловое взаимодействие тела с окружающей средой . . . . 40
1.8. Моделирование полета КЛА по околоземной орбите . . . . . 42
1.9. Создание модели с виртуальным экспериментальным
стендом. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Задачи для самостоятельного решения . . . . . . . . . . . . . . . . . . . . . 57
Глава 2. Компьютерное моделирование систем . . . . . . 60
2.1. Знакомство с технологией построения
Simulink-моделей. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
2.2. Моделирование производственного цикла . . . . . . . . . . . . . . 67
2.3. Моделирование одноразрядного двоичного сумматора . . . 73
2.4. Моделирование многоразрядного двоичного
сумматора . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
2.5. Моделирование электрических цепей . . . . . . . . . . . . . . . . . . 81
2.6. Динамически управляемая MVS-модель
электрической цепи. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
2.7. Моделирование системы управления. . . . . . . . . . . . . . . . . . . 96
2.8. Моделирование системы стабилизации
электродвигателя. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Задачи для самостоятельного решения . . . . . . . . . . . . . . . . . . . . 102
Глава 3. Построение оптимизационных моделей . . . . 105
3.1. Поражение цели с заданными координатами . . . . . . . . . . 105
3.2. Оптимальное использование ресурсов . . . . . . . . . . . . . . . . . 113
3.3. Определение оптимального плана перевозок . . . . . . . . . . . 118
Оглавление
295
3.4. Оптимальное проектирование. . . . . . . . . . . . . . . . . . . . . . . . 121
3.5. Оптимальная компоновка контейнера . . . . . . . . . . . . . . . . 124
3.6. Поиск критического пути на графе . . . . . . . . . . . . . . . . . . . 127
3.7. Сетевая транспортная задача. . . . . . . . . . . . . . . . . . . . . . . . . 130
3.8. Многокритериальная оптимизация. . . . . . . . . . . . . . . . . . . 133
Задачи для самостоятельного решения . . . . . . . . . . . . . . . . . . . . 137
Глава 4. Графическое 3D-моделирование . . . . . . . . . . 140
4.1. Введение в трехмерное моделирование . . . . . . . . . . . . . . . . 140
4.2. Построение конуса, призмы, пирамиды,
параллелепипеда . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
4.3. Построение тел вращения . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
4.4. Построение трехмерной модели по ее сечениям. . . . . . . . . 172
4.5. Применение кинематической операции . . . . . . . . . . . . . . . 181
4.6. Построение сечения тела плоскостью . . . . . . . . . . . . . . . . . 184
4.7. Использование операций добавления и вырезания
вращением. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
Задачи для самостоятельного решения . . . . . . . . . . . . . . . . . . . . 192
Глава 5. Имитационное и стохастическое
моделирование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
5.1. Построение регрессионной модели. . . . . . . . . . . . . . . . . . . . 196
5.2. Построение модели на основе корреляционного
анализа. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
5.3. Построение модели на основе плана полного
факторного эксперимента . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
5.4. Имитационное моделирование на основе клеточных
автоматов. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
5.5. Моделирование случайных событий . . . . . . . . . . . . . . . . . . 225
5.6. Моделирование случайного блуждания . . . . . . . . . . . . . . . 229
5.7. Имитационная модель транспортного предприятия . . . . 231
5.8. Метод Монте-Карло . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
Задачи для самостоятельного решения . . . . . . . . . . . . . . . . 238
Глава 6. Моделирование процессов
с распределенными параметрами . . . . . . . . . . . . . 240
6.1. Моделирование процессов переноса. . . . . . . . . . . . . . . . . . . 240
6.2. Моделирование процессов теплопроводности . . . . . . . . . . 245
6.3. Моделирование ламинарного течения жидкости . . . . . . . 251
296
Оглавление
6.4. Моделирование совместного протекания переноса
и теплопроводности . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
Задачи для самостоятельного решения . . . . . . . . . . . . . . . . . . . . 257
Глава 7. Моделирование социальных
и экономических процессов . . . . . . . . . . . . . . . . . . . 259
7.1. Механизм рыночного ценообразования . . . . . . . . . . . . . . . 259
7.2. Моделирование циклических процессов в экономике . . . 264
7.3. Моделирование распространения инноваций . . . . . . . . . . 269
7.4. Определение налога на прибыль . . . . . . . . . . . . . . . . . . . . . . 270
Задачи для самостоятельного решения . . . . . . . . . . . . . . . . . . . . 274
Глава 8. Моделирование экологических систем . . . . . 280
8.1. Моделирование развития популяции . . . . . . . . . . . . . . . . . 280
8.2. Моделирование межвидовой конкуренции . . . . . . . . . . . . 281
8.3. Модель системы «хищник—жертва» . . . . . . . . . . . . . . . . . 284
8.4. Уточненная модель системы «хищник—жертва». . . . . . . 285
8.5. Моделирование дискретного развития популяции . . . . . 288
Задачи для самостоятельного решения . . . . . . . . . . . . . . . . . . . . 291
Литература . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
Введение
Лабораторный практикум является дополнением к учебному пособию «Компьютерное моделирование» (А. Л. Королёв, М.: БИНОМ. Лаборатория знаний, 2010 г.) и содержит лабораторные работы по курсу «Компьютерное моделирование». В данном практикуме описано построение
различных моделей — математических, геометрических,
имитационных и т. д. Предлагаемые лабораторные работы
содержат теоретическое введение, постановку задачи моделирования и рекомендации по построению модели. Реализация моделей не требует применения, какой-либо системы программирования и выполняется средствами специальных программных комплексов моделирования, таких
как MVS, Simulink, КОМПАС (учебные версии) или в среде
электронных таблиц.
Цели лабораторного практикума: дать студентам
представление о современных методах построения моделей; углубить теоретические знания студентов в области
моделирования; познакомить их на практике с методологией компьютерного моделирования; практически освоить
технологии моделирования в среде современных программных комплексов; научить студентов применять методы
моделирования для решения конкретных задач; сформировать навыки в области моделирования процессов, объектов и систем различного назначения.
Задачи лабораторного практикума:
познакомить студентов с современными методами и
технологиями построения компьютерных моделей и
проведения модельных экспериментов;
l подготовить студентов к самостоятельной практической работе в области компьютерного моделирования;
l ознакомить студентов с возможностями современных
программных комплексов компьютерного моделирования.
Практикум охватывает следующие направления: математическое моделирование и вычислительный экспериl
4
Введение
мент, компьютерное моделирование систем, оптимизационное моделирование, графическое 3D-моделирование в
среде пакета «КОМПАС», имитационное и стохастическое
моделирование, моделирование процессов с распределенными параметрами, моделирование социальных и экономических процессов, моделирование экологических систем.
Основная концепция практикума — моделирование
без программирования на основе универсальных инструментальных программных комплексов моделирования
либо электронных таблиц. Содержание практикума соответствует Государственным образовательным стандартам
высшего профессионального образования по специальности 050202 «Информатика» и по направлению 540200 «Физико-математическое образование».
Лабораторный практикум подготовлен по материалам
учебного курса, который автор читает студентам специальности 050202 («Информатика») по дисциплине «Компьютерное моделирование» в Челябинском государственном
педагогическом университете.
Ряд приведенных в данном практикуме лабораторных
работ может быть использован в курсе «Информатика» для
студентов направления 540200 «Физико-математическое
образование». Большинство этих лабораторных работ также может быть использовано на занятиях в рамках
школьного курса «Информатика» при изучении соответствующего раздела этого курса. Практикум построен на
основе доступного программного обеспечения (учебных
версий), которое свободно распространяется разработчиками [27–31].
Автор выражает благодарность преподавателям кафедры информатики и методики преподавания информатики
Челябинского государственного педагогического университета: Н. В. Лапиковой, О. А. Дмитриевой, И. Ю. Бабиковой, Н. Б. Паршуковой и Л. В. Речкаловой, которые в
разные годы работали его ассистентами по курсу «Компьютерное моделирование» и способствовали улучшению
практикума.
Глава 1
Математическое моделирование
и вычислительный эксперимент
1.1. Модель физиологического состояния
человека
Теоретическое введение
В данной лабораторной работе мы познакомимся с моделью, которая построена исключительно на основе обработки данных наблюдений. Теории биоритмов около ста
лет. Ее авторами являются Герман Свобода, Вильгельм
Флисс и Фридрих Тельчер.
Герман Свобода, анализируя поведение своих пациентов, заметил, что их мысли, идеи, импульсы к действию
повторяются с определенной периодичностью. Тогда Герман Свобода начал анализировать цикличность развития
болезней, особенно цикличность сердечных и астматических приступов. Результатом этих исследований стало открытие ритмичности физических (22 дня) и психических
(27 дней) процессов.
Доктор Вильгельм Флисс, который работал в Берлине,
заинтересовался сопротивляемостью организма человека
болезням. Он заметил, что дети с одинаковыми диагнозами
в одни временные периоды выздоравливают, а в другие —
умирают. Собрав информацию о датах начала болезни и
смерти, он связал их с датами рождения. Выполненные им
расчеты показали, что изменения иммунитета можно прогнозировать с помощью 22-дневного физического и 27-дневного эмоционального биоритмов.
Преподаватель из Инсбрука Фридрих Тельчер заметил, что способность студентов воспринимать, систематизировать и использовать информацию, генерировать идеи
время от времени изменяется, т. е. имеет ритмический характер. Сопоставив даты рождения студентов, даты экза-
6
Глава 1
менов и их результаты, он открыл интеллектуальный ритм
с периодом в 32 дня. В результате же изучения биографий
творческих людей он нашел также и «ритм» нашей интуиции — 37 дней.
От рождения до смерти мы подвержены влиянию интеллектуального, эмоционального, физического и интуитивного биоритмов. Физический цикл равен 22 дням.
Он определяет энергию человека, его силу, выносливость,
координацию движения. Эмоциональный цикл равен
27 дням и обусловливает состояние нервной системы и настроение. Интеллектуальный цикл (32 дня) определяет
творческую способность личности. Наконец, интуитивный
ритм имеет период 37 дней и отвечает за творческое вдохновение и восприятие неосознанных импульсов, т. е. за собственно интуицию.
Интеллектуальный минимум характеризуется снижением умственной активности, мышления, ухудшением памяти. Эмоциональный минимум приносит упадок душевных сил и желаний, заторможенность, апатию, раздражительность. Наихудший день для творческих людей — когда
им не хватает чувств и эмоций для работы. Физический
минимум дает снижение физической активности, повышается утомляемость и вероятность заболеваний; в этот период следует снизить или вообще исключить физические нагрузки. В период же интуитивного минимума решения,
принятые интуитивно, могут оказаться ошибочными; отсутствует вдохновение, особенно для творческой работы.
В отличие от этого максимумы в биоритмах дают возможность осознать и реализовать свои способности и таланты. Это период напряженной работы. Интеллектуальный максимум позволяет решать самые сложные вопросы
и даже создавать нечто новое. Это время удачно для принятия решений, проведения переговоров, подписания контрактов. Эмоциональный максимум дает чувство полноты
жизни, душевный подъем, желание действовать, созидать,
любить, а обостренные чувства резко реагируют на дисгармонию и отчуждение. В период физического максимума
организм полон энергии, работа не утомляет, можно
Математическое моделирование и вычислительный эксперимент
7
заняться спортом и т. п. В интуитивный же максимум интуиция работает почти на грани ясновидения, что позволяет принимать правильные решения.
Периоды всех биоритмов разные, поэтому в них могут
совпадать три-четыре минимума, и тогда наступают «черные дни», либо бывают «светлые» полосы, когда всё легко
удается.
Постановка задачи моделирования
Модель, которую вам предстоит построить, относится к
классу математических моделей, построенных путем идентификации. Ее адекватность можно проверить, сопоставив свое собственное состояние в прошлом (или в будущем)
с результатами моделирования.
Задача. В среде электронных таблиц составить прогноз
изменения собственных биоритмов. Период прогноза — от
текущего дня до конца учебного года. По результатам моделирования установить «рискованные» и «черные» дни.
Прогноз удобнее всего выполнять поэтапно на 100 дней
вперед.
Порядок выполнения работы
Для выполнения задания вам потребуется составить таблицу, в которой необходимо рассчитать изменение собственных биоритмов по следующим зависимостям:
æ 2px ö
æ 2px ö
R ф = sinç
÷ , Rэ = sinç
÷,
è 22 ø
è 27 ø
æ 2px ö
æ 2px ö
Rи = sinç
÷ , RТ = sinç
÷.
è 32 ø
è 37 ø
Здесь R с буквенным индексом — значение соответствующего биоритма, а x — количество прожитых дней на текущий момент времени. Таблица должна содержать информацию о вашем дне рождения и шесть колонок: «Дата»,
«Физическое состояние», «Эмоциональное состояние»,
«Интеллектуальное состояние», «Творческие возможности»,
8
Глава 1
Рис. 1.1. Фрагмент таблицы расчета биоритмов (Microsoft Excel)
«Количество прожитых дней». В колонке «Дата» вычисляются даты прогнозируемого периода, а в остальных колонках — соответствующие биоритмы и количество прожитых дней как разность текущей даты и даты рождения.
(В отдельную ячейку внесите информацию о дате своего
рождения.)
Составьте таблицу изменения биоритмов (рис. 1.1).
Постройте график изменения биоритмов (рис. 1.2). Результат прогноза состояния представьте в виде графика на отдельном листе электронной таблицы, используя тип диаграммы «точечная».
Математическое моделирование и вычислительный эксперимент
9
Рис. 1.2. График биоритмов (диаграмма Microsoft Excel)
Анализ результатов моделирования
Проанализируйте заданный период, определите «черные»
дни. Проверьте адекватность прогноза на основе уже прожитого периода. Проанализируйте предыдущий период, сопоставьте результаты моделирования и собственные ощущения.
1.2. Моделирование осциллятора
Теоретическое введение
Моделируемая система представляет собой тело, прикрепленное к невесомой пружине, другой конец которой жестко закреплен (рис. 1.3). На тело действуют сила упругости
пружины и сила трения. Примером подобной системы может служить амортизатор автомобиля.
Рис. 1.3. Схема объекта моделирования.
Начальное состояние — пружина растянута
10
Глава 1
Первоначально система выведена из состояния равновесия (рис. 1.3), далее она совершает затухающие колебания.
Исходная размерная модель динамики колебаний, записанная в виде системы дифференциальных уравнений,
имеет следующий вид:
ì dV
ïïm dt = -c × x - k × V ;
í
ï dx = V ;
ïî dt
x(t = 0) = x0 ;
V (t = 0) = 0.
Здесь m — масса тела, x — координата тела, V — скорость
движения тела, c — жесткость пружины, k — коэффициент трения. Значение координаты x = 0 соответствует положению равновесия.
В безразмерной форме данная система уравнений будет
иметь вид:
ì dV
ïï dt = -x - k × V ;
í
ï dx = V .
ïî dt
k
— безразмерный параметр (безразмерный
Здесь k =
mc
коэффициент трения). Начальные условия: x (t = 0) = 1,
V (t = 0) = 0. Безразмерная форма математической модели
получена методом неопределенных масштабов.
Постановка задачи моделирования
Средствами системы MVS построить модель системы и исследовать влияние значения параметра k на ее свойства.
Порядок выполнения лабораторной работы
Создание проекта. После запуска системы MVS нажмите
кнопку
или выполните команду главного меню
Проект\Новый… (рис. 1.4). В окне Новый проект выберите
Математическое моделирование и вычислительный эксперимент
11
Рис. 1.4. Система MVS при первоначальном запуске
путь к папке проекта. Введите имя проекта и нажмите
кнопку Создать — в данной папке будет создан файл базы
данных проекта Осциллятор.mvb (рис. 1.5). На рис. 1.5
для создания проекта выбрана папка WORK на диске D:,
Рис. 1.5. Пример создания нового проекта (система MVS)
12
Глава 1
имя проекта — Осциллятор. (При создании модели выберите доступный вам для записи диск.)
После создания «заготовки» проекта в среде MVS появятся следующие окна (рис. 1.6):
l окно проекта, которое содержит составляющие проекта;
l окно виртуального стенда, которое содержит структурную схему моделируемой системы, блоки и связи
между ними (по умолчанию «в виртуальный стенд» помещен экземпляр класса Осциллятор с именем Осциллятор_1);
l окно класса содержит дерево составляющих класса;
данный блок предполагается непрерывным, а по умолчанию в него добавлена пустая система уравнений с
именем Система_уравнений_1;
l окно системы уравнений Система_уравнений_1.
Модель Осциллятор — это модель непрерывной системы. Для ее построения подходит класс, создаваемый по
умолчанию при открытии нового проекта. В этот класс не-
Рис. 1.6. «Заготовка» проекта (система MVS )
Математическое моделирование и вычислительный эксперимент
13
обходимо добавить соответствующие переменные, параметры, константы и уравнения.
Ввод переменных и параметров. В окне класса Осциллятор выделите в дереве объектов узел Внутренние переменные, вызовите контекстное меню и выберите команду
Добавить (рис. 1.7). В появившемся окне введите имя переменной x, оставьте заданный по умолчанию тип double и
задайте начальное значение: 1 (рис. 1.8). (Напомним, что
Рис. 1.7. Добавление параметра (система MVS )
Рис. 1.8. Задание имени и значения переменной (система MVS )
[...]
Практикум является дополнением к учебнику (Королёв А. Л.
Компьютерное моделирование. М.: БИНОМ. Лаборатория зна"
ний, 2010) и содержит лабораторные работы по курсу «Ком"
пьютерное моделирование». В лабораторных работах описано
построение различных моделей: математических, геометриче"
ских, имитационных. Каждая лабораторная работа содержит
теоретическое введение, постановку задачи моделирования
и рекомендации по построению модели.
Практикум построен на доступном программном обеспечении.
Реализация моделей не требует применения системы програм"
мирования. Построение моделей выполняется средствами спе"
циальных программных комплексов моделирования, таких как
MVS, Simulink, КОМПАС или в среде электронных таблиц.
Download