Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Практический курс математического и компьютерного моделирования. Учебно-практическое пособие
.pdf
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
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
