Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Практический курс математического и компьютерного моделирования. Учебно-практическое пособие

.pdf
Скачиваний:
0
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
I. Математические и компьютерные модели
Метод моделирования, по существу, основан на рассужде­нии по аналогии: если некоторый объект (оригинал) с какими­либо свойствами имеет сходство с другим объектом (моде­лью), обладающим некоторыми из свойств первого, то по по­ведению модели делают вывод об аналогичном поведении оригинала. Очевидно, что такой подход дает только вероятное знание и, следовательно
, любая модель нуждается в провер- ках, практических (сравнение результатов, следующих из мо­дели, и реальных, полученных в натурном эксперименте) и иных (сравнение с другими моделями, соответствие фунда­ментальным законам природы и т.
д.). Если модель не соответ-
ствует оригиналу больше, чем это изначально предусматрива­лось при ее построении, то (в зависимости от степени несоот­ветствия) нужно либо уточнить модель, либо полностью ее пересмотреть. Модели, которые невозможно проверить прак­тически
7
, должны, по крайней мере, не противоречить извест-
ным фундаментальным принципам и законам природы.
Все модели можно разделить на два класса: физические и абстрактные. Первые обычно представляют собой упрощен­ную реальную копию объекта (например, макеты самолетов или морских судов). Абстрактные модели представляют собой описание объектов при помощи некоторых символов, схем, средств
формальных языков и т. д. (например, географическая карта, электрическая схема какого-либо устройства, системы разностных или дифференциальных уравнений).
Математической моделью называют абстрактную модель, в которой реальные объекты заменяются идеальными и опи­сываются при помощи математических соотношений или раз­личных алгоритмических схем.
Главными характерными чертами математических моделей являются их абстрактность (реальные объекты всегда заме­нены их
абстрактными идеализированными аналогами, к при-
меру физическое тело — материальной точкой) и общность
7
Например, модель Большого взрыва при образовании Вселенной
см. в [39, с. 263–267].
11
Математическое и компьютерное моделирование
(например, механические и электрические колебания описы­ваются в самом общем виде одними и теми же дифференци­альными уравнениями). Эти особенности математических мо­делей дают возможность их строгого исследования, что осо­бенно важно при рассмотрении сложных систем, когда только словесные рассуждения становятся очень запутанными и вслед­ствие этого не могут гарантировать
правильность выводов.
Примерами блестящих математических моделей являются: ге­лиоцентрическая система Коперника — Кеплера, механика Нью­тона, модель электромагнитного поля Максвелла, теория относи­тельности, теория информации, теория игр и многие другие.
Хорошая математическая модель, во-первых, адекватна
8
мо-
делируемому объекту или явлению; во-вторых, позволяет полу­чить новые сведения, неизвестные до построения модели; в­третьих, проста
9
настолько, насколько это возможно. Адек-
ватность, это очевидно, абсолютно необходима. Крайне жела­тельно выполнение и второго требования к модели. В качестве наиболее ярких примеров здесь можно привести открытие в 1841 г. Леверье и Адамсом «на кончике пера» планеты Нептун, предсказание существования позитрона, сделанное в 1932 г. Дираком, исходя из теоретических представлений, открытие
в
70-х гг. XX в. так называемого «T-слоя», сделанное в Институте
прикладной математики (теперь ИПМ им. Келдыша РАН), и множество других. Требование простоты для математических моделей является, по существу, одним лишь следствием уве­ренности ученых в рациональном устройстве мира. Например, гелиоцентрическая система считается предпочтительнее гео­центрической именно по причине своей большей
простоты, хо-
8
То есть в данном случае способна описать моделируемое явление с
требуемой численной точностью, не превосходящей, конечно, точно­сти экспериментальных измерений параметров исходного явления.
9
Под большей «простотой» подразумевается меньшее число вход-
ных параметров модели, менее сложное математическое ее описание и т. д. Физики и инженеры в упрощениях моделей добились вирту­озности, часто шокирующей чистых математиков.
12
I. Математические и компьютерные модели
тя обе эти теории позволяют одинаково точно описать поведе­ние и параметры моделируемой ими Солнечной системы.
I.2. Компьютерное моделирование
Компьютерной моделью называют программную реализа­цию математической модели, к которой могут дополнительно прилагаться различные программные модули, служащие, на­пример, для графического представления изучаемых объектов. Главным преимуществом компьютерной модели является от­носительная
простота ее создания и модификации. Далее бу­дем рассматривать только математические и соответствующие им компьютерные модели.
Применение компьютерного моделирования вызвано не­обходимостью исследования все более сложных объектов, яв­лений и процессов. Большинство реальных процессов и соот­ветствующих им математических моделей, как известно, нели­нейно. Линейные модели соответствуют обычно лишь част­ным случаям и, как правило, служат только первым прибли­жением к реальности. Математически линейность означает, что для уравнений, описывающих модель, выполняется прин-
цип суперпозиции, то есть любая линейная комбинация
10
их
решений также является решением задачи. Исходя из принци­па суперпозиции, нетрудно, найдя решение в каком-либо ча­стном случае, построить и общее решение. Другими словами, для линейного случая «реакция» модели на изменение каких­либо параметров пропорциональна величине этого изменения.
Для нелинейных явлений, математические модели которых не подчиняются принципу суперпозиции,
знание частных решений не позволяет построить общих решений, то есть, иначе говоря, информация о части объекта не дает всех сведений обо всем объ­екте. Поскольку получить аналитическое решение нелинейных
10
Линейной комбинацией двух решений r1(t), r2(t) называют функ-
цию вида ar
(t) + br2(t), где a, b — некоторые константы.
1
13
Математическое и компьютерное моделирование
4
дифференциальных или разностных уравнений удается только в отдельных случаях
11
, для соответствующих нелинейных моделей
возникает необходимость использования приближенных числен­ных методов и, следовательно, компьютерных расчетов.
Таким образом, в настоящее время роль компьютерного моделирования в научных и технических исследованиях чрез­вычайно велика — без помощи вычислительной техники прак­тически невозможно исследовать сложные нелинейные явле­ния и процессы. Более того, имеется и обратная
связь. Резуль­таты компьютерного анализа приводят к рождению новых на­учных теорий и моделей, изучение и анализ которых с помо­щью ЭВМ рождают новые теории, в результате чего появля­ются другие теории, которые снова таким же образом можно исследовать, и т.
д.
Процесс построения модели можно условно разбить на
следующие основные этапы.
1. Словесное описание реальных объектов или явлений. Здесь могут содержаться также некоторые сведения о природе объекта или моделируемого явления и принимаемых допуще­ниях, например: «нерастяжимая нить», «материальная точка»,
«отсутствие трения» и т.
п. (если сразу ясна существенность
или несущественность соответствующих факторов).
2. Идеализация объекта, когда отбрасываются все несуще­ственные для его поведения параметры
12
. По возможности
идеализирующие предположения записываются в математиче­ской форме, чтобы далее была возможность их контролировать.
3. Выбор или формулировка физических, биологических, химических, экономических и т.
д. законов и принципов, кото-
рым подчиняется объект, и их записи в математической форме.
4. «Оснащение» модели. Например, задание начальных
или краевых условий для дифференциальных уравнений, со­отношения между различными параметрами модели и т.
11
Качественный анализ обычно чрезвычайно сложен или (в ряде
случаев) вообще невозможен.
12
Все упрощения модели обязательно должны быть указаны явным
и абсолютно недвусмысленным образом.
д.
1
I. Математические и компьютерные модели
5
5. Построение и отладка компьютерной реализации модели.
6. Изучение построенной модели (вычислительные экспе-
рименты), оценка ее адекватности исследуемому объекту или явлению. Если на этом этапе выявится несоответствие, то тре­буется вернуться ко второму пункту, чтобы уточнить или пе­ресмотреть математическую модель.
Даже для относительно простых моделей часто бывает не-
удобным их построение
сразу во всей полноте, с учетом всех существенных параметров. Более разумен подход, когда стро­ится последовательность нескольких постепенно усложняю­щихся моделей. При этом каждая последующая модель обоб­щает предыдущие, включая их в качестве частного случая. Кроме того, данный способ дает возможность определить ме­сто конкретной модели в такой цепочке (иерархии)
моделей, что способствует более точной оценке области ее применимо­сти и установлению ее связей с моделями других уровней. Возникающую таким образом иерархию моделей наиболее просто и естественно реализовать программно с помощью ме­тодов объектно-ориентированного программирования.
I.3. Пример 1. Прыгающий мяч
В качестве примера рассмотрим следующую задачу.
Построить математическую модель прыгающего мяча. Мяч падает
с высоты y0 с начальной скоростью v0. Задан коэффициент восстанов­ления скорости k, равный отношению |v2|/|v1|, где v1 — скорость мяча в момент времени, непосредственно предшествующий удару о землю, v — скорость сразу после удара (предполагается, что скорость при ударе
меняется мгновенно), 0 k < 113. Рассмотреть варианты, когда не учитывается и когда учитывается сопротивление воздуха. В последнем случае считать, что сопротивление среды пропорционально скорости мяча, коэффициент сопротивления воздуха u, u > 0.
13
Крайние значения коэффициента восстановления соответствуют
абсолютно упругому (k = 1) и абсолютно неупругому (k = 0) ударам.
2
1
Математическое и компьютерное моделирование
6
τ
γ
Поверхность падения считать идеально гладкой и строго горизон­тальной. Сделать графическую анимированную иллюстрацию моде­ли, в программе предусмотреть выбор подходящего масштабного множителя
ние воздуха не учитывается) вывести график зависимости координа­ты от времени, для второго — зависимость силы сопротивления от времени. Входные параметры модели: y
14
для времени. Для первого случая (когда сопротивле-
, v0, k, u, τ.
0
Формулировка задачи уже содержит словесное описание модели, поэтому перейдем ко второму этапу построения моде­ли — идеализации. Перечислим упрощения, которые будут присутствовать в модели. Поскольку поверхность удара стро­го горизонтальная и идеально гладкая, мяч будет двигаться вертикально, не отклоняясь в стороны после ударов о землю, и без кручения. Поэтому можно считать кой, масса которой сосредоточена в его центре
мяч материальной точ-
15
. В соответст-
вии с законом всемирного тяготения на мяч действует сила
wm+=
mM
γ
(I.1)
,
2
yR
)(
где M, m — массы, соответственно, Земли и мяча, R — радиус Земли, y — высота подъема мяча над поверхностью Земли, w — ускорение мяча,
случае очевидно
16
, что y много меньше R, то отсюда следует,
константа. Поскольку, в данном
что можно принять
14
Масштабный множитель нужен для замедления или ускорения
модельного времени, которое, очевидно, не всегда может совпадать с реальным физическим временем моделируемого явления.
15
В случае, когда принимается во внимание сопротивление воздуха,
модель, очевидно, должна учитывать площадь поперечного сечения мяча, но удобно считать, что эта величина входит в качестве множи­теля в коэффициент u.
16
Очевидность этого утверждения не означает, что его не следует
доказывать. В данном случае доказательство, заключающееся в сравнении величин w, рассчитанных по формулам I.1 и I.2, настоль­ко просто, что оно опущено.
1
I. Математические и компьютерные модели
7
==−
+−=
.const
w ===
M
γ
2
R
g
(I.2)
Константу g называют ускорением свободного падения.
Известно, однако, что ускорение силы тяжести зависит от географической широты места падения, а также от того, что падающее на вращающуюся Землю тело отклоняется на вос­ток (см., например [16, c. 128]). Но для рассматриваемой мо­дели этими эффектами можно пренебречь в силу их незначи­тельности
17
при малых значениях y.
На третьем и четвертом этапах, пользуясь вторым законом Ньютона, спроектируем силы, действующие на мяч, на верти­кальную ось, направленную вверх, с началом в точке удара. Тогда при отсутствии сопротивления воздуха получим
=
&&&
.)(,)(,
vtyytygy
(I.3)
0000
Решение этого дифференциального уравнения
1
2
2
, tCgtyCvgtC +=+=
(I.4)
,
CtCgty ++=
21
1
2 002001
2
01
полностью определяет координату мяча y как функцию време­ни. Скорость мяча
&
.1Cgty
(I.5)
Таким образом, модель представляет собой функцию (I.4), меняющуюся на временных отрезках [0, t
], [t1, t2], …, где ti —
1
моменты удара мяча о землю (начальный момент времени все­гда можно взять равным нулю), причем после i-го удара на­чальные условия будут такими: y
= 0, v0i = – kvi, здесь vi —
0i
скорость непосредственно перед i-м ударом. Легко видеть, что в построенной модели при k > 0 мяч никогда не остановится, поэтому задаваемую величину количества ударов следует присоединить к входным параметрам модели.
17
См. предыдущую сноску.
1
Математическое и компьютерное моделирование
==−
Для случая, когда учитывается сопротивление среды, ана­логично получаем уравнение
=
&&&&
,)(,)(,
vtyytyyugy
(I.6)
0000
имеющее решение
D
1
y
u
g
ut
e
u
,
Dt
+=
(I.7)
2
g
⎛ ⎜
vD
+=
u
D
1
yDe
0201
u
g
utut
00
.,
e
t
++=
0
u
В этом случае скорость мяча определяется соотношением
g
ut−=−
eDy
1
(I.8)
u
и, кроме того, необходимо выполнение неравенства
,0guv−> (I.9)
иначе сила сопротивления воздуха будет уравновешивать или превосходить силу притяжения.
Замечание. В данном простом учебном примере получе­ны аналитические решения дифференциальных уравнений, описывающие рассматриваемую модель. Часто в наиболее интересных для исследования случаях аналитические реше­ния получить не удается и поэтому приходится прибегать к численным решениям. Следовательно, при этом дополни­тельно
встает также задача выбора и обоснования подходя-
щих численных методов.
Вычислительный алгоритм таких решений должен удов­летворять жестким, иногда противоречивым требованиям, например: необходимость получения решения при разумном (по возможности — минимальном) количестве действий и времени при заданной точности; объемы обрабатываемой информации не должны превышать емкости машинной па­мяти; структура алгоритма должна
быть достаточно простой
при учете архитектуры вычислительной системы; вычисли-
18
I. Математические и компьютерные модели
тельный процесс должен быть устойчивым (ошибки округ­ления не должны накапливаться в процессе счета) и т.
д.
Причем, нужно особо отметить, что данные требования да­леко не всегда удовлетворяются автоматически по мере рос­та мощностей компьютеров из-за постоянно возрастающей сложности решаемых задач. По этим причинам разработка эффективных вычислительных алгоритмов является одной из ключевых задач математического моделирования. По теории численных методов рекомендуются книги [3; 4; 5]. Компьютерная реализация построенной математической модели рассматривается ниже.
I.4. Пример 2. Реалистичное освещение
Рассмотрим модель реалистичного освещения трехмерной сцены, основанную на трассировке лучей света. Прежде чем сформулировать задачу, приведем необходимые определения, относящиеся к трехмерной компьютерной графике и трасси­ровке лучей. Поскольку русская терминология в этой области в настоящее время недостаточно установилась, ниже все на­звания будут
сопровождаться своими английскими аналогами. Все объекты в совокупности, которые будут отрисованы про­граммой, называются частями сцены, или мира (рис. I. 1). В компьютерной графике точка, из которой осуществляется наблюдение, называется камерой рой, на пленку которой проецируется и записывается сцена, в графике мы имеем картинную плоскость
18
. По аналогии с фотокаме-
19
(view window), на которую проецируется и затем отрисовывается трехмерная сцена. Цвет каждой точки на фотопленке вызывается действи­ем светового луча (в действительности — группой лучей), ко-
18
В англоязычной литературе камера (camera) называется также eye — глаз.
19
В отличие от фотокамер, у которых плёнка расположена за фоку-
сом, в графике картинная плоскость расположена перед фокусом.
19
Математическое и компьютерное моделирование
0
торый падает на пленку, в то время как в компьютерной гра­фике каждый пиксел (pixel — точка растрового изображения) полученной картинки является следствием программной ими­тации светового луча, который попадает на картинную плос­кость по пути в камеру. Задача получения изображения сцены заключается, таким образом, в определении цвета каждой точ­ки картинной плоскости
.
Рис. I.1
Для решения этой задачи в компьютерной графике приме­няются самые различные методы. Одним из таких методов, потенциально позволяющим добиться максимально возмож­ного реализма чей света — рейтрессинг (ray tracing). Рейтрессинг называется
21
, потому что при использовании этого метода отслежива-
так
20
изображения, является метод трассировки лу-
ется путь, которым лучи света распространяются на сцене, —
трассируют сцену. Целью трассировки является определение цвета каждого луча, который попадает на картинную плос­кость после всех отражений и преломлений от объектов сце­ны, перед тем как он достигнет камеры.
20
Имеется в виду фотореализм, когда просчитанное компьютерной
программой изображение моделируемой сцены неотличимо от фото­графии этой сцены в реальности.
21
Tracing — прослеживание, запись (регистрирующего прибора).
2
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]