Введение в компьютерное моделирование. Л. В. Горчаков в в в в е е д д е е н н и и е е в в к к о о м м п п ь ь ю ю т т е е р р н н о о е е м м о о д д е е л л и и р р о о в в а а н н и и е е учебное пособие
Скачать 1.03 Mb.
|
Министерство образования и науки Российской Федерации ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ Л.В.Горчаков В В В В Е Е Д Д Е Е Н Н И И Е Е В В К К О О М М П П Ь Ь Ю Ю Т Т Е Е Р Р Н Н О О Е Е М М О О Д Д Е Е Л Л И И Р Р О О В В А А Н Н И И Е Е Учебное пособие Томск – 2012 2 УДК ББК 22.18Я73+32.973Я73 Г … Горчаков Л.В. Г… Введение в компьютерное моделирование . Учебное пособие. Томск: Редакционно-издательский отдел Томского ун-та. 2012. – 100 с. Пособие состоит из 8 разделов и приложения и содержит теоретиче- ский материал, примеры и задачи для самостоятельного решения. Предназначено для студентов и преподавателей физических и физико- математических факультетов университетов. Рецензент – к.ф.-м.н., доцент ТГУ Вымятнин В.М. УДК ББК 22.18Я73+32.973Я73 Томский государственный университет, 2012 3 Оглавление Введение в компьютерное моделирование ..................................................... 1 Предисловие ...................................................................................................... 4 Введение ............................................................................................................ 6 1. Классификация математических моделей .................................................. 7 1.1. Структура моделей................................................................................. 8 2. Математическое моделирование детерминированных процессов ........ 10 2.1. Математическое моделирование детерминированных процессов . 10 2.2. Математическое моделирование в экологии ..................................... 17 3. Случайное число. Генераторы случайных чисел .................................... 24 4. Модели задачи, использующие генераторы случайных чисел .............. 28 4.1. Одномерная модель случайных блужданий [1] ................................ 28 4.2. Двумерная модель 1 случайных блужданий [2] ................................ 30 4.3. Двумерная модель 2 случайных блужданий [7] ................................ 31 4.4. Модель автобусного обслуживания [8] .............................................. 33 5. Моделирование стохастических систем ................................................... 41 5.1. Теория марковских цепей [5,9] ........................................................... 41 5.2. Марковские цепи с поглощением [5] ................................................. 44 5.3. Цепи Маркова в социологии [5] ......................................................... 47 5.4. Численная имитация марковского процесса ..................................... 51 6. Стандартные распределения случайных величин и их получение [3] .. 52 6.1 Равномерное распределение ................................................................ 56 6.2. Экспоненциальное распределение ..................................................... 57 6.3. Пуассоновское распределение ............................................................ 58 6.4. Нормальное распределение ................................................................. 60 7. Имитационное стохастическое моделирование ....................................... 64 7.1. Элементарные сведения из теории массового обслуживания ........ 68 7.2. Интервалы времени между заказами.................................................. 77 7.3. Имитация задач теории массового обслуживания [3] ...................... 78 7.4. Стохастическая модель дорожного движения [10] ........................... 83 8. Языки имитационного моделирования ..................................................... 87 Литература ....................................................................................................... 89 Приложение ..................................................................................................... 91 4 П РЕДИСЛОВИЕ Широкое внедрение новых информационных технологий приве- ло к появлению новых курсов в образовательном стандарте по дис- циплине «Информатика». Одним из таких курсов является «Ком- пьютерное моделирование». Изучение содержимого стандарта по этому курсу и существующей к настоящему времени методической литературы показало, что за исключением монографии [1] Т. Гул- да и Я. Тобочника «Компьютерное моделирование в физике» и узко специализированных книг [20-22] отсутствует какая-либо учебная литература, отражающая весь необходимый материал. Не- которые вопросы программирования на языке С++ таких задач рассмотрены в монографии [23] . При подготовке курса использо- валась многочисленная зарубежная и отечественная литература, в которой каким-либо образом и в простой понятной форме излагал- ся материал, имеющий отношение к математическому и компью- терному моделированию. Данная работа представляет собой фактически хрестоматию, со- ставленную из отдельных разделов указанных в ссылках литера- турных источников, поэтому цитирование осуществляется только один раз в каждом разделе. Мы намеренно взяли из этих источни- ков самые простые и понятные примеры, чтобы сложность пробле- мы не затеняла красоту и мощь компьютерных способов ее реше- ния. При моделировании явлений используются одновременно два подхода – демонстрируются программы на языке GWbasic, произ- водящие моделирование поведения системы, и применяется обо- лочка Mathcad 6 Plus для решения тех задач, в которых программы получились бы громоздкими и уводили бы в сторону от основного направления мысли. Для компьютерного моделирования могут быть использованы современные математические пакеты типа Comsol, Matlab, Mapple, LabView. Материал, необходимый для по- 5 нимания имитационного стохастического моделирования, по эле- ментам теории вероятностей и математической статистике вынесен в приложение. Предполагается, что читатель знаком с основами программирования на языке GWbasic и техникой работы в Mathcad, поэтому теория этих вопросов в пособии не обсуждается, хотя в лекционном курсе описание работы с Mathcad-ом дается и рас- сматривается как неотъемлемая часть компьютерного моделирова- ния. В пособии даются ссылки на работы, из которых были заим- ствованы примеры и алгоритмы решения задач и материал для са- мостоятельной работы. Желающие попробовать свои силы в реше- нии более сложных задач могут обратиться к этим первоисточни- кам. 6 В ВЕДЕНИЕ Компьютерное моделирование является воплощением идей ма- тематического моделирования на компьютере [2,3]. Модель – объект любой природы, материальный или мысленно представленный, который в процессе исследования замещает объ- ект-оригинал так, что его изучение дает новые знания об объекте- оригинале. Другое определение - модель является представлением объекта, системы или понятия (идеи) в некоторой форме, отличной от формы их реального существования. Модель – средство, помо- гающее нам в объяснении, понимании или совершенствовании си- стемы. Модель может быть копией объекта или отображать неко- торые характеристики объекта в абстрактной форме. Дать полную классификацию всех функций модели затруднительно. Стандартно применение моделей в качестве 1) средства осмысления действи- тельности, 2) средства общения, 3) средства обучения и тренажа, 4) инструмента познания, 5) средства постановки экспериментов. Мо- дель может служить для достижения одной из двух основных це- лей: либо описательной, если модель служит для объяснения и (или) лучшего понимания объекта, либо предписывающей, когда модель позволяет предсказать и (или) воспроизвести характеристи- ки объекта, определяющие его поведение. Под моделированием понимается процесс построения, изучения и применения модели. Целями моделирования могут являться: 1) прогнозирование будущего состояния или поведения систе- мы; 2) постановка экспериментов над моделью с последующей ин- терпретацией их результатов применительно к моделирующей си- стеме. 7 1. К ЛАССИФИКАЦИЯ МАТЕМАТИЧЕСКИХ МОДЕЛЕЙ Типовыми группами моделей, которые могут быть положены в основу системы классификации, являются статические и динами- ческие, детерминированные и стохастические, дискретные и не- прерывные, натурные, аналоговые и символические. Аналоговыми моделями являются модели, в которых свойство реального объекта представляется некоторым другим свойством аналогичного по поведению объекта. К символическим или математическим моделям относятся те, в которых для представления процесса или системы используются символы, а не физические устройства. Математическое моделирование можно разделить на аналитиче- ское и имитационное. При аналитическом моделировании процес- сы функционирования элементов системы записываются в виде алгебраических, интегральных, дифференциальных, конечно- разностных и других соотношений и логических условий. Анали- тическая модель может быть исследована следующими методами: 1) аналитическим, когда стремятся найти явные зависимости для искомых характеристик; 2) численным, когда получают численные значения выходных параметров для заданных входных параметров. Аналитические решения удается обычно получить только при упрощающих предположениях, и они сильно зависят от особенно- стей модели. Чаще применимы численные методы, но они дают лишь частные результаты, которые трудно обобщить. При имитационном моделировании реализующий модель алго- ритм воспроизводит процесс функционирования системы во вре- мени и в пространстве, причем имитируются составляющие про- цесс элементарные явления с сохранением его логической и вре- менной структуры. Имитационное моделирование не имеет огра- ничений на класс решаемых задач. По сравнению с натурным экспериментом математическое мо- делирование имеет следующие преимущества: 1) экономичность (сбережение ресурсов реальной системы); 2) возможность моделирования гипотетических, т.е. нереализо- ванных в природе объектов; 8 3) возможность реализации опасных или трудновоспроизводи- мых в природе режимов (критический режим ядерного реактора, работа систем ПРО); 4) возможность изменения масштаба времени; 5) большая прогностическая сила вследствие возможности вы- явления общих закономерностей; 6) универсальность технического и программного обеспечения производимой работы. 1.1. Структура моделей Прежде чем начать разработку модели, необходимо понять, что собой представляют структурные элементы, из которых она стро- ится. В самом общем виде структуру модели можно представить математически в виде: , i j E f x y , где E – результат действия системы, x i – переменные и параметры, которыми мы управляем, y j – переменные и параметры, которыми мы управлять не можем, f – функциональная зависимость между x i и y j , которая определяет величину Е. Каждая модель представляет собой комбинацию элементов, пе- ременных, параметров, функциональной зависимости, ограничений и целевой функции. Под элементами понимают составные части, которые при соот- ветствующем объединении образуют систему. Система определяется как группа, совокупность объектов, объ- единенных некоторой формой регулярного взаимодействия или взаимосвязи для выполнения заданной функции. Параметры – суть величины, которые могут быть выбраны про- извольными, в отличие от переменных, которые могут принимать только значения, определенные видом данной функции. Переменные различают двух видов – внешние и внутренние. Внешние переменные являются входными, порождаются вне си- стемы или являются результатом воздействия внешних причин. Внутренние переменные возникают внутри системы или в резуль- тате воздействия внутренних причин, это переменные, характери- зующие состояние или условия, имеющие место в системе. 9 Функциональные зависимости описывают поведение перемен- ных и параметров в пределах элемента или выражают соотношение между элементами. По своей природе они могут быть детермини- рованными или стохастическими. Ограничения представляют собой устанавливаемые пределы изменения значений переменных. Ограничения обусловлены неиз- менными законами природы или изменениями, определенными че- ловеком. Целевая функция или функция критерия – точное отображение целей или задач системы и необходимых правил оценки их выпол- нения. Различают два вида целей: цели сохранения и цели приобре- тения. Искусство моделирования состоит в способности анализировать проблему, выделить из нее путем абстракции ее существенные чер- ты, выбирать и должным способом моделировать основные пред- положения, характеризующие систему, а затем обрабатывать и со- вершенствовать модель до тех пор, пока она не станет давать по- лезные для практики результаты. Этапы процесса моделирования: 1) определение системы – установление границ, ограничений и измерителей эффективности системы, подлежащей изучению; 2) формирование модели – переход от реальной системы к логи- ческой схеме; 3) подготовка данных, необходимых для построения модели и представления их в соответствующей форме; 4) трансляция модели – описание модели на языке, приемлемом для ЭВМ; 5) оценка адекватности модели; 6) стратегическое планирование эксперимента; 7) тактическое планирование – определение способа проведения контроля испытаний, предусмотренных планом эксперимента; 8) экспериментирование – процесс осуществления имитации с целью получения желаемых данных и анализа чувствительности; 9) интерпретация – построение выводов по данным, получен- ным путем имитации; 10) реализация – практическое использование модели и резуль- татов моделирования; 10 11) документирование – регистрация хода осуществления про- екта и его результатов, а также документирование процесса созда- ния и использования модели. Для компьютерного моделирования применяются как составле- ние программ на каком-либо из языков высокого уровня, так и ис- пользование готовых пакетов прикладных программ. 2. М АТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ ДЕТЕРМИНИРОВАННЫХ ПРОЦЕССОВ 2.1. Математическое моделирование детерминированных процессов 2.1.1. Модель остывания чашки кофе Знакомство с численными методами моделирования начнем с изучения процесса остывания чашки кофе [1]. Природа переноса тепла от кофе к окружающему пространству сложна и в общем случае включает в себя механизмы конвекции, излучения, испаре- ния и теплопроводности. В том случае, когда разность температур между объектом и окружающей средой не очень велика, скорость изменения Т объекта можно считать пропорциональной этой раз- ности температур. Это утверждение формулируется на языке диф- ференциальных уравнений так s dT dt r T T , (1) где Т – температура кофе, s T – температура окружающей среды, r – коэффициент остывания. Коэффициент остывания зависит от механизма передачи тепла, площади тела, находящегося в контакте со средой и тепловых свойств самого тела. Знак (–) появляется во избежание нефизического эффекта увеличения температуры тела, когда s T T . Соотношение (1) называется законом теплопровод- ности Ньютона. Уравнение (1) является примером дифференциального уравне- ния первого порядка, так как в него входит только первая произ- водная неизвестной функции T t . Ввиду того, что множество процессов, происходящих в природе, описывается дифференциаль- 11 ными уравнениями, важно уметь решать эти уравнения. Рассмот- рим уравнение первого порядка вида dy dx g x (2) В общем случае аналитического решения уравнения (2), выражен- ного через хорошие функции, не существует. Даже в том случае, если оно есть, необходимо уметь представлять решение в графиче- ском виде, чтобы понять его характер. Эти причины побуждают нас искать не точные, а приближенные численные решения диффе- ренциальных уравнений и познакомиться с простыми методами графического представления решения. 2.1.2. Алгоритм Эйлера Типичный метод численного решения дифференциального уравнения включает в себя преобразование его в конечно- разностное уравнение. Проанализируем уравнение (2). Положим, что при 0 x x функция у принимает значение 0 y . Поскольку уравнение (2) описывает изменение функции у в точке 0 x , то мож- но найти приближенное значение функции у в близлежащей точке 1 0 x x x , если приращение аргумента х мало. В первом при- ближении предполагается, что функция g(x) (или скорость измене- ния у) постоянна на отрезке от 0 x до 1 x . В этом случае прибли- женное значение функции в точке 1 0 x x x определяется вы- ражением 1 0 0 0 y y x y y x g x x (3) Мы можем повторить эту процедуру еще раз и найти значение у в точке 2 1 x x x : 2 1 1 1 y y x x y x g x x Обобщая это, можно вычислить приближенное значение функции в любой точке 0 n x x n x по итерационной формуле 1 1 1, 2,3... n n n y y g x x n (4) Данный метод называется методом касательных или методом Эй- лера. Геометрическая интерпретация метода Эйлера имеет следу- ющий вид (рис. 1). 12 Рис. 1. График точного и приближенного решения Предположение, что g(x) постоянна на отрезке от n x до 1 n x , означает, что скорость изменения функции у на отрезке от 1 n x до n x постоянна и наклон касательной вычисляется в начальной точке 1 n x отрезка. В случае если наклон касательной меняется на неко- тором отрезке, появляется отклонение от точного решения . Его можно уменьшить, уменьшая dx. Приближению Эйлера и истинной функции соответствует прямая и кривая рисунка. Запишем алго- ритм решения задачи для следующих начальных условий 0 max 83, 22, 0,1, 2, 0,1 s T T R t t В этом случае общее число шагов (точек) max 200 n t t Тогда программа может иметь следующий вид 10 T=0:DT=0.1:R=0.1:N=2/DT:T1=83:TS=22 20 FOR I=1 TO N 30 CH=-R (T1-TS) 40 T1=T1+CH DT 50 T=T+DT 60 PRINT T,T1 70 NEXT 13 |