/
Author: Ращиков В.И. Рошаль А.С.
Tags: математика физика задачи по физике
ISBN: 5-8114-0590-1
Year: 2005
Text
ЧИСЛЕННЫЕ
МЕТОДЫ РЕШЕНИЯ
ФИЗИЧЕСКИХ
ЗАДАЧ
В. И. РАЩИКОВ
А С. РОШАЛЬ
В. И. РАЩИКОВ,
А. С. РОШАЛЬ
ЧИСЛЕННЫЕ
МЕТОДЫ
РЕШЕНИЯ
ФИЗИЧЕСКИХ
ЗАДАЧ
УЧЕБНОЕ ПОСОБИЕ
ЖВЫЙ ФОНД
6-нн МИФИ '
йГ
САНКТ-ПЕТЕРБУРГ • МОСКВА • КРАСНОДАР
2005
ББК 22.193
Р 12
Ращиков В. И., Рошаль А. С.
Р 12 Численные методы решения физических задач:
Учебное пособие. — СПб.: Издательство «Лань»,
2005. — 208 с. — (Учебники для вузов. Специаль-
ная литература).
ISBN 5-8114-0590-1
В пособии изложены общий подход к решению физических
задач численными методами и элементы теории погрешностей;
методы интерполирования и аппроксимирования, численного ре-
шения нелинейных уравнений, дифференцирования и интегри-
рования; численные методы линейной алгебры, методы численно-
го решения обыкновенных дифференциальных уравнений и про-
стейших уравнений в частных производных. Особое внимание
уделяется применению численных методов к решению инженерно-
физических задач. Введение, главы 1-4 написаны В. И. Ращико-
вым, главы 5-10 и заключение — А. С. Рошалем.
Предназначено для физических и инженерно-технических
специальностей.
ББК 22.193
Обложка
С. ШАПИРО, А. ЛАПШИН
Охраняется законом РФ об авторском праве.
Воспроизведение всей книги или любой ее части
запрещается без письменного разрешения издателя.
Любые попытки нарушения закона
будут преследоваться в судебном порядке.
© Издательство «Лань», 2005
© В. И. Ращиков, А. С. Рошаль, 2005
© Издательство «Лань»,
художественное оформление, 2005
ВВЕДЕНИЕ
Трудно представить область научных исследований, где
бы в той или иной мере не использовался компьютер.
В процессе решения физических задач компьютер явля-
ется мощным инструментом исследования и как всякий
сложный инструмент требует специальной подготовки
для квалифицированного использования. Успех решения
задачи связан с правильным и корректным построением
всего вычислительного процесса получения численного ре-
зультата и его интерпретации. Целью расчетов в подавляю-
щем большинстве физических задач является понимание
изучаемого явления, а не конкретные числа, поэтому
прежде чем приступить к решению задачи, необходимо
ясно представлять себе, как может быть использовано
полученное решение.
При изучении интересующих нас физических объек-
тов и процессов с помощью компьютера будем проводить
не физический, а математический, или численный, экс-
перимент, суть которого заключается в изучении процес-
сов и систем с помощью математического моделирова-
ния на компьютере на основе уравнений и алгоритмов,
описывающих эти процессы или системы.
Попробуем определить место, занимаемое численным
экспериментом в ряду других способов изучения реаль-
ного мира. Процесс любого исследования можно пред-
ставить себе как цепь последовательных взаимодействий
теории и эксперимента. Теория, опираясь на ряд фунда-
ментальных законов, стремится при помощи математи-
ческого аппарата извлечь из них информацию для
3
удовлетворительного описания эксперимента и составле-
ния прогнозов. В этой связи численное моделирование
рассматривается как некий инструмент, позволяющий
упростить используемый математический аппарат или
полностью заменить аналитическое решение численным,
если аналитическое решение становится очень сложным.
Таким образом, численное моделирование оказывается
как бы частью теории, однако это в большей степени
относится к фундаментальной физике и в меньшей к
прикладной, где работа на компьютере гораздо ближе к
экспериментальной, чем к теоретической.
Физический эксперимент представляет собой некую
модель действительности, которую мы и изучаем. Если
же эта действительность слишком сложна, то мы упроща-
ем экспериментальную модель, отбросив несущественные
на наш взгляд эффекты. Другой причиной упрощения
исследуемой экспериментальной модели может служить
ее чрезмерная дороговизна и, как следствие, невозмож-
ность проведения эксперимента необходимое число раз
и т. д. Численное моделирование напоминает экспери-
мент такого рода, и поэтому часто говорят о численном
эксперименте.
Как в физическом, так и в численном эксперименте,
когда изучаемое явление достаточно сложно, получае-
мые результаты могут сильно отличаться от ожидаемых.
Поэтому вычислитель, как й экспериментатор, должен
детально проанализировать весь ход процесса, чтобы по-
нять появление данного результата. В ходе такого ана-
лиза экспериментатор опирается на показания приборов,
вычислитель же — на промежуточные результаты и вспо-
могательные величины. Как физик-экспериментатор, так
и физик-вычислитель должны заранее спланировать экс-
перимент, т. е. определить, какие основные характери-
стики необходимы для понимания данного явления, а
следовательно, поставить необходимые измерительные
приборы в физическом эксперименте и предусмотреть
вывод промежуточных данных в численном эксперимен-
те, так как программа без выводов так же бесполезна,
как и эксперимент без измерений.
Таким образом, математическое моделирование яв-
ляется то инструментом теории, то неким типом экспе-
римента. Оно может подтверждать или опровергать те
или иные упрощенные гипотезы, либо использоваться
как средство прогнозирования в эксперименте. Проверка
численной модели, как и любой теории, осуществляется
экспериментально.
К недостаткам численного эксперимента следует от-
нести возможность появления нефизических результа-
тов вызванных ограничениями используемых числен-
ных методов и машинными ошибками. Поэтому фи-
зик занимающийся моделированием, должен знать, как
происходят вычисления и представлять себе пределы
применимости данной конкретной модели. В против-
ном случае он видит лишь «голые» цифры, истинный
смысл которых может быть скрыт в вычислениях.
У Эдингтона есть история о человеке, который ловил в
море рыбу сетью с ячейками определенного размера.
Проанализировав улов, он сделал вывод о том, что са-
мые маленькие рыбы в сети и есть самые маленькие
рыбы в море. Таким образом, он допустил ошибку, по-
скольку не учел, как проходила ловля рыбы. Так же и
результат вычислений может зависеть от того, каким
методом он получен.
К преимуществам численного эксперимента следует
отнести возможность выделения основных факторов, оп-
ределяющих поведение изучаемого объекта и тем самым
оправдать те или иные упрощающие предположения, по-
ложенные в основу описывающих его теоретических мо-
делей. Кроме того, результаты численного эксперимента
воспроизводимы, что не всегда верно в отношении физи-
ческого эксперимента. Чтобы более детально исследо-
вать какую-нибудь часть процесса в численном экспери-
менте, достаточно вывести лишь дополнительную инфор-
мацию, в то время как в физическом эксперименте
необходима, как правило, установка дополнительной ап-
паратуры, которая в свою очередь может повлиять на
изучаемое явление.
Являясь мощным инструментом исследования, чис-
ленное моделирование требует от физика знания в опре-
деленном объеме численных методов, умения ориентиро-
ваться в них и использовать наиболее подходящие для
решения поставленной задачи.
4
5
A.
ОСНОВНЫЕ ЭТАПЫ
РЕШЕНИЯ ФИЗИЧЕСКИХ ЗАДАЧ
НА КОМПЬЮТЕРЕ
Процесс решения физических задач на компьютере
можно разбить на ряд последовательных этапов, необхо-
димых для получения конечного результата. Проанали-
зируем эти этапы на примере простой физической задачи
падения тел у поверхности Земли.
1. Изучение и постановка задачи. Итак, мы рассмат-
риваем падение предметов у земной поверхности, при-
чем нас будут интересовать лишь их скорость и положе-
ние в заданные моменты времени, если они известны в
начале. Таким образом, кроме описательной части зада-
чи первый этап включает в себя и определение конечных
целей решения.
2. Выбор физической модели. В качестве физической
модели будем исследовать движение материальной точ-
ки по вертикали под действием сил тяготения и сопро-
тивления воздуха, которое описывается вторым законом
Ньютона:
ma(t) = F(y,v, t),
где a, v и t — соответственно ускорение, скорость и
время, т — масса тела, F — равнодействующая всех
сил, приложенных к телу.
В зависимости от наших допущений мы можем прий-
ти к нескольким физическим моделям. Так, например,
пренебрегая сопротивлением воздуха и рассматривая
лишь движение вблизи поверхности Земли, приходим к
модели свободно падающего тела:
v (t) = v0 + gt;
y(.t) = y0+vQt + ^gt2, (В1)
Л
где g — ускорение свободного падения вблизи поверхно-
сти Земли, а 1/о и Do — соответственно начальные коорди-
ната и скорость тела.
Если нас будет интересовать в том числе и падение
тел на достаточном удалении от поверхности Земли, фи-
зическая модель должна быть уточнена введением зави-
симости силы тяжести от расстояния до центра Земли:
рТ = GMm/(JR + у)2 = mg/(l + y/R)2,
eR— радиус Земли, G — гравитационная постоянная,
— масса Земли, g = GM/R2.
В случае учета сопротивления воздуха, физическая
модель еще более усложняется. Теперь помимо силы тя-
готения F будем учитывать и силу сопротивления воз-
духа F, г- е. равнодействующая равна сумме этих сил:
F = FT+FC. (В2)
В общем случае зависимость сопротивления среды от
скорости может быть достаточно сложной и задаваться в
виде некой экспериментально снятой характеристики.
Однако наиболее удобно задать ее, например, в виде:
Fc(v) = k v,
а параметр k будет определяться в зависимости от свойств
среды и геометрии тела. Понятно, что такой вид зависи-
мости может быть использован лишь в определенном
диапазоне скоростей и, возможно, потребуется его заме-
на, например, на Fc(v) = k • v2 в другом диапазоне.
Физическую модель можно усложнять и дальше, вво-
дя всевозможные вращения, и т. д. Таким образом убе-
дились, что физическая модель будет меняться в зависи-
мости от поставленной задачи и конечных целей реше-
ния, а ее применимость строго ограничена.
3. Разработка математической модели. Математиче-
ская модель представляет собой математическую форму-
лировку задачи, описывающей поведение исследуемого
физического явления или объекта. Она должна быть по
возможности максимально простой и доступной для ис-
следования.
В нашем случае для описания одномерного движения
материальной точки необходимо решить систему двух
дифференциальных уравнений:
f=”<0;
= <ВЗ)
dt т
где F(y, v, t) —равнодействующая сил, приложенных к
телу. Начальные условия: у(0) — у0, п(0) = о0.
6
7
В случае свободного падения тел у поверхности Зем-
ли в качестве математической модели может быть ис-
пользована система уравнений (В1). Как мы видим, для
решения поставленной задачи важно правильно опреде-
лить область применения той или иной модели.
4. Численное решение задачи. Численное решение
задачи можно разбить на ряд подэтапов.
Выбор численного метода. Этот подэтап состоит в
переводе математической модели на язык, понятный ма-
шине. Иными словами, необходимо записать систему урав-
нений (В1) или (ВЗ) в виде последовательности элемен-
тарных операций (алгоритм решения), приводящих к ко-
нечному результату. Если в случае системы (В1) сделать
это достаточно просто, то для решения системы (ВЗ) нужно
воспользоваться одним из численных методов решения
дифференциальных уравнений, например, методом Эй-
лера. Обозначим через At шаг по времени, тогда момент
времени tn, соответствующий n-му шагу, будет опреде-
ляться как
tn = t0 + nAt,
а необходимые нам значения координаты у и скорости
v — из системы: &
Vn+1 =V„+—Ai;
т.. (В4)
Уп+1 = Уп + vn^t.
Здесь скорость оп+1 и координата уп+1 в конечной точ-
ке интервала вычисляются через значения этих величин
и силы, действующей на тело в начальной точке интер-
вала. Использованный метод решения дифференциаль-
ных уравнений не является единственным. Существует
множество методов, которые будут рассмотрены ниже,
позволяющих наиболее рационально и с необходимой точ-
ностью решать соответствующие уравнения движения.
Здесь мы лишь отметили необходимость знания числен-
ных методов и корректного их использования.
Разработка программы. На этом этапе алгоритм ре-
шения задачи записывается на понятном машине языке
в виде строго определенной последовательности опера-
ций, что и называется программой.
Написание программы непосредственно на машинном
языке требует от программиста знания большого коли-
чества машинных команд и весьма трудоемко. Поэтому
значительно чаще для составления программ использу-
ется некоторый промежуточный язык, более близкий к
математическому, после чего специальной программой
(транслятором) она переводится на язык машины.
Анализ и обработка входной информации. Для реше-
ния конкретной задачи необходимы исходные данные, с
помощью которых по программе будет вычислен резуль-
тат. В нашем случае это начальные значения координаты
и скорости тела, а также действующей на него силы (В2).
Поскольку способ задания силы, а также значения коор-
динаты и скорости могут меняться, то это необходимо
заранее предусмотреть в программе.
Проведение математического эксперимента на ком-
пьютере. Составленная программа, как правило, содер-
жит разного рода описки и ошибки. Целью данного эта-
па является исправление функциональных ошибок, пре-
пятствующих нормальному завершению программы. Это
могут быть как синтаксические ошибки (ошибки в язы-
ке программирования), так и арифметические, логиче-
ские и т. д. Исправление (отладка) осуществляется за-
пуском программы на компьютере.
Обработка и предварительный анализ информации.
После того как в результате работы программы получе-
ны результаты, необходимо оценить, достаточна ли вы-
веденная из машины информация, т. е. хватает ли ее,
чтобы сделать необходимые выводы; удовлетворяет ли
степень точности выведенного, удобна ли она для даль-
нейшей обработки.
5. Анализ результатов эксперимента. Итак, в резуль-
тате работы программы получены необходимые числен-
ные значения неизвестных величин либо соответствую-
щие графики зависимостей. В нашем случае это могут
быть графики зависимостей v(t) и y(t) либо и(у). Однако
вероятность того, что эти числа или графики окажутся
неверными, весьма велика. Поэтому необходимо подверг-
нуть их критическому анализу.
Для проверки наиболее часто используются следую-
щие способы:
проверка порядка величин, который позволяет уст-
ранить лишь только самые грубые ошибки;
8
9
@ моделирование простых задач, имеющих аналитиче-
ские решения (в нашем случае модель, составленную
по системе уравнений (ВЗ) можно проверить по фор-
мулам (В1), положив F/zn = g);
® сравнение с программой, пригодность которой до-
казана независимо;
К проверка на выполнение законов сохранения;
® сравнение с экспериментальными результатами
и т. д.
Приведенные выше способы, конечно же, не исчер-
пывают всего многообразия тестов, являющихся важ-
нейшей частью численного эксперимента, поскольку они
гарантируют правильность модели и позволяют доста-
точно просто интерпретировать ее результаты с точки
зрения заложенных в нее предположений.
6. Усовершенствование численной модели. Если в
результате проведенного на этапе 5 анализа результатов
численного эксперимента оказалось, что настоящая мо-
дель нас не устраивает, необходимо ее усовершенствова-
ние. В этом случае мы должны вернуться ко второму
этапу решения, провести необходимую корректировку
физической модели, которая в свою очередь приведет к
изменениям в математической модели (3-й этап) и чис-
ленном решении (4-й этап). Дальнейший анализ резуль-
татов (5-й этап) покажет, следует ли дополнительно мо-
дернизировать модель, либо она нас удовлетворяет, и
тогда можно перейти к последнему этапу.
7. Реализация эксперимента. Этот этап является ко-
нечной целью численного моделирования и состоит в изу-
чении на численной модели интересующего нас явления.
Б.
ПОГРЕШНОСТИ ВЫЧИСЛЕНИЙ
Решая задачу на компьютере, мы получаем не точное
решение, а лишь некоторое приближенное, так как в
решении присутствует, как правило, три основных типа
погрешностей.
1. Исходные, или неустранимые, погрешности. Ис-
ходные, или неустранимые, погрешности появляются в
результате несоответствия математической модели изу-
чаемому физическому явлению. Так, например, могут
быть не учтены какие-либо важные черты исследуемого
поцесса либо нарушены границы применимости данной
модели. Возвращаясь к задаче о падении тел у поверхно-
сти Земли, попытка использовать систему уравнений (В1)
ля исследования динамики пенопластового, шарика не-
избежно приведет к такой ошибке.
К тому же типу погрешностей можно отнести и по-
грешности исходных данных, которые, в большинстве
случаев являясь экспериментальными, уже содержат в
себе исходную погрешность. Это могут быть начальные и
граничные условия задачи, коэффициенты и правые час-
ти (силы) моделируемых уравнений и т. д.
Если обозначить через y(t) координату падающего тела
в физической модели, то переход к математической мо-
дели, описываемой системой уравнений (ВЗ), может при-
вести к неустранимым погрешностям вследствие неточ-
ного задания начальных значений координаты и скоро-
сти тела, а также действующей на него силы. В силу
этого значения, координаты в математической и физи-
ческой моделях будут отличаться. Обозначая через y(t)
координату в математической модели, придем к следую-
щему определению неустранимой погрешности:
£1 = У - У-
Во многих случаях под погрешностью понимают не
рассмотренную выше разность между приближениями, а
некоторые меры близости между ними. Например, в ска-
лярном случае полагают
2. Погрешность численного метода, или остаточная
погрешность. Погрешность численного метода, или оста-
точная погрешность, есть следствие того, что численным
методом решается уже другая, упрощенная задача, кото-
рая является приближением исходной. Так, в нашем при-
мере при решении системы дифференциальных уравне-
ний движения тела (ВЗ) методом Эйлера (В4), скорость
тела и действующая на него сила на шаге интегрирова-
ния постоянны, что вносит дополнительную погрешность
в вычисляемое значение координаты тела уп. Кроме
того, погрешность численного метода может быть связана
11
10
с заменой интеграла суммой с конечным числом чле-
нов, усечением рядов при вычислений функций, интер-
полированием по таблицам и т. д. Погрешность числен-
ного метода
е2 = Уп - У
или
Р2 ~\Уп -у1>
как правило, регулируема, так как можно изменить шаг
задачи, число итераций, число точек интерполяции, число
учитываемых членов ряда и т. д. При моделировании ста-
раются уменьшить величину этой погрешности так, чтобы
она оказалась в несколько раз меньше исходной погреш-
ности, так как дальнейшее уменьшение приводит лишь к
удорожанию расчета за счет роста затрачиваемого машин-
ного времени, не давая выигрыша в точности результата.
3. Погрешности округления, или вычислительные
погрешности. Погрешности округления, или вычисли-
тельные погрешности, связаны с ограниченностью раз-
рядной сетки компьютера. В силу этого при вводе дан-
ных в машину, при выполнении арифметических опера-
ций и выводе данных производится округление, которое
и приводит к дополнительной погрешности. В нашем
примере в машине имеется значение координаты тела
Уп, в которое входит и ошибка округления
ез = Уп -Уп> Рз =|& -уп|-
Полная погрешность, т. е. разность между реально
получаемым и точным решением задачи е0 удовлетворя-
ет следующему равенству:
е0 = + е2 + £з = Уп - У>
ро=|уп-у|;
Ро Р1 + р2 + Рз-
Абсолютной погрешностью приближения i к точному
значению величины и называют величину
Au = |й - п|.
Относительную погрешность определяют как
с = Ац ~ |й-п|
При сложении или вычитании чисел их абсолютные
погрешности складываются, а относительная погрешность
ммы заключена между наибольшим и наименьшим зна-
чениями относительных погрешностей слагаемых. При
умножении или делении чисел друг на друга их относи-
тельные погрешности складываются. При возведении в
степень приближенного числа его относительная погреш-
ность умножается на показатель степени.
В случае функции многих независимых переменных
и = u(xi, х2, хп)
абсолютная и относительная погрешности определяются
выражениями:
в.
КОРРЕКТНОСТЬ И УСТОЙЧИВОСТЬ
Задача у = Ах называется корректно поставленной, если
для любых входных данных х е X (из некоторого класса X)
решение у е Y существует, единственно и устойчиво по
входным данным. Первые два требования естественны,
так как приступая к численному решению задачи нужно
быть уверенным, что решение существует, а однозначная
последовательность действий в численном алгоритме дик-
тует требование единственности. Кроме того, если исход-
ные данные имеют небольшую погрешность, то и погреш-
ность решения должна быть невелика. Иными словами,
задача называется устойчивой по входным данным х, если
решение у непрерывно зависит от входных данных.
Отсутствие устойчивости означает, что даже незначи-
тельные погрешности в исходных данных могут привес-
ти к большим погрешностям решения или вовсе невер-
ному результату. О таких задачах говорят, что они чув-
ствительны к погрешностям исходных данных.
12
ГЛАВА ПЕРВАЯ
ИНТЕРПОЛИРОВАНИЕ
В ФИЗИЧЕСКИХ
ЗАДАЧАХ
Численное моделирование большинства физических за-
дач сопряжено, как правило, с необходимостью учета
факторов, которые не могут быть описаны аналитиче-
ски. Имеется лишь ряд экспериментальных зависимо-
стей, полученных в фиксированном числе точек интере-
сующего нас диапазона переменных. Так, например, при
решении широко распространенной задачи о динамике
макро- и микрообъектов во внешних гравитационных
или электромагнитных полях информацию о поле часто
бывает невозможно получить в виде аналитических функ-
ций без ввода дополнительных упрощающих предполо-
жений, которые могут существенно повлиять на резуль-
тат. В этом случае необходимо прибегнуть к эксперимен-
тальным характеристикам, причем эксперимент может
быть проведен лишь конечное число раз. Таким образом,
мы приходим к физической задаче, в которой ряд функ-
ций задан на конечном числе точек xt фиксированной
области изменения аргумента xt е [а, &]. Численный ме-
тод, однако, может потребовать знания этих функций
для всех значений аргумента из этой области. В этом
случае возникает задача восстановления функции у(х)
для всех значений х е [а, &], если известны ее значения в
некотором фиксированном числе точек X, этого отрезка.
Наиболее простым и распространенным способом ре-
шения этой задачи является интерполяция между сосед-
ними значениями, которая сводится к построению функ-
ции ф(х), совпадающей с функцией у(х) в точках хь т. е.
<P(*i) = y(xt) = yi9 i = 0, 1, 2, n, (1.1)
i. i _ число заданных на отрезке д] точек, а
где тг "г х
у — узлы интерполяции.
Таким образом, будем говорить об интерполяции, ког-
да значение х заключено между крайними узлами интер-
поляции х0 = а и хп = Ъ. Если же х выходит за пределы
тоезка [а, &], то говорят об экстраполяции. При экстра-
поляции далеко за пределы отрезка [а, Ь] ошибка может
оказаться очень большой.
При выборе интерполирующей функции ф(х) необхо-
димо ограничить поиск функциями, легко и быстро вы-
числяющимися на компьютере, так как их, как прави-
ло, приходится вычислять многократно.
’ Будем искать интерполирующую функцию ф(х) в виде
линейной комбинации некоторых элементарных функ-
ций: «
ф(х) =
й=0
где {<р*(х)} — фиксированные линейно независимые функ-
ции, a {cj неизвестные пока коэффициенты.
Чтобы найти неизвестные коэффициенты {ck}, вос-
пользуемся условием (1.1), которое приводит к системе
(и + 1) уравнений
JcA(pft(x;) = = °, !,..., п.
k=0
Для однозначного вычисления коэффициентов {ck}
необходимо, чтобы при любом выборе узлов интерполя-
ции X; внутри заданного отрезка был отличен от нуля
определитель <Ро(*о) Ф1(х0) . • ФП(Ч>)
|Ф| = ФоСч) Ф1СЧ) . • Ф«Сч) * 0.
<Ро(*П) Ф1(Х„) - • фл(ч)
Система функций {<pj при этом условии называется
чебышевской. Зная значения функции в узлах интерпо-
ляции уг можно определить значения коэффициентов {ch}.
Наиболее часто в качестве системы линейно независи-
мых функций {фА} используются степенные полиномы хк
либо тригонометрические полиномы sin(coftx), cos(cofex),
(k = 0, 1, ..., П).
15
14
1.1.
ПОЛИНОМИАЛЬНАЯ ИНТЕРПОЛЯЦИЯ
Полином степени п „
Рп(х) = с0 +с1х + с2х2 + ... + спхп = Yckxk (1.2)
л=о
имеет (га + 1) коэффициент. Естественно полагать, что
(га + 1) условие, наложенное на многочлен в общем виде,
позволит однозначно вычислить коэффициенты. Потре-
буем, чтобы полином проходил через (га + 1) точку (х;, yt),
(i = 0, 1, ..., га), где yt = <р(х,) и хе * х;-. Тогда приходим к
системе линейных уравнений
=yt,i = 0,1,..., га,
fe=O
или, раскрывая сумму:
с0 + qxo + с2х% + ... + c„xg = i/0;
с0 + CjXj + c2xf + ... + c„xf = У!",
с0 + ctx„ + с2х2 + ... + с„х" = уп.
Определителем этой системы линейных уравнений от-
носительно неизвестных ck является определитель Ван-
дермоида: 1 х0 Хо ... xg
W = 1 *1 xf ... xf = f(x0,xlt. ..,хп).
1 х„ Х2„ ... X?
Ясно, что определитель есть функция х0, Xi, ..., хп.
Если считать его функцией от хп, то он — многочлен
степени га и обращается в нуль при хп = х;, j = 0, 1, ...,
га-1, т. е. /(х0, Xi, ..., х„) содержит множители
п-1
П(Х„ - х;) = (Х„ - xj(x„ - х2)... (х„ - X^J.
i=0
Рассматривая определитель как функцию от хп_\, мы
точно так же приходим к существованию множителей
п-2
П<х»-1-жз
>=0
или окончательно для всех остальных степеней
16
;>i=0
Суммируя изложенное выше, определитель Вандер-
монда "
w= fl
7><=0
то есть при Xi * Xj для i * j интерполяционный полином
существует и единствен.
Таким образом, если функция у(х) задана в (n + 1)
узлах, то можно построить полином степени п, который
совпадает (пренебрегая ошибками округления) с функ-
цией в узловых точках. Предполагая, что полином и
функция близки между узловыми точками, мы можем
использовать полином вместо функции в дальнейших
вычислениях или аналитических оценках.
1.2.
ПОЛИНОМ ЛАГРАНЖА
В описанном выше способе построения интерполяци-
онного полинома в качестве базисных функций {<рА} были
взяты одночлены вида: 1, х, х2, ..., хп. Другим возмож-
ным подходом является использование базиса интерпо-
ляционных полиномов Лагранжа. Идея метода состоит в
нахождении многочлена Lk(x), который принимает зна-
чение 1 в одной узловой точке и 0 во всех остальных:
_ fl, если k = i,
к‘ [0, если k * i.,
где Sfci — символ Кронекера.
Легко убедиться в том, что указанным свойством об-
ладает полином степени п:
= (х - х0)(х - хг) ... (х - хА_!)(х - хА+1)... (х-хп)
(xk -x0)(xh -х() ... (хА -хА_1)(хА -хА+1) ,..(хА -х„)’
Многочлен Lk(x)yk принимает значение yk в fe-й узло-
вой точке и равен нулю во всех других узлах. Из этого
следует, что интерполяционный полином Лагранжа
Рп(х) = £ Lk(x)yk (i,3)
k=o k=0 l*k Xk Xi
имеет степень не выше п и P„(xf) = yt.
УЧЕБНЫЙ ФОНД j
б-ки МИФИ !
Если в каждом узле интерполяции известно не толь,
ко значение функции yt, но и ее производной у'ь то мо:д,
но построить многочлен степени (2n + 1), так как доли?,
ны быть удовлетворены (2п + 2) условия:
^(Х;) = г/,;
^'(х;) = у[,
где г = 0, 1, 2, п. Если узлы xt различны, то существу,
ет единственное решение, называемое многочленом Эр,
мита, и находится оно способом, аналогичным методу
Лагранжа. Так, например, многочлен Эрмита для случая
двух узловых точек х0 и хь в которых заданы значения
функции у0, ух и ее производной у'о, у\, имеет вид:
Н(х) = у0 + (х-х0)х
х0 - х1
У о ~У1
х()-х1
, ^(Уо-У,) ,
У о ---------+ У1
х0 -хх
ХЫ +
У о ~
1.3.
ИНТЕРПОЛЯЦИОННАЯ
ФОРМУЛА НЬЮТОНА
При построении интерполяционных многочленов мы
подразумевали, что множество используемых узлов из-
вестно. Однако часто бывает известна лишь требуемая
точность, а число узлов не фиксировано.
Построим другой интерполяционный полином, чис-
ло используемых узлов которого можно было бы легко
увеличить или уменьшить без повторения всего цикла
вычислений, изменяя тем самым точность интерпо-
ляции.
Введем понятие разделенных разностей:
y(Xi, Xj) = [y(Xi) - y(x;)]/(Xj - Xj)
— разделенная разность первого порядка;
y(Xi, Xj, X/,) — [y(Xj, Ху) — y(Xj, Xfc)] / (X; — Xft)
— разделенная разность второго порядка.
Если у(х) = Рп(х) — полином степени п, то для него
первая разделенная разность
Р(х, х0) = [Р(х) - Р(х0)] / (х - х0) (1.4)
есть, как видно, полином <п-1)-й степени, а вторая раз-
деленная разность
Р(Х, хо, Х1) = [Р(Х, Хо) - Р(Х0, Xj)] / (X - Xi) (1.5)
__ полином (п-2)-й степени и т. д. Таким образом, мы
приходим к выводу, ЧТО (п + 1)-я разделенная разность
равна нулю. По определению разделенных разностей из
(1.4) и (1.5) следует:
Р(х) = Р(х0) + (X - х0) Р(х, х0); (1.6)
Р(х, Хо) = Р(Х0, *1) + (X - хг) Р(х, Х0, Xj); (1.7)
Р(х, х0, Xi) = Р(хо, Х1, х2) + (х - х2) Р(х, х0, Xi, х2)(1.8)
и так далее до n-й разделенной разности, в которую бу-
дет входить (п + 1)-я разделенная разность, равная нулю.
Заменяя в правой части уравнения (1.6) первую раз-
деленную разность уравнением (1.7), в котором вторая
разделенная разность взята из (1.8) и т. д., приходим к
интерполяционному полиному вида
Р(х) == Р(х0) + (х - х0) Р(х0, Xi) +
+ (х - Хо) (X - Х1) Р(Х0, Х1, х2) + ... +
+ (X - Хо) (х - Х1) ... (х - Хп-1) Р(х0, Х1, ..., х„). (1.9)
Поскольку Р(х) — интерполяционный полином для
функции у(х), то его значения в узлах совпадают со зна-
чениями функции у(х,), а значит, совпадают и разделен-
ные разности. Следовательно, можно записать полином
у(х) = у(х0) +
+S(x-x0)(x-xi)...(x-x^1)i/(xo,x1,..., xk), <1Л°)
Л=1
называемый полиномом Ньютона. Когда разделенные раз-
ности вычислены, полином Ньютона удобно вычислять,
используя схему Горнера, сократив число операций ум-
ножения:
У(х) = у(х0) + (х - х0) [i/(x0, Х1) +
+ (X - Xi)[l/(Xo, Xi, х2) + ...]]. (1-11)
Вычисление полинома по такой схеме требует п опе-
раций умножения и 2п сложений, в то время как для
построения полинома Лагранжа требуется около и2 опе-
рации, т. е. при большом числе узлов последний метод
оказывается существенно более быстрым.
19
18
1.4.
ТОЧНОСТЬ ИНТЕРПОЛЯЦИИ
Рассмотрим вопрос о том, как сильно могут отлц-
чаться функция и многочлен в точках, отличных от уз.
ловых. Для оценки близости полинома Рл(х) к функции
/(х) предполагают, что существует (п + 1)-я непрерывная
производная /"+1(х); тогда погрешность определяется еле-
дующим выражением:
Г(х)-Р„(х) (1.12)
(71 + 1)1 у=0
Верхняя граница погрешности определяется выраже-
нием
smax = hn+1 -М -,
max (п + 1)!
где h = | хп - х0 I, а М = тах|/л+1(^)1
Эта ошибка определяется тем, что для приближения
функции нельзя использовать бесконечное число опера-
ций: разложение в ряд должно быть усечено до некото-
рого порядка, откуда и происходит название этой ошиб-
ки — ошибка усечения. Заметим, что если (п + 1)-я про-
изводная функции не ограничена, ошибка не уменьшается
при уменьшении шага сетки.
К ошибке усечения добавляются ошибки округления.
Повышая порядок разложения, мы уменьшаем ошибку
усечения, но увеличиваем ошибку округления, так как
вырастает число операций. Если число операций невели-
ко, то ошибками округления можно пренебречь.
1.5.
ИНТЕРПОЛЯЦИЯ СПЛАЙНАМИ
Сплайном называется функция, которая вместе с не-
сколькими производными непрерывна на всем отрезке
[а, &], а на частичном отрезке [х;, xi+i] является алгебраиче-
ским многочленом. Максимальная по всем частичным от-
резкам степень многочлена называется степенью сплайна.
Рассмотрим случай, когда между любыми соседними
узлами функция у(х) интерполируется кубическим по-
линомом — кубическим сплайном. Его коэффициенты
на каждом интервале определяются из условия сопряже-
ния в узлах
<р(Х;) = y(Xt); <р'(х; - 0) = <р'(х; + 0);
ф"(хг - 0) = ф"(х( + 0). (1.13)
Кроме этого, на границе при х — Хо и х = хп ставятся
условия
Ф"(хо) = 0, ф"(х„) = 0.
Приведенные выше уравнения представляют собой
математическую модель гибкого тонкого стержня из уп-
ругого материала, закрепленного в двух соседних узлах
интерполяции с заданными углами наклона. Стержень
принимает форму, минимизирующую его потенциальную
энергию. Пусть функция ф(х) описывает форму стержня.
Уравнение свободного равновесия имеет вид ф1У = 0, т. е.
для каждой пары узлов функция ф(х) является много-
членом третьей степени.
Будем искать кубический сплайн в виде
ф(х) — di + Ь,(х ~~ X/-i) + с,(х X/-i) 4- dL(x Х(_1) ,
< X < X/.
Воспользовавшись первым условием в (1.13), получим:
ф (х;-1) = di = yi-i;
ф(х;) = di + bihl + cth? + = yit (1.14)
где hi = Xi - Xt-i, 7 = 1,2, ..., n.
Вычисляя затем производные
Ф'(х) = bt + 2с£(х - Xj-i) + 3di(x - хи)2;
Ф" (x) = 2Ci + 6d,(x - хь1), х;1 < x < X;
и требуя их непрерывности при х = х;, получим
fti+i = + 2сД + 3dih?;
ci+1 =сг+Зс!Д, (i = l,2, ...,n-l). (115)
Общее число неизвестных коэффициентов равно 4п, а
число уравнений для их определения (1.14) и (1.15) рав-
но (4п - 2). Недостающие два уравнения получаем из
условия равенства нулю вторых производных на концах
при х — х0 и х = хп (условия незакрепленности концов):
ci = 0, сп + 3dnhn = 0.
Кубический сплайн, полученный при условии неза-
крепленных концов (условие нулевой кривизны на концах),
20
21
является самым гладким среди всех интерполяционных
функций данного класса.
Выражая из (1.15) = (ci+1 - сг)/ЗЛ; и подставляя в
(1.14), получаем, исключив а; = у^:
Подставив теперь выражения для bt, bi+1 и dt, в пер-
вое уравнение (1.15), после несложных преобразований
получаем для определения с, уравнение второго порядка:
hlCl +2(ht + hM)cM + hi+1ci+2
I hM ht J
с условиями на концах = 0 и с„+1 = 0.
Условие сп+1 = 0 эквивалентно условию с„ + 3dnhn = О
и уравнению ci+1 = et + 3diht при i = п.
Матрица этой системы трехдиагональная, т. е. отлич-
ны от нуля лишь элементы, находящиеся на главной и
двух соседних с ней диагоналях сверху и снизу. Для ее
решения целесообразно использовать метод прогонки,
который будет описан ниже.
Можно показать, что для построенного таким обра-
зом сплайна в случае равноотстоящих узлов максималь-
ные по модулю отклонения ф(х) от t/(x), ф'(х) от у’(х) и
Ф"(х) от у"(х) на отрезке [а, 5] равны соответственно О(Л4),
О(Л3), O(h2). Таким образом, точность аппроксимации
функции сплайном можно подобрать, изменяя величину
шага интерполяции Л.
Можно ввести понятие сплайна любого порядка т
как функцию, которая является на каждом отрезке по-
линомом степени т, и во всех внутренних узлах удовлет-
воряет условиям непрерывности функции и производ-
ных до (т - 1) порядка включительно. При т = 3 прихо-
дим к рассмотренному выше кубическому сплайну, а
т = 1 соответствует замене функции ломаной, проходя-
щей через точки (х;, у^. Сплайны более удобны, чем
интерполяционные многочлены для аппроксимации функ-
ций на больших отрезках с большим числом узлов, так
как в этом случае для достижения заданной точности
может потребоваться интерполяционный многочлен очень
высокой степени, что на практике неприемлемо.
В физике достаточно часто приходится аппроксими-
ровать многомерные функции, в силу чего широко рас-
пространена задача интерполяции по многомерным (как
правило двух- и трехмерным) таблицам. Примером мо-
гут служить экспериментально полученные распределе-
ния полей физических величин в двух- и трехмерных
областях, которые затем используются в численных мо-
делях. В этом случае в качестве независимых перемен-
ных, выступают пространственные координаты. Для со-
кращения объема таблиц приходится использовать боль-
шие шаги по аргументам, что приводит к жестким
требованиям к способу интерполяции. Достаточно часто
применяют метод выравнивания, изложенный в разде-
ле 2, что позволяет использовать интерполяционные мно-
гочлены невысоких степеней. Кроме того, в многомер-
ных случаях налагаются дополнительные условия на
число узлов интерполяции и их расположение. Много-
мерная интерполяция настолько громоздка, что исполь-
зуется, как правило, многочлен первой или второй сте-
пени. По этой же причине интерполяция эрмитова типа
практически не употребляется, а сплайновая использу-
ется в основном при разностном решении уравнений в
частных производных.
1.6.
ИНТЕРПОЛИРОВАНИЕ
ТРИГОНОМЕТРИЧЕСКИМИ
ПОЛИНОМАМИ
Для интерполирования периодических функций ес-
тественно воспользоваться тригонометрическими поли-
номами. Рассмотрим для общности комплексную функ-
цию п(х) с периодом I. Коэффициенты ц(п) тригономет-
рического полинома
tf/2-l
Т(х)= £ й(п)е^х, ©„ = Ю1н, И! = —, i = (1.16)
п=-ЛГ/2 I
интерполирующего функцию и(х), можно найти из си-
стемы комплексных линейных алгебраических уравнений
22
23
Т(х;) - м0), «(у) = w(X;), (такие функции называются функциями с ограниченным
0 < х, < Z (у - 0, 1...- 1), (1.17) ; ом) то в силу единственности тригонометрическо-
где X, — узлы интерполирования на полуоткрытом ин. р ---- ---------/-< z< оо\
7 г_ го интерполпил1ипп'-’1 -------’ -х—х—'-------'------'
тервале [0,Z). Если все узлы х, различны, система (1.17) ТрЯ точными, т. е. точное равенство и(х) = Т(х)
имеет единственное решение, которое приводит к поли- Я олняется всюду, а не только в узлах х;-. Следователь-
ному - - ------------у----------- —
T(x) = '^u(j)TJ(x),
1=0
А(х)
где
(1.19)
(1.20)
Т^х) = ^.
1 A'(x;)siny(x-xy)
N-1
А(х) = {J sin—(х - хг),
1=0
аналогичному интерполяционному полиному Лагранже
(1.3). Здесь штрих означает производную по х, а фунда-
ментальные тригонометрические интерполяционные по-
линомы Т,(х) обладают свойством
T£xi) = 8и (j, i = 0, 1, ..., N - 1),
где 8jt — символ Кронекера.
В дальнейшем ограничимся наиболее распространен-
ным в физических приложениях случаем равноотстоя-
щих узлов:
Xj = jh, h = l/N (j = 0, 1, ..., - 1).
При этом формулы (1.19) упрощаются и
(1.18) приобретает вид
= X V „ sinWx-x;)/Z]
N j=0 1 sm[n(x-xy)/Z] ’
Для функций, заданных с шагом h на бесконечной
прямой, тригонометрический интерполяционный поли-
ном
(1.21)
полином
(1.22)
Т(х) = £ u(/)s(x - х), s(x) = --- X: = jh. (1.23)
/=-« (ТСХ/Л) ‘
Если спектр периодической функции ц(х) не содер
жит частот выше максимальной частоты
f = ютах = (ON/2 N_ _ J_
гаах 2л 2л 2Z 2h
(1.24)
интерполяционного полинома, формулы (1.22), (1.23)
но, функция и(х), спектр которой ограничен частотой
(1.18) / ’ может быть точно синтезирована по своим отсче-
там,’ выбранным с шагом h = l/(2fmax). Это утверждение
составляет содержание теоремы Котельникова (или Ко-
тельникова-Найквиста).
Представление дг/2-i . ___.
ц(х) = £ = 7=1)
n=-N/2
для комплексной функции и(х) с периодом Z, заданной в
равноотстоящих узлах (1.21), называют конечным или
дискретным рядом Фурье с коэффициентами й(п). При
х = Xj = jh (1.25) приобретает вид
W/2-1
и(у) = й(п)е‘2кп'/ N.
n=-N/2
Домножая (1.26) на exp(-i2nnj/N), суммируя по всем
j и учитывая дискретное соотношение ортогональности
X£u(7)e-i2nn°-i)/N =8iP
N j=0
получаем формулу для коэффициентов Фурье
й(п) = ± g < n
Вычисление всех N коэффициентов й(п)по формуле
(1.28) требует около IV2 комплексных умножений и сло-
жений, не считая операций для вычисления комплекс-
ных экспонент. В физических приложениях число коэф-
фициентов N может составлять 103-105 и объем вычисле-
ний оказывается слишком большим. Предположим теперь,
что N — составное (не простое) число, т. е. N — NrN2 , где
Ni> — множители N. Подставим в (1.28) j и п в виде
7 = А + /2-^1, п = nrN2 + п2 (jk, nk = 0, 1, ..., Nk - 1;
-Nk/2 <Nk< Nk/2 - 1; k = 1, 2). (1.29)
Тогда, подставляя (1.29) в (1.28), можно представить
(1.28) в виде разложения
-1
(1.25)
(1.26)
(1.27)
24
25
1 ty-l N2-l
й(п) = — e~l2nnii/N u(j)e~i2nn2il/Ni. (1.30)
N Л=о /2=0
1.7.
ПРИМЕНЕНИЕ БЫСТРОГО
ПРЕОБРАЗОВАНИЯ ФУРЬЕ (БПФ)
В ФИЗИКЕ
В (1.30) требуется NN2 операций для вычисления внут-
ренних сумм и AWr — для внешних; всего требуется
N(Ni + N2) < N2 операций.
Далее, если число N2 также составное, редукцию типа
(1.30) можно аналогично применить к вычислению каж-
дой из Ny независимых внутренних сумм в (1.30) и т. д.
В общем случае, когда N представляется в виде произве-
дения N = N\N2 ... Nm, число арифметических операций
можно сократить до величины
N = (ЛГХ + N2 + ... + Nm) « N2. (1.31)
В частности, когда все Nk одинаковые и Д' = qm, где q,
tn — целые числа, выигрыш в числе операций составляет
р = N2/(mqN) = N/(q\ogqN) (1.32)
и достигает максимума при q = 2 или q = 3. Например,
при q = 2, N = 212 = 4096, т = 12 выигрыш оказывается
равным 170. В действительности выигрыш оказывается
еще большим, так как при этом многие экспоненты в
формулах типа (1.30) обращаются в ±1, ±i и соответствую-
щие умножения пропадают.
Описанный метод, основанный на сведении преобра-
зования Фурье длинной выборки к суперпозиции неза-
висимых преобразований Фурье многих коротких выбо-
рок, называется быстрым преобразованием Фурье (БПФ)
и широко используется во многих физических задачах.
Найденные коэффициенты й(п) можно затем использо-
вать в интерполяционном многочлене (1.16) или (1.25).
Заметим, что учитывая вытекающее из (1.28) свойство
периодичности коэффициентов Фурье й(п + N) = й(п)
можно преобразовать (1.26) к виду
N-1
u(j) = u(N - ri)e~i2nni/N. (1.33)
Поскольку формула (1.33) аналогична (1.28), значе-
ния u(j) тоже можно вычислить с помощью быстрого
преобразования Фурье по коэффициентам Щп), взятым
в обратном порядке.
Наиболее часто быстрое преобразование Фурье исполь-
зуется в двух областях:
S при обработке результатов физического эксперимента;
й при численном решении дифференциальных урав-
нений, описывающих различные физические про-
цессы.
В качестве примера первого приложения рассмотрим
корреляционный анализ. Пусть иДх), и2(х) — комплекс-
ные функции с периодом I. Их взаимная корреляцион-
ная функция К(х), являющаяся важной характеристи-
кой процессов ux(x), и2(х) определяется формулой типа
свертки (иногда называемой круговой сверткой).
К(х) = ш(х) ® нг(х) =
1 ' * (1-34)
= - jui(x')u2(x' - x)dx';
1 о
in = u;(x) - (иДх)), (иДх)} =
1 (1.35)
= - |и;(х)с?х (i = 1, 2).
1 о
Коэффициенты Фурье К(п) представляют собой вза-
имную спектральную плотность мощности взаимодей-
ствия (кросс-спектр) процессов нДх) и и2(х).
Если Ui(x) = u2(x) = и(х), получаем автокорреляци-
онную функцию, коэффициенты которой К(п) пред-
ставляют собой спектральную плотность мощности про-
цесса н(х).
Имеется теорема о свертке, согласно которой коэф-
фициенты Фурье К(п), ui(re), йг(п) связаны равенством
К(п) = ui(n)u2(-n). (1.36)
Для функций, заданных в узлах (1.21), аналогично:
1 N 1 *
= — X Wi("i)u2(/n-y);
N m-0
(1-37)
27
26
Ui(j) = - («Л») > («.(/)) = I
1 N~l (1 J
= T7EM7) (i = l,2)' '4
j=0
причем согласно теореме о свертке, по-прежнему
К(п) = ni(zi) U2(-n). (1 .Зя
Таким образом, для быстрого вычисления K(j) сначя
ла вычисляются коэффициенты Фурье й^п), й2(п), J
тем К(п) (1.39) и, наконец, K(j) по формуле типа (1.33)
Использование при этом алгоритмов быстрого преобразс
вания Фурье дает экономию операций более, чем на дв.
порядка, по сравнению с вычислением непосредствен^
по формуле (1.37).
Примеры приложений быстрого преобразования Фу,
рье к решению дифференциальных уравнений будут дана
в следующих разделах.
ГЛАВА ВТОРАЯ
АППРОКСИМИРОВАНИЕ
В ФИЗИЧЕСКИХ
ЗАДАЧАХ
При замене функции интерполяционным многочленом
необходимым условием является прохождение интерпо-
ляционного многочлена через значения функции в узлах
интерполяции. В случае использования эксперименталь-
ных зависимостей, значения функции в узлах получены
с определенной погрешностью (часто достаточно боль-
шой), поэтому нецелесообразно прибегать к интерполя-
ции, заставляя интерполя-
ционный полином повторять
эти ошибки. В этом случае
лучше воспользоваться ап-
проксимацией, т. е. подбо-
ром функции близко прохо-
дящей от заданных точек,
заранее определив критерии
♦близости». В зависимости
ближения можно получить
Интерполяция и аппроксимация
от выбранного способа при-
сильно отличающиеся друг
от друга результаты: кривая может точно проходить че-
рез все заданные точки и в то же время сильно отличать-
ся от сглаженной аппроксимирующей функции (рис. 1).
2.1.
СРЕДНЕКВАДРАТИЧНОЕ
И РАВНОМЕРНОЕ ПРИБЛИЖЕНИЯ
пСНдУДем аппроксимировать функции многочленом сте-
к ф(х) = с0 + схх + с2х2 + ... + стхт, (2.1)
сиров ЦИеНТЫ К0Т0Р0Г0 с‘ подберем так, чтобы миними-
ать отклонение многочлена от данной функции.
29
Воспользуемся среднеквадратичным приближение^
функции у(х) многочленом <р(х) на множестве (х;, рд
(i = О, 1,2, ...» п), при котором мерой отклонения являет,
ся величина S, равная сумме квадратов разностей между
значениями многочлена и функции в данных точках
= (2.2)
1=0
Для построения аппроксимирующего многочлена нуж-
но подобрать коэффициенты с0, с1г ..., ст так, чтобы
величина S была наименьшей. В этом и состоит метод
наименьших квадратов. Как уже упоминалось выше, сред,
неквадратичное приближение сглаживает неточности
функции, давая правильное представление о ней.
Иногда требуются более жесткие условия на аппро-
ксимирующий многочлен: во всех точках отрезка [а, &]
отклонение многочлена ф(х) от функции у(х) должно по
абсолютной величине быть меньше е > 0:
I У(х) - ф(х) | < с, а < х < Ь.
Такую аппроксимацию будем называть равномерной
с погрешностью е на отрезке [а, &].
Введем понятие абсолютного отклонения А многочле-
на ф(х) от функции у(х) на отрезке [а, &]:
Л = (2.3)
и среднеквадратичного отклонения при среднеквадратич-
ном приближении функции
а — среднеквадратичное; б — равномерное.
Д = (2.4)
Рисунок 2 иллюстрирует принципиальные различия
среднеквадратичного (а) и равномерного (б) приближений.
Существует понятие наилучшего приближения функ-
ции z/(x) многочленом ф(х) (2.1), когда его коэффициен-
ты Ct выбирают так, чтобы абсолютное отклонение (2.3)
было минимальным.
В этом случае многочлен ф(х) называют многочле-
ном наилучшего равномерного приближения. Доказа-
ны существование и единственность такого многочлена
для функции, непрерывной на замкнутом, ограничен-
ном множестве.
2.2.
РАЗЛОЖЕНИЕ В СТЕПЕННЫЕ РЯДЫ
Достаточно часто при вычислении значений функций
на компьютере используется разложение их в степенные
ряды. Так, например, хорошо известна аппроксимация
sin х степенным рядом:
уЗ у5 у7
sinx = Х- — +
3! 5! 7!
Погрешность такой аппроксимации определяется упо-
минавшимися в предыдущем разделе погрешностями усе-
чения и округления. Погрешность усечения сильно зави-
сит от значения аргумента и растет с его ростом, т. е.
неравномерно распределена по исследуемому интервалу.
Одним из способов, позволяющим равномерно распреде-
лить ошибку по всему интервалу, является использова-
ние многочленов Чебышева
Тп(х) = i[(x + -7x2 -1) + (х - Vx2 -1) ],
ортогональных на отрезке [-1, 1], п = 0, 1... На практи-
ке часто используют многочлены Чебышева для повыше-
ния точности аппроксимации функций с помощью ряда
Тейлора. Вычислим для примера функцию sin х на стан-
дартном отрезке [-1, 1]. В этом случае ряд для sin х
приводится к виду
лх _ их 1 (лх') , 1 (ЛХ^
2 2 3!I 2 J 511 2 J
30
31
При таком вычислении погрешность сильно возр
тает к концам отрезка х = ±1. Если же использовать р
Sin I j = Cq + d71 (х) + С2?2 (-Г) + • • • ,
Рис. 3
Аппроксимация рядами
Тейлора и Чебышева
членами которого являют
многочлены Чебышева,
погрешность будет равг.
мерно распределена по все-
му отрезку (рис. 3).
При построении равно-
мерных приближений ана-
литических функций хоро.
шие результаты дают так
называемые аппроксимации
Паде, основанные на использовании дробно-рациональ-
ных функций. При построении аппроксимации Паде для
функции и(х) сначала строится ее ряд Тейлора:
и(х) - > CiX’, Ci =--------—,
й Л dx>
который затем аппроксимируется дробно-рациональной
функцией вида
Fnm(x) =
Pn(x)
Qm(x)’
где n м
Pn(x) = Цапх\ Qm(x) = 22 bnxm.
n=0 т-0
Один из коэффициентов FNM(x), например Ьо, можне
положить равным 1, а остальные N + М + 1 коэффици
ентов выберем так, чтобы сохранить N + М + 1 коэффи
циентов ряда Тейлора (2.5). Из этого условия, полагал
J = N + М, находим
откуда
N+M
У CjX’ =
у=0
Ду(*)
Qm(x)
'n+M V M
у CjXi 22 b^x‘
< 7=0 J\m=0
mi
N
= 22a"x"-
n=0
(2.6
Приравнивая в (2.6) коэффициенты при одинаковь1'
степенях х, получаем систему N + М + 1 линейнь15
гебраических уравнений для нахождения ап(п = 0, 1,
2„ N), Ьт(т = 1, 2, ..., М).
Достоинство аппроксимаций Паде — высокая точность
прй относительно невысоких степенях А, М, а следова-
теЛьно, и высокая скорость вычислений. Поэтому аппро-
кСимации Паде часто используются для вычисления эле-
ментарных функций в системном программном обеспе-
чении компьютеров.
2.3.
РЕГРЕССИОННЫЙ АНАЛИЗ —
МЕТОД ВЫРАВНИВАНИЯ
Регрессионным анализом называется изучение связи
между зависимой переменной у и одной или нескольки-
ми независимыми переменными. Ограничимся случаем
одной независимой переменной х. Будем для определен-
ности полагать, что имеется некоторое множество значе-
ний независимой переменной {х;, j = 1, 2, ..., п}, извест-
ных (измеренных) точно, и соответствующее множество
значений {у;, j = 1, 2, ..., п}, которые представляют собой
искаженные случайными измерительными погрешно-
стями значения функции этих х;. Зависимость
у = <р(х, с),
где с = (с0, Ci, ..., сп) — вектор параметров функции ф,
называют регрессией у на х, компоненты с0, с1э ..., ст
вектора с — параметрами регрессии, а кривую ф(х, с) —
линией (кривой) регрессии.
Основная задача регрессионного анализа — отыска-
ние функции, которая в некотором смысле наилучшим
образом описывает (аппроксимирует) зависимость у от х.
Обычно заранее задаются видом функции ф(х, с) и отыс-
кивают компоненты вектора с — параметры регрессии.
Рассмотрим простейший случай двухпараметрических
Функций ф(х, а, Ь), т. е. предполагается, что в отсут-
ствие погрешностей
у = ф(х, а, Ъ).
Для многих часто встречающихся в физических зада-
**ах зависимостей можно подобрать такую замену пере-
енных и параметров
2-2845
33
32
X = Х(х, у), Y = Y(x, у), А = А(а, Ь), В = В(а, Ь)
что по новым переменным зависимость становится ,7.
нейной вида
Y = АХ + В. (2,;
, Например, зависимость
у= -X—
axk + b
преобразуется к линейной (2.7) заменой переменны
X = xk, Y = х/у, А = а, В = Ъ, а зависимость у = еах „
заменой X = х, Y = 1пг/, А = а, В = Infe.
Такая замена переменных в регрессионном аналщ
называется выравниванием.
Уравнение (2.7) в /-м узле дает
Yj = АХ, + В, (2.;
где Xj = X(Xj, у^, Yj = Y(Xj, yj).
Введем обозначения
X = ±£X;, У = 1УУ,-,ст|
1 " n-l£V ’
1 n _ _ (2.!
_ n 1 j=1 _
Здесь X — среднее (по всем j) значение X, Y — сре;
нее значение Y, ст? представляет собой дисперсию X, К,
называют ковариацией X и У. (Конечно, из-за ограниче!
ности п и существования экспериментальных погреши
стей формулы (2.9) дают лишь приближенные значени:
т. е. оценки средних, дисперсии и ковариации.)
Суммируя (2.8) по всем /, находим
2.4.
МЕТОД НАИМЕНЬШИХ
КВАДРАТОВ
Как уже упоминалось ранее, метод наименьших квад-
атов состоит в минимизации квадратов отклонений зна-
чений многочлена и функции в данных точках (2.2):
п п
s = = £[<?(*/, Со, Q, ..., cm)-yi]2. (2.11)
i=0 i=0
Параметры c0, clf ..., cm найдем из условия минимума
функции S(e0, с^, ..., ст).
Если отклонение е; подчиняется нормальному закону
распределения, то полученные таким образом значения
параметров наиболее вероятны.
Поскольку Ci выступают в роли независимых пере-
менных функции В, то минимум найдем, приравнивая
нулю частные производные по этим переменным:
= 0,^- = 0,^- = 0,...,^- = 0, (2.12)
дс0 dct дс2 дсп
т. е. приходим к системе уравнений для определения ct.
Если в качестве аппроксимирующей функции взять мно-
гочлен (2.1), то выражение для квадратов отклонений
(2.11) примет вид:
5 = £(со + QXt + с2х2 +... + стх'п - yt)2.
i=0
Приравнивая нулю частные производные (2.12), при-
ходим к системе:
Y = АХ + В. (2Л(
Вычитая (2.10) из уравнения (2.8), получаем
Yj-Y = A(Xj-X).
Домножая последнее уравнение на (Х; - X) и сумм!
руя по j, находим Кху = Дст?, откуда получаем
с?
а затем из уравнения (2.10) В = Y - АХ.
Найдя А и В можно затем вычислить искомые пар*
метры а и & функции <р.
7^- = 2^(с0 + CiX; +... + стх'п -уь) = 0;
дсо to
~ = 2]Г (с0 + схх, +... + стхр -yt)xt = 0;
ХУ
= 2У (с0 + CiXj +... + cmxf - г/;)хр = 0.
дс^ ti
Собирая коэффициенты при неизвестных с0, clt ..., ст,
ОлУчаем систему уравнений:
34
г
35
п п пп
(n + l)c0 + C1'£jXi + c2£xf + ... + ст
i=0 i=0 *=0 i=0
n n n n n
c0£ Xi + Cl ^xf+c2^x3+... + cm^x,fn+1 = £х<#;
1=0 i=0 1=0 1=0 1=0
п
Co J X,m + Cj Y X(m+1 + C2 X *i"+2 + • • • + Cm i Xin = Z Х”Уь
1=0 1=0 1=0 1=0 i=0
Решая систему, находим неизвестные параметры <.
С1, ..., сот.
В более компактном виде можно записать:
booco + Wi + ••• + ЬОтст = а0;
ЬюСо + Ьпсг + ... + ЬХтст = ах;
ЬтО^О + Ьт1<-1 4" ••• 4” ^тт^т ^тп»
если ввести обозначения
Ъы = Xx*+l, а'л = k = °’ г’ —’
<=0 1=0
т.
2.5.
ЦИФРОВАЯ ФИЛЬТРАЦИЯ
ЭКСПЕРИМЕНТАЛЬНЫХ РЕЗУЛЬТАТОВ
При исследовании физических процессов u(t) иабж
даемые величины Uj = u(tj) обычно являются суммой и
известных точных значений й, (полезного сигнала)
случайных погрешностей (помехи) е;:
Uj=Uj+Ej. (2.1!
В таких случаях возникает задача фильтрации р
зультатов измерений, под которой понимают восстань
ление значений й на фоне помех е. При обработке эксй
риментальных результатов на компьютере для этого вр*
меняются цифровые фильтры, представляющие со^.
специальные программы, выполняющие фильтрацию!1
зультатов эксперимента.
Цифровые фильтры вычисляют отфильтрованное3
чения по формуле
й/ = F{uj+m; т = 0, ±1, ±2.
(2.*
писывающей некоторое преобразование результатов из-
мерений. Если функция F (2.14) линейная, то фильтра-
ция называется линейной; если же F — нелинейная функ-
ция т0 фильтрация называется нелинейной. Получен-
ное значение й, (2.14) принимается затем в качестве
оценки неизвестной величины и,.
При выборе функции F (2.14) обычно руководствуют-
ся некоторыми априорными соображениями о характере
функций й(0 и е(£), например, полагают, что сигнал
-до___более гладкая функция, чем помеха е(£). В даль-
нейшем ограничимся более простой линейной фильтра-
цией результатов измерений, полученных с постоянным
шагом т. В этом случае обычно используется метод наи-
меньших квадратов (параграф 2.4). Возьмем, например,
пять значений (узлов) с номерами j, j+1, j+2 и аппрокси-
мируем этот отрезок кривой u(t) квадратичной кривой
(параболой) й(<) так, чтобы отклонение
2
I = Z (uj+m- uJ+m)2 = min.
m=2
Из условия (2.15) по методу наименьших квадратов
находим три коэффициента параболы, а затем
iij = u(tj) = и, -^84uy, (2.16)
где 84u; — четвертая центральная разность u(t) в у-м узле:
84u; = «;_2 - iUj-Y + 6u.j - 4u;+1 + Uj-2. (2.17)
Из (2.16), (2.17) следует, что
й/ = ——(—3uy_2 + 12u7-i + 17uy + 12uy+i — 3uy+2). (2.18)
Такую фильтрацию называют фильтрацией при по-
мощи четвертых разностей.
Для оценки эффекта фильтрации предположим, что
все измерения и7 независимы и_имеют одинаковую сред-
неквадратичную погрешность е2 = о2. Тогда среднеквад-
ная погрешность о2 величины й, равна сумме сред-
9 1 т'Р^ичных погрешностей величин в правой части
т. е.
? = Г(32 + 122 + 172 + 122 +32) 1
(2.15)
о2=0,5о2. (2.19)
352
36
37
Следовательно, благодаря привлечению при фильтр8
ции дополнительной информации (пять узлов вместо од.
ного) среднеквадратичная погрешность снижается вдвое
экспериментальные результаты сглаживаются.
Описанное сглаживание является локальным, так i<8f
в нем используется лишь несколько узлов, соседних с j
Более сложным является глобальное сглаживание ид}
сглаживание в целом, при котором используется вся и®
формация о процессе. В качестве относительно просто^
примера глобального сглаживания рассмотрим усечен^
спектра. В этом методе с помощью быстрого преобрази
вания Фурье вычислим, как описано в разделе 1, доста.
точно большое число N коэффициентов Фурье й(п) фунц
ции u(t), где й(п) задаются формулой (1.28). Полагая
что высшие гармоники Фурье создаются помехой, оде
ним по некоторому числу 2т 1 высших гармоник сред
ний квадрат их амплитуды:
- т-1 ( N А 2 (N А 2
s°=7-Z + “ *2-2с
и отбросим (занулим) все гармоники й (п) с амплитудам
I й(п) 12 < as0, где а > 0 — некоторая величина, близка
к 1. После этого с помощью быстрого преобразована
Фурье синтезируем сглаженную функцию u(t) по ост»
шимся коэффициентам й(п).
Как показывает опыт, значительно лучшие резулы»
ты могут быть получены с помощью нелинейной филы
рации экспериментальных данных, которую называя
также адаптивной, поскольку в ней функциональная?!
висимость F (2.14) подбирается в соответствии с хараф!
ром измеряемой функции u(t). Ввиду сложности эти 4*
блемы здесь не рассматриваются.
ГЛАВА ТРЕТЬЯ
ЧИСЛЕННОЕ РЕШЕНИЕ
НЕЛИНЕЙНЫХ
АЛГЕБРАИЧЕСКИХ
УРАВНЕНИЙ
В данном разделе будут рассмотрены наиболее часто ис-
пользуемые в физических задачах методы решения не-
линейных алгебраических уравнений и систем. Их мож-
но разделить на прямые и итерационные. Прямые мето-
ды, позволяющие записать выражение для корней в виде
формулы, в большинстве практически важных физиче-
ских задач использовать не удается. Поэтому решения
ищутся методами последовательных приближений или
итерационными методами.
Итерационный метод можно разбить на два этапа:
отыскание приближенного значения корня или содержа-
щего его отрезка; уточнение приближенного значения до
заданной степени точности.
Начальное приближение может находиться из физи-
ческих соображений, из опыта решения аналогичных за-
дач, с помощью графических методов и т. д.
3.1.
УРАВНЕНИЯ
С ОДНИМ НЕИЗВЕСТНЫМ
Одной из наиболее частых задач, с которыми сталки-
Ся физик — это решение уравнений вида
f(x) = 0. (3.1)
яалось1СКаНИе K0PHe^ такого уравнения, как уже упоми-
1 оГ*’ ,п'олжно состоять из двух этапов.
Шествую/ И анализ Уравнения, позволяющий узнать, су-
ли решения, каково их количество и, возможно,
39
каковы их приближенные значения. Результатом такОч|
го рассмотрения является выделение интервалов, на kqJ
торых функция f(x) меняет знак лишь один раз.
интервалы могут быть определены математически^
или, в ряде сложных случаев, численными методами
Анализ физической основы данной задачи часто позвол
ляет сделать важные выводы, которые в дальнейшее
могут быть использованы для упрощения решения. Так:
например, при решении уравнения дисперсии D(a>, k) = о
можно рассматривать лишь решения вида го = a>(k), ко.
торые, как известно, существуют для некоторых пре,
дельных случаев, легко решаемых аналитически (k = о
или k -> <ю). Не следует начинать решение какого-либо
уравнения, предварительно не определив число и поря,
док его решений. Более того, должны быть известны и
свойства функции f(x), чтобы избежать случая, когда
изменение знака функции не соответствует корню (от-
резок [х0, Xi], рис. 4).
2. На втором этапе на каждом интервале организует-
ся поиск корня одним из методов локального поиска
корней. Необходимо помнить о своеобразии представле-
ния корня уравнения (3.1) на компьютере. При вычисле-
нии функции в окрестности ее математического нуля
практически в любом алгоритме вычитаются друг из друга
близкие величины, что ведет к росту ошибок округления;
и возможной потери точности. Таким образом, вместо^
четко выраженного пересечения оси в математических^
функциях (рис. 5, а) мы приходим к более или менее'
ограниченной области значений функции, которая опре-
деляется ошибками округления (рис. 5, б).
Таким образом, при машинном решении речь идет о
том, чтобы найти одну из точек, в которых модуль функ-
ции имеет наименьшее из возможных значение.
корню а — математическое; б — машинное.
40
Поиск корня уравнения математически осуществля-
ет пои помощи построения последовательности Коши
gl’C/i *
I } когда при заданном е существует такое N, что для
дС'ех дир превышающих N, выполняется \хп - xj < в.
3.1.1. МЕТОД ПОЛОВИННОГО ДЕЛЕНИЯ (ДИХОТОМИЯ)
Пусть известно, что на отрезке [а, &] находится иско-
лов значение корня уравнения (3.1), т. е. х е [а, 6]. В ка-
честве начального приближения возьмем середину отрезка
Рис. 6
Геометрическое представление
метода деления отрезка
пополам
Теперь исследуем значе-
ния функции Дх) на кон-
цах образовавшихся отрез-
ков [а, х0] и [х0, Ь] (рис. 6).
Выберем из них тот, на кон-
цах которого функция при-
нимает значения разного
знака, так как он и содер-
жит искомый корень. Вто-
рую половину отрезка можно не рассматривать. Затем
делим новый отрезок пополам и приходим вновь к двум
отрезкам, на концах одного из которых функция меняет
знак, т. е. содержит корень. Таким образом, после каж-
дой итерации исходный отрезок сокращается вдвое, т. е.
после п итераций он сократится в 2” раз. Процесс итера-
ций будет продолжаться до тех пор, пока значение моду-
ля функции не окажется меньше заданной точности в,
т. е. I f(xn) | < е, либо длина исследуемого отрезка станет
меньше удвоенной допустимой 5: I x„+i - хп | < 28. Тогда
в качестве приближенного значения корня можно при-
нять середину последнего отрезка 0,5(х„ + х„+1).
Как видно из сказанного, метод довольно медленный,
однако он всегда сходится к корню.
3.1.2. УДАЛЕНИЕ КОРНЕЙ
Если функция /(х) имеет на отрезке [а, &] несколько
корней x*(i = 1, 2, ...) и непрерывна на [а, &], то вспомо-
гательная функция
g(x)=
X - Х1
41
непрерывна, причем все корни функции g(x) совпадают с
корнями функции Дх), за исключением х{. Другими
словами, если на отрезке [а, Ь] функция имеет несколько
корней, то можно найти любой из них, исключить его,
перейдя к новой функции g(x), и повторить процесс на-
хождения корней этой функции. Таким образом можно
найти все корни функции Дх).
3.1.3. МЕТОД ПРОСТОЙ ИТЕРАЦИИ
Приведем исходное уравнение (3.1) к виду
х = ф(х), (3.2)
где <р(х) определяется, например, следующим способом:
<р(х) = х + р(х)Дх),
где р(х) — произвольная функция, не имеющая на [а, Ь]
корней или константа.
Метод простой итерации задается следующим алго-
ритмом:
Xn+i = ф(хп), (3.3)
где п = 0, 1, 2, ... —номер итерации.
Нам необходимо найти приближенное значение корня
х* уравнения (3.2) с относительной погрешностью £ > О
так, чтобы при п > п0(е) выполнялось следующее условие:
| х„ - х* | < е | х0 - х’ | при п > п0(е),
ИЛИ I I /о ,,
I Хп+1 - Хп\ < Е, (3.4)
т. е. результаты последовательных итераций близки.
Достаточным условием сходимости итераций являет-
ся следующее:
1<р'(хп)1 <1. (3.5)
Это условие является гарантией сходимости последо-
вательности {Xj} к решению уравнения. Оно не является
необходимым, т. е. существуют функции, для которых
это условие не выполняется, и тем не менее этот метод
приводит к решению. Рассмотрим геометрическую ин-
терпретацию метода, т. е. найдем точку пересечения двух
линий у = <р(х) и у = х (рис. 7).
42
Рис. 7 Рис. 8
Геометрическое представление Геометрическое представление
метода последовательных метода последовательных
приближений (0 < (p'( v) < 1) приближений (О > <р’(х) > _1)
Производная изображенной функции удовлетворяет
условию (3.5). Задавая начальное приближение х0, най-
дем Xi = ф(хр). Геометрически это означает, что необхо-
димо провести горизонтальную прямую через точку
(ф(х0), х0) до пересечения с прямой у = х и вертикаль-
ную через эту точку. Эта вертикальная прямая пересе-
кая ось х дает нам значение Хр Далее процесс повторя-
ется, т. е. находится следующее приближение х2 = ф(Х|)
и т. д. Из рисунка видно, что последовательность {х,}
сходится к корню х*. Изображенный на рисунке 7 слу-
чай соответствует ф'(х) > 0, когда все приближения {х,}
находятся с одной стороны от корня. Если же (р'(^) < О,
продолжая удовлетворять условию (3.5), то {х,} будут
последовательно располагаться с разных сторон от кор-
ня х* (рис. 8). Если же условие (3.5) не выполнено, т. е.
I <р'(х) | >1, то процесс расходится (рис. 9). Получим ус-
ловие (3.5) из условия сходимости последовательности
итераций (3.4).
Пусть х* — искомое значе-
ние корня, тогда из (3.2)
х* = <р(х‘),
а согласно алгоритму простой
итерации (3.3)
х„ = q^Xn-i).
Вычитая два последних
Уравнения друг из друга, имеем
~ х* = <р(хп_!) - ф(х‘).
Рис. 9
Геометрическое представле-
ние метода последователь-
ных приближений (<р'(х) > 1)
43
Умножим правую часть полученного уравнения на
Хп-1 ~ X _ £
ХП_Х - X*
тогда
„ _ г. _ <р(х„-1)~<р(х ) ( _ .
л — * ’ хЛл-1 />
Хп-1 ~ X
или согласно теореме о среднем
хп - х* = ф'(^) (х„-! - х’), где £ е [х„_1( х‘].
Если ввести некое число т = max ф'(х), то
хе[а, Ь]
| х„ - X* | < т | х„-1 - х* | •
Аналогичным образом можно получить:
| Х„_! - х* | < т | х„_2 - х* |, или
I х„ - х* | < т21 х„_2 - х* |, или
I хп - х* | < тп | х0 - х* |.
Если величина максимальной на [а, Ь] производной
т < 1, то независимо от выбора начального приближе-
ния х0 с ростом п правая часть становится малой и {х,
сходится к х*. Если же т > 1, то | хп - х* | неограниченно
возрастает с ростом п.
Методы итераций, как и большинство других итера-
ционных методов, имеют существенное достоинство -
они не накапливают ошибок вычисления, так как в этом
случае ошибки вычислений приводят лишь к ошибке на
данной итерации и, как следствие, влияют на чцрло ите-
раций, но не на точность конечного результата.
3.1.4. МЕТОД КАСАТЕЛЬНЫХ
Метод касательных (метод Ньютона) можно отнести
к аналитическим методам, в основе которых лежит заме
на исследуемой функции /(х) более простой А(х), вы-
бранной так, чтобы легко решалось уравнение
А(х) = 0. (3
Таким образом, уравнение (3.1) заменяется уравне
нием (3.6), причем на практике в качестве функции А(-г'
берут линейную
А(х) = ах + Ъ.
Геометрическая
интерпретация шага
решения уравнения.
Метод состоит в построении последовательности ко-
ординат точек (х„, уп), через которые проводятся пря-
мые, все более приближающиеся к исходной кривой /(х).
Если обозначить через Кп наклон n-й прямой, то пе-
реход от точки (хп, Уп) к точке (хп+1, ул+1) осуществляет-
ся следующим преобразованием:
Уп+1 = Лхп+1). (3.7)
Геометрически этот переход можно изобразить, как
показано на рисунке 10.
Заменяя в (3.7) Кп на производную в точке хп, т. е.
заменяя участок исследуемой кривой касательной, при-
ходим к формуле метода касательных:
хп+] = х„ - , п = 0,1, 2,...
f(xn)
Геометрически (рис. 11) в точке х0 проводится каса-
тельная к кривой /(х) и находится точка ее пересечения
с осью абсцисс.
Уравнение касательной к кривой /(х) в точке М0(х0,
f(x0)) имеет вид
(3.8)
У ~ f(x0) = /'(х0)(х - х0),
а следующее приближение хг, являющееся точкой пере-
сечения касательной с осью абсцисс, дается формулой
г - г ^Хо)
Xi — Хп-----«
Г(«о)
44
45
Аналогичным образом можно найти и приближенно]
х , -х _ ^ХЛ
' гм'
не забывая, что f'(xn) Ф 0.
Метод Ньютона можно рассматривать как частные
случай метода простой итерации. Аналогично (3.2) запц.
шем выражение для <р(х) в виде
ф(х) = х + р(х)Дх).
Будем искать функцию ср(х) такую, чтобы |<р'| был бы
минимален:
ф'(х) = 1 + р'(х)/(х) + р(х)Д (-«)•
Так как вблизи корня /(х) « 0 и поскольку мы ищем
минимальное значение модуля производной, то
ф'(х) = 1 + р(х)/'(х) = 0.
Последнее уравнение дает
Р<Х) = ~7Г“?
Г(х)
Для окончания итераци-
онного процесса могут быть
использованы следующие кри-
терии.
1. Максимальное число ите-
раций. Этот критерий необхо-
дим в случае, если методы не
сходятся. Тем не менее труд-
но заранее определить, сколь-
ко итераций будет необходи-
мо для получения удовлетво-
рительной точности.
2. Слабая вариация при-
ближения к корню:
I ^п+1 ЭСп | < £
ИЛИ | Хп+1 - хп1 < Е I Хп I .
3. Достаточно малое зна-
чение функции I f(xn) I < £.
Использование метода
Ньютона требует тщательно-
Геометрическое представле-
ние метода фиксированной
касательной
Рис. 13
Иллюстрация случая, когда
метод Ньютона не приводит
к правильному результату
Таким образом, мы приходим к окончательной фор
муле f( v
ф(х) = х--^-.
Г(х)
В этом случае условие сходимости (3.5) принимай
вид
_ f'W + Л*)Г(х) < 1
I Г(х) (/'(х))2
или преобразуя найденное условие, получаем:
I/(х)/"(х) | < (/'(х))2.
При произвольном нулевом приближении итераЦ
будут сходиться, если всюду будет выполнено получ«
ное выше условие. В противном случае сходимость бу/
лишь в некоторой окрестности корня.
Разновидностью метода Ньютона является метод Ф1
сированной касательной, когда коэффициент наклона
не меняется в ходе итераций: К = Кп - Ко = /'(Хо) ’Г1
аппроксимирующая прямая остается параллельной 1
сательной к кривой в начальной точке (рис. 12).
в окрестности корня, по-
го анализа поведения функции
скольку данный метод может дать ошибочные результа-
ты (рис. 13). Как видно из рисунка 13, в случае такого
задания начального приближения х0 метод не приводит
к правильному результату. Таким образом, метод Нью-
тона очень чувствителен к выбору начального приближе-
ния, которое должно находиться вблизи корня. Поэтому
в ряде случаев целесообразно использовать комбиниро-
ванный метод, заключающийся в использовании сначала
всегда сходящегося метода (например, дихотомии), а после
некоторого числа итераций — быстросходящегося мето-
да Ньютона.
3.1.5. МЕТОД СЕКУЩИХ
Вычисление производной функции f'(x), необходимое
методе Ньютона, не всегда удобно или возможно. Заме-
производной первой разделенной разностью, которую
Дат по двум последним итерациям (т. е. замена про-
С т Днои на секущую) приводит нас к методу, секущих.
-и зрения аналитических методов (3.6), в качестве
46
47
аппроксимирующей прямой взята прямая, проходяща ,
через две последние точки хп и хл_х, т. е. вместо Кп в
(3.7) необходимо подставить
„ /(хп) -/(Х„-1)
&п ~~ 9
Хп ~
тогда придем к формуле метода секущих:
хп+1 = хл--Х-п ——Дхл);
f(x„)-f(xn О
Уп+1 /(^п+1).
(3.9)
Метод секущих является двухшаговым методом, т. е,
требует двух начальных (разгонных) точек х0 и Хр Гра.
фически метод иллюстрируется рисунком 14.
Сначала через выбранные точки (х0, Дх0)), (xlt f(Xj))
проводим прямую до пересечения с осью абсцисс и опре-
деляем х2, а вертикальная прямая в точке х2 дает /(х2).
Далее прямая проводится через точки (хх, /(хО) и (х2, Дх2))
и т. д., пока не будет выполнено одно из трех условий
окончания итерационного процесса, изложенных при
описании метода Ньютона.
В знаменателе формулы (3.9) при приближении к
корню стоит разность двух малых чисел, вследствие чего
возможно накопление ошибки из-за потери значащих
цифр. В этом случае необходимо использовать прием Гар-
вика, заключающийся в контроле величины | xn+i - х„ I.
Если эта величина начинает расти, то нужно закончить
итерационный процесс, если же убывает, то можно про-
должать итерации.
Описанный выше метод также называют методом под-
вижней секущей, в отличие от метода фиксированной
еКудей, когда аппроксимирующая прямая остается па-
аллельной постоянному направлению АВ (рис. 15).
Р В этом случае выражение для коэффициента наклона
% в (3.7) имеет следующий вид:
_f(xi)-f(xQ)
Л.п — Л1-----------.
Х1 -х0
Этот метод является одним из самых надежных среди
аналитических методов в смысле сходимости при усло-
вии выбора начальных точек по обе стороны от корня.
3.1.6. МЕТОД ПАРАБОЛ
Выберем в качестве аппроксимирующей функции (3.6)
итерационный многочлен Ньютона второй степени, по-
строенный по трем последним итерациям:
А(х) = /(хл) + (х - xn)f(xn, Хл-х) 4-
4" (х Х„)(Х — Xn~i)f(Xn, Хл_|, Хл-2),
где f(xn, x„-i) и f(xn, xn-i, хл_2) — соответственно первая
и вторая разделенные разности. В этом случае исходное
уравнение (3.1) заменяется следующим:
az2 + bz 4-с = 0, (3.10)
где z х хп, а /(хл, хл-х, хп—2), b п(хл хл~i) 4" Дхл,
^-n-i), с = Дхл).
Таким образом, в отличие от рассмотренных ранее
других аналитических методов, аппроксимирующая функ-
ция является не линейной, а параболической.
Решение уравнения (3.10) дает два корня, меньший
из которых по абсолютной величине определяет новое
приближение хл+1 = хп 4- г.
Метод парабол является трехшаговым методом, так
как для начала счета нужно знать три начальных при-
ижения х0, Хх и х2. Достоинством метода является его
способност.!, сходиться к комплексному корню, даже если
предыдущие приближения были действительными,
дов ° ско₽ости сходимости среди аналитических мето-
паютаМЫМ ®ыстрь1м является метод Ньютона, чуть усту-
ему методы парабол и подвижной секущей, и вдвое
43
49
более медленной сходимостью обладают методы фицС(
рованных касательной и секущей, а также метод
стой итерации. Однако по числу операций, которые
обходимо выполнить для отыскания корня с задана
точностью в зависимости от вида функции /(х) и ее
изводной f{x) метод подвижной секущей может оказад
ся самым быстрым.
Таким образом, выбор между эффективными мето^
ми и методами надежными является постоянной про(Ц
мой при численном решении задач на компьютере, ,
•п+1 -xf < £, j = 1, 2, 3,
п.
СИСТЕМЫ
НЕЛИНЕЙНЫХ УРАВНЕНИЙ
Для систем нелинейных уравнений вида
Л(Х1, х2, ..., х„) = 0;
f2(Xi, х2, ..., хп) = 0;
(3.11
/п(Х1, Х2, ..., ХП) 0
практически не существует прямых методов решен®
поэтому необходимо использовать итерационные.
3.2.1. МЕТОД ПРОСТОЙ ИТЕРАЦИИ
Приведем систему (3.11) к виду:
Xi = Ф1(хъ х2, ..., х„);
х2 = <p2(xi, х2, ..., х„);
Сходимость метода сильно зависит от выбора началь-
приближения, которое должно быть достаточно близ-
ким к решению.
3.2.2. МЕТОД НЬЮТОНА
Метод Ньютона, как и для случая одного уравнения,
облаДает г°Раздо более быстрой сходимостью по сравне-
с методом простой итерации. Формулу для метода
I цьЮтона в случае системы уравнении можно получить,
[ разложив в ряд Тейлора функцию Дхь х2, ..., х„) и от-
| бросив все члены с производными выше первой. Переход
от начального приближения к последующему осуществ-
ляется по формулам:
Xi = xf + ДХ1, х2 = xj + Дх2,..., х„ = х j + Дх„. (3.12)
Разложив правые части в (3.11) в ряд Тейлора, имеем:
A(xi, х2,..., хп) « А (х j, xj,..., xj) + |^-Axi + ...+
5xi
+ Дх„ = 0;
5х„
fa(xi, х2,..., х„) « f2(Xi°, xj,..., xj) + ^-Axi +...+
ОХ1
+ J^-Ax„ =0;
дх„
Хп фп(Х1, Х2, ..., Хп),
воспользовавшись одним из описанных ранее способов (&
Тогда процесс перехода от начального приближен
xj, xj,.... xj к последующим будет осуществляться с'
дующим образом:
Xi = (pi(xf, xj,..., xj);
Х2 = ф2(хЬ xj, xj);
/п(хь Х2, ..., Хп) » fn(x%, Х%, ..., Х#) + -^-ДХ1 + ...+
5xi
, х“);
+ -^-Дх„ =0.
дхп
Или, преобразуя к более удобному виду:
^--ДХ! +^-Дх2 + ... + —Ах„ = -Й(Х!°, xj,..., xj);
’ df 8x2 8Хп
; ^f-Axi +-~^-Дх2 + ... + Ждх„ = -/2(Х?, xj,.... xj);
8X2 дх" (3.13)
Xi = ф;(Хх, Х2, ..., Xi-1, Х°, ..
х„ = фп(Х1, Х2, ..., Хп-1, xj)
Итерационный процесс продолжается до тех пор,110 ‘..............................
изменения всех неизвестных на двух последователь®1 +dfn> Qf „ , . n
итерациях не станут малыми: 1 ®х2 qx^ п /п'~ i » •’-г» •••> хп),
50
51
причем значения функции и ее производной вычисля т
ся в точках Хх0, х2°, хп°.
Определителем системы (3.13) является якобиан
аД ай
3X1 Зх2 Зх„
df2 3f2 а/2
3X1 Эх2 Зхп
dfn зд ад
3x1 Зх2 Зх„
Условием существования единственного решения на
каждой итерации является отличие определителя от нуля:
Таким образом, итерационный процесс в методе Н
тона заключается в нахождении приращений Axi,
к значениям неизвестных х?, х°. Условием завер
ния процесса является следующее:
max |Ах; | < е,
т. е. приращения достаточно малы. Как и в случае о; о
го уравнения, сходимость сильно зависит от выбора m
чального приближения, причем с ростом числа ура е
ний в системе она ухудшается.
ГЛАВА ЧЕТВЕРТАЯ
ЧИСЛЕННОЕ
ДИФФЕРЕНЦИРОВАНИЕ
И ИНТЕГРИРОВАНИЕ
4.1.
ЧИСЛЕННОЕ
ДИФФЕРЕНЦИРОВАНИЕ
По определению производной f(x) функции Дх) в точке х
называется предел следующего отношения:
y' = f'(x)= (4.1)
лх->о Дх
Если по каким-либо причинам производную от функ-
ции в данной точке аналитически найти не удается, либо
функция Дх) задана на конечном множестве точек {х,},
i = 0, 1, ..., п, то необходимо перейти к численному
дифференцированию. Естественно было бы заменить Ду
и Ах разностями значений функции и аргумента в сосед-
них узлах. Тогда вместо (4.1) имеем
(4.2)
у, ~ Ду = Дх + Ах) - Дх)
Ах Ах
Если таблица функции задана с некоторым постоян-
ным шагом аргумента h, то вводя обозначения Ау = уг- у0,
= h, yt = получим
~ (У1 “Уо)
h
Таким образом, производную в точке Xi выразили
через разность значений функции в этой точке yi и
слева от нее у0, т. е. через левые разности. Аналогично
можно поступить, выразив производную с помощью
пРавых разностей
у!=М
h
(4.3)
53
или с помощью центральных разностей
и, = У2 -Уо
У1 2А ' 4<|
Аналогичным образом можно прийти к формулам
производных более высокого порядка:
-У1 = У 2 - 2 f/i + Уо
(4.5
----
Численное дифференцирование может быть вре.
ставлено заменой функции f(x) некой аппроксимируй
щей функцией <р(х) с последующим ее дифференту
ванием <р'(х).
Заменив, например, функцию интерполяционным п0
линомом Ньютона с равноотстоящими узлами и огра®,
чившись первым членом придем к полученным ране
формулам (4.2)-(4.4). Погрешность аппроксимирован»
может быть представлена в виде
R(x) = /(х) - ф(х). (41
Продифференцировав ее нужное число раз, нахом
Rfk\x) = f(k>(x) - ф<*>(х). (4.Г
Величину №(х) будем называть погрешностью annpt
ксимации производной, так как она показывает ее ot
клонение от истинного значения.
В случае таблично заданной функции с равномерни
шагом h погрешность аппроксимации зависит от шаге
и записывается в виде O(/ife), где k — порядок аппром
мации. I
Оценим погрешность формул (4.2)-(4.4) с помоп(|
ряда Тейлора. Разложим функцию = f(xt), i = 0,1,
в ряд в точке Xj с шагом Ах = ~h. Отбросив члев
второй производной, имеем
y(xj - h) = i/(xi) - y'{xx)h + O(ft2)
Уо = У1 ~ y\xv)h + О(й2).
Преобразуем полученное выше уравнение к вид
У1 = +
h
или
Сравнивая теперь это уравнение с (4.2) приходим к
„v что аппроксимация производной с помощью ле-
ь разностей имеет первый порядок точности относи-
BfbHo шага h.
Те Заменив в разложении (4.8) шаг Ах = h, приходим к
проксимации производной правыми разностями с тем
аП порядком аппроксимации
* У'1 +
h
Если же оставить в разложении (4.8) и в соответствую-
щем ему разложении с положительным шагом Ах = h
^лены до 0(й4), то получим:
11" 71т
Уо=У1 -y'ih+^h2 +О(й4),
1 У2 = У1 ~yih + ^h2-~h3 +О(й4)- (4.10)
Л! о I
Вычитая друг из друга уравнения (4.10), приходим к
Выражению производной через центральные разности (4.4)
Г =^-^ + О(/г2),
A fl
1 имеющему второй порядок точности.
1 Складывая уравнения (4.10) получаем формулу для
„вычисления второй производной, аналогичной (4.5), с
ппроксимацией второго порядка:
I = ^0-2,г+ - + №)•
h2
Р Рассмотренная выше погрешность является упоми-
навшейся ранее погрешностью усечения ряда Тейлора,
°торая уменьшается с уменьшением шага, и определя-
тся величиной остаточного члена. Не надо, однако, за-
ывать о присутствии в наших вычислениях погрешнос-
окРУгления, которая с уменьшением шага увеличива-
ла. Поэтому для получения оптимальной точности
одимо выбрать такой шаг h, чтобы исключить вы-
Д6 е близких по величине чисел yt, задав в алгоритме
пр°ЦеДУРУ проверки |z/t - ун1| > е, где е —
Р°е малое число.
54
55
4.1.1. УЛУЧШЕНИЕ
АППРОКСИМАЦИИ
Порядок точности производных в формулах aniJj
ксимации прямо пропорционален числу узлов, исподЛ]
емых в аппроксимации. ]
Однако с ростом числа узлов соотношения становм
ся громоздкими, и растет объем вычислений. Услоя^.
ется оценка точности. Есть простой способ уточнить
шение при фиксированном числе узлов. Это метод р
ге-Ромберга.
Пусть у’(х) — производная, которую надо аппрок
мировать, <р'(х, h) — конечно-разностная аппроксим&г
этой производной на равномерной сетке с шагом h, Ц
погрешность (остаточный член) аппроксимации с гл
ным членом №г(х):
hf hp>1 ... hf+q~2
h% A.f+1 ... h%+4~2
hp hp+1 ... h(P+<I~2
1 hf ... hf+q~2
1 h% ... h^q~2
1 hP ... hP¥q~2
(4.13)
Таким образом, порядок точности возрастает на q — 1,
0 функция должна иметь непрерывные производные
достаточно высокого порядка.
R = №г{х) + O(/^+1).
Тогда в общем случае имеем:
4.1.2. ДИФФЕРЕНЦИРОВАНИЕ
СО СГЛАЖИВАНИЕМ
у'(х) = <р'(х» й) + hpr(x) + Ofh^1). (4.11
Записав то же выражение в той же точке х при дру-
гом шаге hi = kh, получим:
у'(х) = <р'(х, kh) + (kh)Pr(x) + ОС(йй)^1). (4.12
Приравнивая (4.11) и (4.12), находим выражение д:
главного члена погрешности:
й,гМ = ф-(х,|»-ф-(х.6М+
kp — 1
Подставляя теперь найденное выражение в (4.11), -
лучаем формулу Рунге:
у'(х) = <?'(х, h) + <Р'(-*’ + o(ft₽+1).
kp -1
Эта формула позволяет по результатам двух расче
значений производной <p'(x, h) и <р'(я, kh) с шагами h ®
с порядком точности р найти ее уточненное значевя
порядком точности р + 1.
Если провести расчеты с шагами hi, йг, •••’
можно получить уточненное решение для произвол
р'(х) по формуле Ромберга:
Довольно часто в физических задачах при диффе-
ренцировании исходную функцию f(x) заменяют некой
сглаженной функцией <р(х). Сглаживание, как правило,
выполняется методом наименьших квадратов. Рассмот-
рим простейший случай такого сглаживания. Пусть ли-
нейная аппроксимация <р(х) = с0 + q х дает удовлетво-
рительную точность. Тогда система уравнений (2.12) для
определения неизвестных коэффициентов с0 и сх прини-
мает вид: п
£(со+С1Х/-Ю = О;
1=0
£(с0 + CiXt - yi)xt = 0, (4.14)
i=0
ie сумма берется по всем узлам сетки х;, лежащим в
-следуемом интервале.
Определив среднее значение как
п п
x = = . (4.15)
п + 1 п+1
°%Но показать, что с0 + Сух = у , или домножив на х
(с0 + cix - у)х = 0.
56
57
Вычитая последнее уравнение из второго уравнецй
системы (4.14), имеем
ciS(xf -х2)-^(У‘х‘ -£*) = °- (4,i
i=0 >=0
Поскольку у'(х) ® ф'(х) = сь то в нашем случае
^{ytXi-yx)
У’Ы^п------------. (4;
^(xf-X2)
i=0
Используя вводимое выше определение среднего (4.15
преобразуем знаменатель и числитель (4.17) к виду
п п п
£(х2 -х2) = ^{х? + х2)-£2х2 =
i=0 i=0 i=0
= £(х? + х2) - 2х^Х; = £(х, - х)2,
i-0 i~0 i=0
и аналогично
^(l/iXi - yx) = (X; - x)(yt - y).
i=0 i=0
Тогда, окончательно для (4.14) имеем:
^(xi - x)(yi - у)
52(х;-х)2
i=0
Существуют критерии, позволяющие построить сг
живающие аппроксимации с необходимым количестг
членов. Использование такого сглаживания позвол
существенно ослабить влияние ошибок, заложении:
экспериментально заданные табличные значения ФУ
пии у(х), а также вести расчет с более крупным шаГ
или с малым числом свободных параметров.
4.1.3. ЧАСТНЫЕ ПРОИЗВОДНЫЕ
В случае функции двух переменных, заданной
цей Uy = f(xt, у,), где х, = х0 + ihr иу) = у0+ jh2, ' '
..., I; j = 0, 1, ..., J, для малых шагов hi и h2 вы[ f‘
для частных производных можно записать в вид£
f(x + h,y)-f(x,y) ди ~ f(x,y+ h2)-f(x,y)
hi ' ду h2
:И
f Ц>+1.7 ~ Ulj f __ uiJ+l ~ uij
\ dx Jij hi dyh2
Для численного дифференцирования таких функций
кже можно построить аппроксимирующие многочле-
I, Как и в случае одной переменной, построим ряд Тей-
ра, и таким образом найдем выражения для соответ-
вующих производных и порядка аппроксимации. Так,
апример, имеем для центральной производной по х
= +О^
Ли^
I для второй производной
Ц1+1,; ~ + ui-l,j
2^
+ O(h*).
Аналогично аппроксимируются производные по дру-
гой переменной.
4.2.
ЧИСЛЕННОЕ ИНТЕГРИРОВАНИЕ
Пусть на отрезке [а, Ь] в точках х0 = а, хг, ..., хп — Ь
;ана функция yt = f(xt). Нам необходимо вычислить
доделенный интеграл вида
ь
\f(x)dx. (4.18)
а
Используя определение интеграла как предел инте-
зальной суммы, имеем:
п-1
j f(x)dx = lim У )Ах;, Дх; = xM - xt,
a max Ax, ->0
X- < &
‘ - si s xj+1 — некая средняя точка интервала х;,
°%л адача интегрирования графически сводится к на-
одцо^И1° пл°Щади под графиком функции /(х) на за-
лицой °Трезке (см. рис. 16). Ось х делится на п отрезков
И на кажД°м отрезке по определенному кри-
вЬ1бирается точка и вычисляется в этой точке
58
59
у.
y = f(x)
х0 = а х, х2
x„=b X
Рис. 16
Геометрическое
представление задачи
о численном
интегрировании
(4
значение функции /(£;). Площадь определяется су
площадей полученных прямоугольников. Когда дЛй1
отрезков Дх, —> 0, сумма площадей прямоугольников
мится к значению интеграла.
Помимо табличного задания подынтегральной ф
ции задача численного интегрирования возникает
же и в том случае, если нельзя проинтегрировать ф
цию
/(x):
b
т. е.
ных
ь h
ff(x)dx = F(x) = F(b) - F(a),
a
если первообразная F(x) не выражена в элем
функциях.
Для численного интегрирования функцию f(x)
няют такой аппроксимирующей функцией <р(х),
грал от которой легко бы вычислялся. Наиболее ча
качестве аппроксимирующих выступают обобщенны
терполяционные многочлены. Поскольку такая а
' ксимация линейна относительно параметров, то ф
цию при этом заменяют неким линейным выраже!
коэффициентами которого служат значения функ
узлах: п
/r(x) = ^/(xi)®i(x) + r(x),
i=0
где r(x) — остаточный член аппроксимации.
Подставляя (4.20) в (4.18), получим
Ь п
^f(x)dx - £ф/(х;) + R,
a i=0
b Ь
q, = [ф;(х)с/х, R = [r(x)dx.
где
Формула (4.21) называется квадратурной форЛд
весами и узлами х>. Как видно из формулы.
0сЯт лйШЬ от Расположения узлов, но не от вида функ-
iS дх). Говорят, что квадратурная формула точна для
'^членов степени т, если при замене функции f(x)
о03В°льным алгебраическим многочленом степени т
^точный член становится равным нулю.
4.2.1. ИНТЕРПОЛЯЦИОННЫЕ КВАДРАТУРЫ
Аппроксимируем функцию Дх) полиномом нулевой
яеНИ f(x) = f(x0) = f0. (4.22)
Для вычисления интеграла на отрезке [a, fe] разобьем
на маленькие отрезки длиной h, а интеграл — на
му интегралов на отдельных участках.
Тогда для одного участка
Л/2
j f(x)dx - hf0,
-h/2
;д8 fa — значение функции в се-
ине отрезка. Таким образом,
ощадь криволинейной трапе-
(рис. 17) аппроксимируется
моугольником, причем функ-
я вычислена в средней
езка.
Для i-ro отрезка
х;+1
J f(x)dx - hft+1/2,
(4.23)
У = f(*>
точке
-h/2 0 h/2 x
Рис. 17
Геометрическое представление
fl+l/2 = f(a + (j + 1 /2)Л). Мет°да прямоугольников
Тогда, окончательно, значение интеграла на [а, Ь].
ъ
§f(x)dx = h(f1/2 + /3/2 + ••• + /n-i/г) + г(х). (4.24)
а
Определим остаточный член в формуле прямоуголь-
!,К°В. Пусть х
Р ~ °
р(±й/2). Так как F(0)=0, F'(0) = f0, F'(0) = f0 = f (0)
' '= f'(x), то согласно формуле Тейлора
?±1/2 = P(0 ± h 12) = F(0) ± 4f0 + %-Й ± £
& о 4o
60
61
где £± — некоторая точка отрезка [~h/2, h/2\. Однад,
формуле Ньютона-Лейбница
Л/2
J f(x)dx = Fi/2 - F-i/2 = hfo
-h/2
=hf0+^m,
Сравнивая (4.23) и (4.25), находим остаточный члев
формулы прямоугольников для одного отрезка:
«25,
। ft3 Л^) + Л^)_
24 2
Рис. 18
ГеоЯетрическое представление
метода трапеций
Геометрическое представление
метода Симпсона
На всем отрезке [а, Ь], с учетом равенства
to h
имеем
г(х) = Л2^т; (4.26)
Заменим теперь функцию f(x) в (4.18) интерполяци-
онным многочленом первой степени вида
f(x) = f0+^^-x, (4.27)
h
где f0 = f(0), fi = f{h). To есть в отличие от (4.22), где
криволинейная трапеция заменялась прямоугольником
(см. рис. 17), заменим теперь ее трапецией (рис. 18). Под-
ставив (4.27) в (4.18), получим
л
fo + fi
2
fi -fo х
h
о
и окончательно формула трапеций для всего отрезка [a, fl
ь / , , \
— + fi + А + • • • + Ar-i + —
а
(4.|
X ^2
Замена /(х) в (4.18) интерполяционным многочле^
второй степени вида
/(х) = fQ +A^lx + A-2^ + Aix2)
2h
2h2
где f-i = /("*)> /о = /(0), fi = /(Л), приводит нас к форму-
ле Симпсона (рис. 19).
Действительно, подставив (4.29) в (4.18), получим:
~h (4.30)
= 4(/-1+4/0+й).
О
Окончательное выражение для всего отрезка [a, fe]
имеет вид:
j/(x)dx = —(А + 4/i + 2/2 + 4/3 +... + 4An-i + Ап) +
+ й4(&-а) fiv^ к = Ь^а (
180 2п
Анализ остаточных членов формул (4.26), (4.28) и
М-31) показывает, что формулы прямоугольников и тра-
пеций точны для многочленов первой степени, т. е. для
’инейных функций, в то время как формула Симпсона
’инна для многочленов третьей степени.
4.2.2. КВАДРАТУРНАЯ ФОРМУЛА ГАУССА
В рассмотренных ранее формулах узлы х; были фик-
Р°ваны (расположены равномерно на [а, &]) и в квадра-
'Ураой формуле (4.21) qt — фиксированы. Тогда для по-
й ения интерполяционного полинома, аппроксими-
йЦего функцию /(х) на [а, &] остается лишь (n + 1)
ависимое условие, т. е. известные значения функции
62
63
(4.31
где
в узлах интерполяции /(х;). Таким образом, использу^!
эти условия, можно построить многочлен не выше
степени. Если же не фиксировать положение узлов, Л
следовательно, и qt, то в нашем распоряжении оказый»!
ются (2п + 2) условия, с помощью которых можно пД
строить многочлен (2п + 1)-й степени.
Так возникла :
турных формул с (n + 1) узлами формулы с таким расц J
ложением узлов х( на [а, Ь] и с такими весами qit прД
которых она точна для многочленов максимальной сте.
пени. Интуитивно ясно, что погрешность метода тем мевь.
пге, чем выше порядок многочлена, при численном ид.
тегрировании которого получается точный результат.
Приведем интеграл (4.18) к виду
6 h +1
f/(x)dx = —- J f(x)dx,
a 2-1
1 — 1
x = -(b - a)x + -(b + a).
£ XU
Далее будем рассматривать стандартный отрезок [-1,
опуская черточку над х. Пусть хг е [-1, 1], i = 0, 1, ...,
узлы интегрирования, которые требуется найти. Тогда, i
выбирать веса в виде
1
qt = | Lnii(x)dx, i = 0,1,
-i
где Lnfi(x) — коэффициенты Лагранжа для Интерпола
онного многочлена n-й степени, а в качестве узлов вв>
корни многочлена Лежандра
Х„(х) = -^-^(х2-1)%
n!2rt dxn
то полученная квадратурная формула
I
будет точна для многочленов степени (2п - 1). Это
дет квадратурной формулой Гаусса.
Построим такую квадратурную формулу для ел!
двух узлов" на отрезке f^-l, 1] (п = 2):
Х2(х) = ± --^(х2 -1)2 =°.
8 dx2
12х2-4 = 0, х12 = ±4=-
V3
Таким образом, мы определили положение узлов хг и х2,
J)Topbie расположены симметрично на отрезке [—1, 1].
.[числим теперь веса q,:
+г х х +г х х
q0 = l^^-dx = 1; qi = = 1.
Д x0 - Xi 4 Xi - Xo
Значение интеграла будет вычисляться в нашем слу-
чае по формуле
I 5>дх;) = /-4=1+/
I I IVsJ
.в, Правильный выбор узлов
заданном отрезке позволя-
>т провести аппроксимирую-
щую прямую таким образом,
-обы площади вертикально
! горизонтально заштрихо-
анных областей равнялись
м друг другу (рис. 20).
В нашем случае площа-
ипод кривой /(х) и аппрок-
имирутощей прямой на от-
ике [-1, 1] будут макси-
ально близки.
Можно показать, что узлы хг всегда расположены
амметрично относительно точки х = 0, а веса положи-
ЗДы и в симметричных точках совпадают при любом п.
ваДратурную формулу Гаусса наиболее целесообразно
Пользовать для вычисления интегралов от функций с
«окой гладкостью и при небольшом числе узлов.
У = f(x)
-1
J3
Рис. 20
Геометрическое представление
метода Гаусса с двумя
ординатами
, п,
(4
и
64
ГЛАВА ПЯТАЯ
ЧИСЛЕННЫЕ МЕТОДЫ
ЛИНЕЙНОЙ АЛГЕБРЫ
При этом надо иметь в виду, что в вычислительной
<атематике «точное решение» понимается как «решение
^чностью до погрешностей округления», т. е. как ре-
^аие, которое можно было бы получить по точным фор-
мам на идеализированном компьютере с бесконечной
_3рядностью машинного слова. В действительности, по-
^щности округления, конечно, имеются, так что пря-
vbie методы также дают приближенное решение.
рассмотрим задачу численного решения системы п
. .„дейных алгебраических уравнений:
Численные методы линейной алгебры можно условно^
делить на четыре группы: решение систем линейных
гебраических уравнений, обращение матриц, вычислен
детерминантов, решение проблемы собственных значе
Поскольку обращение матриц и вычисление детермав|
тов практически сводятся к решению систем лине“
алгебраических уравнений, основными численными
дами линейной алгебры можно считать рассматрива
в этом раздел® методы решения систем линейных
ний и решения проблемы собственных значений.
Задачи линейной алгебры составляют обширный,
рошо разработанный раздел вычислительной математв
широко используемый в физических расчетах. Размер®
возникающих при этом систем уравнений га составляет
нескольких единиц до нескольких миллионов и, kohcj
влияет на выбор метода решения. Теоретической
численных методов линейной алгебры служат теор
нейных векторных пространств и теория матриц.
5.1.
ПРЯМЫЕ МЕТОДЫ
РЕШЕНИЯ СИСТЕМ ЛИНЕЙНЫХ
АЛГЕБРАИЧЕСКИХ уравнений
Прямыми в вычислительной математике назь
численные методы, в которых:
& требующееся для решения задачи число ари<£
ческих операций можно оценить по расчетный
мулам заранее, до начала решения; jfj
решение является точным. Ш
Ж
ПцХ1 + ai2*2 +... + ainxn = bi
0-21X1 + О22Х2 + ... + О2пХп = Ьг
(5.1)
|ani*i + ап2%2 +... + апп Хп — 5Л,
которую можно короче записать в матричном виде:
Ах = Ь, (5.2)
где А — квадратная матрица размера п х га, х и b —
л-мерные векторы:
А = (ау; i, j — 1, 2, ..., га),
х = (х;; i = l,2, ..., га), b = (б;; £ = 1,2, ..., га). (5.3)
Будем полагать, что матрица А невырожденная, т. е.
детерминант | А | * О и, следовательно, решение системы
|(5.1) существует и единственно. Наиболее распространен-
®®и прямыми методами решения систем линейных ал-
^раических уравнений являются методы исключения
Ч как их часто называют, методы исключения Гаусса.
Образуем первое уравнение системы (5.1) к виду
Xi + а$х2 +... + Д1^х„ = bf’; (5.4)
(5.5)
O11 Оц
вхожая затем (5.4) на - ал и складывая с j-м урав-
= 2, 3..........п), исключим хг из всех уравнений,
СистемУ (п ~ 1) уравнений. Далее аналогично
х2, х3 и т. д. Этот процесс исключения назы-
пРямым ходом решения. Наконец, остается одно
67
66
уравнение, из которого находим хп, а затем послед^
тельно остальные неизвестные xn-i, хп_2, ..., хг; этотЭт
решения называют обратным ходом. Общие фор^у
прямого хода имеют вид:
<№ =^/а^ + (5.
&W = (i > k +1);
(k = 1, 2,п), а™ = аи, b[°> = (г,/ = 1, 2,П). '
Здесь формулы (5.6) — коэффициенты в самом верх
нем уравнении на /г-м шаге исключения, формулы (5.7)
остальные коэффициенты. В результате прямого ход
матрица А приводится к верхней треугольной матрице i
система (5.1) приобретает вид:
1 а(1) “12 aW “13 • • • “1п *1
0 1 а(2) “23 ... а<2) а2п Х2
0 0 1 ... а(3) а3п х3 = (ЭД
0 0 0 ... 1 хп. ,е.
В результате обратного хода
xt = bi{) ~ 2L алх* (i = n,n-l,.... 1) (5.9)
k=i+l
находятся все неизвестные.
Описанный алгоритм иногда называют схемой <еди»
ственного деления», а элемент а^1, на который произво
дится деление в формулах (5.6) — ведущим элементе»
Если очередной ведущий элемент окажется нулевы*
решение прерывается; если же ведущий элемент буД
близок к 0, решение продолжится, но погрешность >
жет сильно возрасти. Назовем главным максимальв1
по модулю элемент матрицы. Для устранения Ука3‘
ных выше трудностей рекомендуется на каждом ,
прямого хода исключать неизвестное при главном эв
менте. Такой метод, называемый методом исключеЯИД
выбором главных элементов, имеет меньшую п0Г₽я
ность, но более сложный алгоритм и большую Дл’’
ность счета из-за поиска главных элементов.
68
Представим теперь матрицу А в факторизованном
*йде: A = LU, (5.10)
где L — нижняя треугольная матрица, U — верхняя тре-
угольная матрица с единицами вдоль главной диагонали:
hi 0 ... 0 1 ^12 • •• П1Л
hi h2 ... 0 0 1 . •• П2п
I = . . . , и = • (5.П)
1п2 ... ^пп _ 0 0 . .. 1
Элементы матриц L и U находятся из матричного
уравнения (5.10). После этого исходная система (5.2) сво-
дится к последовательному решению двух систем
Ly = Ь-, (5.12)
Ux = у (5.13)
с треугольными матрицами.
Введем расширенные матрицы, дополняя А и U еще
одним столбцом:
А + &, ait „+1 = bhU + у, ut, n+1 = у,. (5.14)
Решение выполняется по формулам:
7-1
hi = amj - ^ImkUkj (j = 1, 2,..., п; т = j, j +1,..., п); (5.15)
Л=1
( 1-1 А
П/m — ttim ~~ / 4 hk^km / hi (j = 1, 2, ..., ТГ,
I Л=1 ) (5.16)
т = i4-l, 1 + 2,..., п + 1);
Xi = Ui,n+1 - и*х* (г = п,п-1.....1). (5.17)
k=i+l
Формулы (5.15), (5.16) описывают факторизацию
матрицы А и решение уравнения (5.12) (прямой ход),
Формула (5.17) — решение уравнения (5.13) (обратный
Х°^‘ Алгоритм решения показан на рисунке 21. Описан-
вый метод называют методом факторизации, схемой Ха-
ВеЦкого (Холесского) или компактной схемой Гаусса. Ре-
ЩбйИа г>___
отим методом также встречается с трудностями,
-Формуле (5.16) Ь=0.
69
Прямой ход
Нет
Счет столбец L)
по формуле (5.15)
Счет uim (i-я строка U)
по формуле (5.16)
формуле 75.7 7JI
Обратный
ход г-
Рис. 21
Схема алгоритма метода
факторизации
Рис. 22
Схема алгоритма метода
квадратных корней
В физических задачах очень часто встречаются систе-
мы линейных алгебраических уравнений с симметрич-
ной матрицей А:
А = Ат, aij = ajt (i, j = 1, 2, и) (5.18)
I
(значок T означает транспонирование). Для таких си-
стем наиболее эффективным прямым методом является
метод квадратных корней, представляющий собой разно-
видность метода факторизации. В этом методе матрица^
разлагается в произведение
А = STS, (5.19)
где S — верхняя треугольная матрица с нулями ниже
главной диагонали. Из матричного уравнения (5.19) на-
ходим: 1/2
SU (i = l, 2, ...,n), (5.20)
k *=i 7
' i-1 \
s4 = aij -'XjSk.Skj l/s.i, (j < j), Sij = 0 (i > j), (5.21)
k *=i )
а затем из уравнений
STi/ = b, Sx = у (5‘2®
улучаем . _x
yt = Ь; - ^skiyk /su (i = 1, 2,..., n), (5.23)
V k=l J
Xi
n \
yi - Sikxk /sw (i = n, n -1,
A=i+1 )
1). (5.24)
Алгоритм решения показан на рисунке 22.
Решение методом квадратных корней может быть вы-
полнено в пространстве действительных чисел, если все
подкоренные выражения в формуле (5.20) положитель-
ны, что в свою очередь, обеспечивается положительной
определенностью матрицы А.
В физических приложениях иногда встречаются пе-
реопределенные системы линейных алгебраических урав-
нений:
Ах -Ь, А = (а^; i = 1, 2,..., т; j = 1, 2,..., и);
х = (хп х2,..., xn), b = (bi, b2,..., bm), (5.25)
когда число уравнений т больше числа неизвестных п,
А — прямоугольная матрица с т строками и п столбца-
ми (п < т). Решение системы (5.25) возможно лишь в
среднеквадратичном смысле, т. е. из условия минимума
среднеквадратичной погрешности
I = ||Ах - b II* I 2 = (Ах - Ъ, Ах - Ь) — min. (5.26)
Составленная в соответствии с методом наименьший
квадратов (параграф 2.4) система уравнений
^~ = 0(i = 1,2,...,«) (5.27)
приводится к системе п линейных алгебраических урав-
нений
АТАх = АГЬ (5.28)
с Квадратной, симметричной и положительно определен-
ий матрицей АТА размера п х п. Система (5.28) затем
бается одним из рассмотренных выше методов, на-
а₽имер, методом квадратных корней.
dce прямые методы решения систем п линейных ал-
Ге®Раических уравнений требуют О(п3 * S) арифметических
71
70
операций и О(п2) ячеек памяти для хранения промеру,
точных результатов. Эти свойства, в особенности послед,
нее, обычно ограничивают применимость прямых мето-
дов значениями п < 103.
Кроме того, большое число О(п3) арифметических оце.
раций может приводить к значительному накоплению
вычислительных погрешностей, которые в прямых мето-
дах никак не корректируются. Поэтому погрешность пря-
мых методов, формально являющихся точными, часто
оказывается выше, чем итерационных, рассматриваемых
в следующем разделе.
5.2.
ИТЕРАЦИОННЫЕ МЕТОДЫ
РЕШЕНИЯ СИСТЕМ ЛИНЕЙНЫХ
АЛГЕБРАИЧЕСКИХ УРАВНЕНИЙ
Итерационными называются численные методы, о
ладающие следующими особенностями:
3 решение находится с помощью последовательных пр
ближений — итераций, начиная с некоторого началь-
ного приближения («0-й итерации»), которое должно
быть задано (выбрано) заранее;
Ж решение является приближенным, но с любой задан-
ной погрешностью;
Ж требуемое для достижения заданной погрешности чис-
ло итераций, а следовательно, и число арифметиче-
ских операций определяется в ходе счета и заранее не
известно.
Итерационные методы обычно устойчивее прямых к
погрешностям округлений, так как эти погрешности по-
стоянно корректируются в ходе итераций наряду с други-
ми типами погрешностей. Различают одношаговые и много-
шаговые итерационные методы. В одношаговых методах
для вычисления очередной итерации достаточно знания
одной, предыдущей итерации, тогда как в многошагов
методах используются несколько предыдущих итеран
Одношаговые итерационные методы решения сис
мы уравнений (5.2) можно записать в общей, так назыв
мой канонической форме:
ВОТ xW ~ х(А-1>. + Ах^-^ = Ь (fe = 1, 2, ...)• <5,
Здесь k — номер итерации, хУ» — начальное прибли-
зив, а матрицы Bw и числа тА, называемые итераци-
^дЫМ параметром, задают тот или иной итерационный
°родесс. Очередное приближение xw находится из урав-
I йе0Ия
Г B^k)x^ = g<k\ = (Bw - тЛ)^*”1’ + чЬ (5.30)
fr* х(й) = (ВИ)-1^*) = C(ft)x(ft-1) + т^В^У^Ь, (5.31)
I С'*> = Е - т^В^А, (5.32)
,,е £ — единичная матрица.
Обозначим х — точное решение,
е(А) _ д.(ю _ х (5.33)
_ погрешность на fe-й итерации.
Итерационный процесс (5.31) сходится, если
lim|p»| = 0; (5.34)
д нормой ||-|| здесь будем понимать среднеквадратичную
Орму / п 41/2
М= =(“’И)1/2. (5.35)
\i=l )
Так как точное решение х неизвестно, о величине
погрешности приходится судить по невязке
= Ax(ft) -bk, (5.36)
'вязанной с погрешностью е(/° равенством
(5.37)
Подставляя в (5.31) х = х + е находим, что погреш-
яость и невязку на соседних итерациях в одношаговых
МетоДах связаны равенствами
еИ = (ЭДМ (5.38)
Считывая, что |]Се|| < ||С|| ||е||, находим из (5.38) доста-
йое Условие сходимости итерационного процесса (5.31):
||С<*>|[ < р < 1 (fe = 1, 2, ...). (5.39)
Не^Й ЭТом ноРма погрешности убывает не мед-
, ’ Чем со скоростью геометрической прогрессии со
ателем р. Такая сходимость называется линейной.
72
73
Если все матрицы = Е (k = 1, 2, ...)> итера1ц1
ный метод называется явным, в противном случае
называется неявным. В неявных методах матриц^|
должны, конечно, обращаться легче, чем А, иначе!
пользование итерационного метода теряет смысл. ъ1
= В, Tfe = т, т. е. не зависят от k, метод называл
стационарным, иначе — нестационарным. Нестацио^
ный метод называется циклическим, если B(fc) и xk ЦОв
ряются с некоторым периодом К.
В дальнейшем ограничимся наиболее распростра1!
ным в физических задачах случаем, когда А — симм
ричная, положительно определенная матрица. Ддя
ких матриц стационарный одношаговый итерациощ .
Ь 4‘, =-E^ri)/ea+We»a = l,2,...,n). (5.44)
L условия (5.41), принимающего в данном случае
Г7 + U < D, следует, что метод Якоби сходится, если
Сца А обладает диагональным преобладанием, т. е.
Г ап > ХЫО = 1, 2,.... и) (5.45)
диагональные элементы > 0, так как матрица А
икительно определенная).
1олагая в (5.40) В — D + L, т = 1, получаем итераци-
ей метод Зейделя
х<*> = -Z)-1(LXW + J7x(*-D - b), (5.46)
процесс
BxW-x^ + Ax(fe-1)=Mft = i,2,...) (Ц
сходится, если
В - 0,5тА > 0, (5.41
где неравенство вида С > 0 означает, что матрица!
который в компонентах имеет вид
Xik) = -«Л1 fcoi/Xp’ + £ ацх^ - bt
V=i j=i+i ,
(5.47)
положительно определенная, т. е. квадратичная фор»
(Си, и) > 0 для всех и 0.
Обобщением метода Зейделя является метод последо-
ительной верхней релаксации
х™ = (1 - ©)x<*_1> - (bD'^Lx™ + Ux^-V - b), (5.48)
Представим матрицу А в виде
А = L + D + U,
где L — нижняя, a U — верхняя треугольные матриц»
которой получается из (5.40) при В = D + юХ, т = го, где
о > 0 — релаксационный параметр, и в компонентах за-
писывается в виде
^Mi-rojxp-1»
Хаухр) + а^х^
7=1 7=i+l
(i = 1, 2,..., и).
~bt
(5.49)
Релаксацию по формуле (5.49) называют поточечной,
как она последовательно выполняется по точкам (i, /).
метод сходится при 0 < го < 2; отсюда, в частности,
бедует, что сходится и метод Зейделя (5.46), который
"чается из (5.48) при го = 1.
3 явных методах В — Е,
Полагая в канонической форме (5.40) В = 1,
получаем итерационный метод Якоби, имеющий >
понентах вид ’ 1
-------------+ Ах™ =b (fe = 1, 2,...) (5.50)
оенства (5.38) несколько упрощаются:
£(*) = е(А) —
Cm ^E-TkA (fe = 1, 2, ...). (5.51)
юаЛ1
74
75
Стационарный явный метод
xW~x(fc-1) + Ах«~" = Ь, х® = Сх<*+ тй {5 ,
т 'Ц
(С = Е - тА; k = 1, 2, ...)
называется простой итерацией. Необходимое и доста^
ное условие сходимости простых итераций:
О < т < 2/Хтах(А), (5
где Хтах(А) — максимальное собственное значение цОл
жительно определенной матрицы А.
Практически удобнее пользоваться достаточным у,
ловием сходимости (5.39), которое для простых ите
ций принимает вид
цен < р < 1, (5:
где ||С|| — любая норма матрицы С, например:
п
ИсИ = Е§1Су1- а-
Более общим является нестационарный явный ите
ционный метод Ричардсона (5.50) с переменным ите
ционным параметром rk (k = 1, 2, ...).
Начальное приближение х(0) в итерационных мето
может быть выбрано произвольно, например, можно
нять х(0) = 0 или х(0> = Ь. Итерации проводятся до в
нения одного из условий:
niaxjxp* - хр-1)| < 8; ||^м|| < 8; k > k^, (
где 8 — заданная малая величина, fcmax — предо
число итераций. Число арифметических операций в
рационных методах имеет порядок O(n2k), где k — чИ
выполненных итераций. Скорость сходимости итер
S оценивают по формуле
S = -1п(||$<*>||/||£<*-1>||). (5'
Оценка (5.57) является асимптотической, т. е. ею
но пользоваться при k 1, когда уже выполнено
итераций; при этом величина 1/S представляет с
число итераций, требующееся для уменьшения 00
невязки в е раз.
Асимптотическая скорость сходимости S в решающей
^пени определяется обусловленностью матрицы А, ко-
^рую можно характеризовать числом обусловленности
р = ||А|| ||А-1|| = Xmax(A)/Xmin(A), (5.58)
где Xmax(^)> ^min(A) — границы спектра собственных зна-
чений матрицы А. Предположим сначала, что известна
1Йшь верхняя граница спектра 7.тах(А). Полагая в методе
простых итераций (5.52) т = 1/1тах(А), можно найти, что
асимптотическая скорость сходимости S = 1/р. Для пло-
хо обусловленных, т. е. близких к вырожденным матриц
р>1 и сходимость простых итераций будет очень мед-
ленной.
Если известна и нижняя граница спектра A.min(A), то
оптимальную скорость сходимости S = 2/р метода про-
стых итераций (5.52) можно получить при
т = то = 2/{/max(A) + U(A)]. (5.59)
Метод простых итераций (5.52) с итерационным па-
раметром т0 (5.59) иногда называют методом смещений.
Такой же скоростью сходимости обладает и метод Зейде-
ля (5.46), причем для его использования не требуется
знание границ спектра. Для циклического варианта ме-
тода Ричардсона (5.50) можно подобрать оптимальный
набор итерационных параметров:
- 2 / [Xшах (А) + ^min (А) +
+ ^max(A)-Xmln(A))cOS^-^l (k = 1, 2, ..., К) (5’60>
который при К » 1 обеспечивает высокую асимптоти-
ческую скорость сходимости S = 2/yip. Поскольку при
вхождении набора (5.60) использубтся теория полино-
мов Чебышева, его называют чебышевским. При этом
ПаРаметры гк из набора (5.60) следует перебирать не по
взрастанию номера k, а в некотором строго определен-
а°м порядке для обеспечения вычислительной устой-
чивости.
В методе последовательной верхней релаксации (5.48)
И£е можно получить быструю асимптотическую схо-
°сть со скоростью S = i/'lp при оптимальном значе-
Релаксационного параметра
76
77
2
1 + yll-^(D~1<L+U')) ’ (5’61
Входящее в формулу (5.61) максимальное собствен
ное значение матрицы D^L + U) можно вычислить 3j
ранее, пользуясь методами, изложенными в следующ^
разделе, или получить его асимптотическую (при k i
оценку непосредственно в ходе итераций по формуле
-|1/2
(5.62j
= Р*’ -Х(*-1’|/|р*-1’ - Х<*-2)|| =
п п
= Кхр’-хГ’)2/!
_i=i i=j
используя затем это значение в (5.61).
Отдельную группу составляют вариационные веста,
ционарные методы решения систем линейных алгебрад.
ческих уравнений. В этих методах решение системы (5,2;
заменяется эквивалентной задачей поиска нулевого ми
нимума некоторого квадратичного функционала типа
(5.26). Так, в методе минимальных невязок
x(k) = х(*-1) _ Х/д(*-1) (* = 1,2,...) (5.63)
итерационный параметр хк выбирается из условия мини
мизации равным
т* = |^(*-1’£ /Ца^*-1’!2 (k = 1, 2,...), (5.64)
где обозначение вида ||и||А — так называемая А-норма:
||и||А = (Аи, и)1/2. (5.65)
Хотя асимптотическая скорость сходимости этого ме-
тода S = 2/р такая же, как метода Зейделя или метод»
смещений, он обеспечивает быструю сходимость на на
чальных итерациях и рекомендуется к применению ®
начальном этапе итерационного процесса.
В явном вариационном методе скорейшего спуска вид1
(5.50) выбираемый из условия минимизации ||s(*’liA ите
рационный параметр
^=k*-i)i2/h<*-i)ii <5-66
обеспечивает уменьшение ||e(*’||A со скоростью геомеТ₽8
ческой прогрессии (т. е. линейное):
78
р)|| < р§ |р°>||А , Ро = и = 1 = ~(5.67)
11 1Л 1 + П Р >ьтах(А)
При k 3> 1 можно на каждой итерации уточнять по-
денное методом простых итераций приближение xw,
'^еняя его уточненной величиной
-Хтах(О], (5.68)
где Хтах(С) — максимальное собственное значение матри-
U С - Е - тА. Такое уточнение называют ускорением
сходимости итераций «по Люстернику». Если значение
^(С) неизвестно, оно может оцениваться непосредствен-
но в ходе итераций. Это приводит к уточненной оценке
компонент fe-й итерации:
х<*> =
xp^p^-fxp-1’)2
х^-2х^ + х^
(i = 1,2,...»п; k »1). (5.69)
Такое уточнение называют «82-процессом Эйткена».
Уточнения (5.68), (5.69) могут заметно ускорить итера-
ционный процесс, однако при A.max(C) ~ 1 эти формулы
близки к машинной неопределенности вида 0/0 и ими
следует пользоваться с осторожностью.
В формуле (5.69) используется уже не одна, а две
предыдущие итерации, так что она относится к двухша-
говым методам. Рассмотрим неявные двухшаговые ите-
рационные методы вида
r*w -x<*-i) + (1 - а^Хх^-1) - x(ft~2)) + Ax(fe_i) = ъ
№ (5.70)
(k = 2, 3,...),
В — симметричная, положительно определенная мат-
МЦа; Tft, ak — итерационные параметры. Очередное при-
нижение находится по формулам:
= сцх**-1’ + (1 - ak)x{k~^ - Xkd-kW^-^;
= -^-1) = Ах(^1) _ъ (fe = 2, 3,...).
Для начала итерационного процесса (5.71) необходи-
х<0)> х*1’; х(°) по-прежнему выбирается произвольно, а
Находится по одношаговой формуле, которая получа-
я из (5.71) при k = 1, ах = 1. Двухшаговые методы
79
требуют дополнительной памяти компьютера для xpait
ния x(fc-2), но зато при правильном выборе итерационна'
параметров могут обеспечить более быструю сходимосц.
чем одношаговые.
Наиболее распространенным двухшаговым методов
является вариационный метод сопряженных градиентЛ
В этом методе из условия минимизации ||е<А)||А итерай!
онные параметры на каждой итерации определяются nJ
формулам:
Tfc = (w(k 1), с,(к l)) / (Aw(k 1), w(k 1J) (fe = 1, 2, ...); (5.72)
ах = 1; (5.73)
(k = 2, 3,...). (5.74)
= (k = 0, 1, 2,
xh (1Г<*-й,^-1)) '•
(Au/*“2), w(ft-2))
а* = 1-
Показано, что метод сопряженных градиентов дает
точное решение системы (5.2) за п итераций, т. е. он
может при этом считаться прямым методом. Если же
фактически выполненное число итераций 1 k < п, то
асимптотическая скорость сходимости метода не хуже,
чем у одношагового метода с чебышевским набором па-
раметров, но в отличие от последнего, в нем не требуется
знание границ спектра собственных значений матрицы А
В целом, итерационные методы позволяют достаточно
эффективно решать большие системы линейных алгебраи-
ческих уравнений и поэтому применимы для п < Ю6.
5.3.
ЧИСЛЕННЫЕ МЕТОДЫ
РЕШЕНИЯ ПРОБЛЕМЫ
СОБСТВЕННЫХ ЗНАЧЕНИЙ
Проблемой собственных значений называют задач,
нахождения собственных значений Z. и собственных в»
торов х квадратной матрицы А из однородного уравнейЯ
Ах = кк.
Различают частичную и полную проблемы собств
ных значений. Частичной называют проблему нах<х
ния некоторой части собственных значений матриД61
например, максимального по модулю, двух макс»51
ных по модулю, максимального и минимального
80
I яенньгх значений и т. и., а также, возможно, соответ-
I йуЮШих собственных векторов. Полной называют про-
КеМУ нахождения всех собственных значений, а иногда
те и всех собственных векторов матрицы А.
рассмотрим сначала более простую частичную пробле-
1 , полагая, что матрица А имеет полную систему (базис)
Гримированных собственных векторов (i = 1, 2, .... п),
Р^ляющихся решением задачи
Aei = к eh (eit е^2 = ||еД| =1 (i = 1, 2, ..?, п). (5.76)
Такой базис существует, например, если А — сим-
метричная матрица. (Заметим, что действительная сим-
метричная матрица имеет действительные собственные
значения.) Предположим, что максимальное по модулю
собственное значение Аг — простое, т. е. является про-
стым корнем характеристического уравнения
|А - АВ| =0. (5.77)
Это, в частности, справедливо для действительной
матрицы с положительными элементами. Тогда А, можно
найти с помощью итерационного процесса, называемого
степенным методом:
= (х<к~», х^)1'2, = х<к~» /||.
[х<*> = Ае’*-1’, А<*> = (х<*>, e<fe1») (k = 1, 2,
где fe — номер итерации; в качестве х(0) принимается
произвольный, например случайный, вектор. При k -> оо
। итерационный процесс (5.78) сходится линейно, т. е.
1 -> At с погрешностью, убывающей со скоростью гео-
етрической прогрессии со знаменателем | A2/At I, где А2 —
1еДУющее по модулю собственное значение матрицы А.
Если А2 также простое, его можно затем найти, орга-
|13уя аналогичный (5.78) итерационный процесс для век-
ра х*** - А1х(*'1), однако погрешность при этом значи-
ьно возрастает. Далее можно аналогично вычислить А3,
кратность станет еще больше и т. д. Пусть теперь
1МА)| > |А2(А)| >... > |АП(А)|. (5.79)
(ЛЛя нахождения максимального и минимального (в ал-
аическом смысле) собственных значений матрицы А
^•max(A) = max АДА), Xmjn( А) = min АДА) (5.80)
(5.78)
«5
81
найдем описанным выше методом максимальные ц0
дулю собственные значения ХДА) матрицы А и
рицы
В = А - Xi(A)£. (5
Можно показать, что
l^-max(A) = Х](А), A.nun(A) = Х1(А) + Х.1(В) (Xi(A)>0);
Umin(A) = k1(A), Xmax(A) = X1(A) + X1(B) (ЦА)<0). (Ч
Перейдем теперь к существенно более сложной ц01
ной проблеме собственных значений. При относитель»
небольших значениях п < 20 можно непосредственно ца
ходить корни характеристического полинома
Р„(Х) = |А - ХЕ\
степени п. В методе интерполяции, например, для этой
выбираются п + 1 произвольных различных значений А
вычисляются Pn(Ai) и по значениям (Аг, Рп(А); i = о, 1
..., п) строится интерполяционный многочлен n-й степе-
ни, который в силу единственности будет всюду совпа-
дать с РП(Х). Собственные значения А,(А) находятся зато
как корни этого интерполяционного многочлена; наиболее
удобным при этом является метод парабол (подпараграф
3.1.6), позволяющий отыскивать и комплексные корни
В методе вращений, пригодном только для симметрич-
ных матриц, матрица А последовательно преобразуется в
диагональному виду с помощью преобразований подоби
А‘*> = (TV.П (k = 1, 2, ...), А<°> = А, (5.83)
где T(i’h — ортогональные матрицы, имеющие структур?
= Z(U) = cog(p> Z(U) = j (ft £ у);
= -tj‘,J) = sinep
(остальные элементы нулевые), обладающие свойстве
(уо. Л)-1 = (уч-, Л)Т (5
и называемые матрицами вращения. Поскольку ма
цы А(/е* (k = 0, 1, 2, ...) связаны преобразованием под
(5.83), они имеют одинаковые собственные значения,
чение <р в (5.84) можно подобрать так, что внедиаго
ные элементы aif = матрицы А в результате преоо
вания (5.83) обращаются в нуль. После преобраз°в
^агональному виду, вдоль главной диагонали будут
L 1 Полагаться собственные значения А.;(А) (i = 1, 2, ..., п).
большей общностью обладают LR- и QR-алгоритмы,
ценимые для действительных и комплексных систем
самосопряженными матрицами А, имеющими комп-
с кСные собственные значения. В LR-алгоритме, предло-
^евй°м Рутисхаузером, строится итерационный процесс
= £(*-1)^-1), А(0) = А. (5.86)
= 1( 2, ...), (5.87)
в котором в качестве первого этапа (5.86) матрица А(А-1’
факторизуется в произведение левой треугольной матри-
ца с 1 на главной диагонали и правой тре-
пальной матрицы R**'1* (right) с отличными от 1 элемен-
тами на главной диагонали. Разложение (5.86) выполня-
ется аналогично разложению в методе факторизации
(параграф 5.1). Матрицы Aw (k = 0, 1, 2, ...) связаны
преобразованием подобия (5.87). Доказано, что
limIP* = Е, limA(** = /?<**, (5.88)
/г->оо fe->oo k * 7
так что в пределе k -> оо матрица А,к) приводится к пра-
вой треугольной матрице с собственными значениями
1(A) вдоль главной диагонали.
В QR-алгоритме Френсиса и Кублановской строится
процесс
A**"1* = А(0) = А; (5.89)
А<‘> = R(fe-i)Q(k-i) = (Q(fr-D)+A(A 1)Q(A-1) (k = ls 2, ...),(5.90)
где Я***1* — правая треугольная матрица, Q(ft-1* — уни-
тарная матрица, т. е. матрица, обладающая свойством
Q1 =Q+,gJ;1) = 9д (i, / = 1, 2,..., п), (5.91)
эле-
обратной матрицы, * — комплексно-сопряженную
•‘Ичину. Здесь, в силу унитарности (5.91), матрицы А(/,)
~ 0» 1, ...) также связаны преобразованием подобия
'*), так что набор их собственных значений сохраня-
Доказано, что при k -> оо матрица Q(A* стремится к
’г°нальной, так что в пределе k -> оо собственные
®ния >.,(А) легко находятся из (5.89). LR- и QR-алго-
Ь1 Наиболее эффективно решают полную проблему соб-
ЙЬ1Х значений. Их применимость ограничивается.
ач°к «+» означает сопряженную матрицу, (-1) —
НТЫ *
82
83
в основном, емкостью оперативной памяти компьютепЛ!
ее увеличением эти алгоритмы могут стать основным^
После нахождения собственных значений А.;(А), Со'
ветствующие собственные векторы матрицы А могут бц
формально вычислены из однородного уравнения Ть
(А - kt(A)E)x = 0 = ..., п). (5 92)
Однако из-за того, что собственные значения Хг(Д) Ва^
дены с погрешностью, детерминант | А - к,(А)Е I систе^
(5.92) оказывается отличным от 0, так что (5.92) буд^
иметь лишь тривиальное нулевое решение. Поэтому
то (5.92) решается уравнение
(А - kt(A)E)x = Ь, (5.93)
где Ь — произвольный, например случайный вектор,
казано, что получаемое таким методом, называемым ме-
тодом обратных итераций, решение х приблизительно
равно i-му собственному вектору матрицы А.
5.4.
ПРИМЕНЕНИЕ 11
В ФИЗИЧЕСКИХ ЗАДАЧАХ Я!
Наиболее часто задачи линейной алгебры возникают
при аппроксимации линейных физических процессов,
определенных в некоторой пространственно-временной
области, дискретными (сеточными) процессами, опреде-
ленными в узлах конечной пространственно-временной
сетки. Таковы, например, задачи решения обыкновея-
ных дифференциальных уравнений, уравнений в част-
ных производных, интегральных уравнений. Пусть, на-
П₽ИМеР’ Lu(r) = -f(f)(feV)
— не зависящее от времени дифференциальное уравне-
ние с линейным дифференциальным оператором L, опре-
деленное в области V (г — радиус-вектор). Вводя в
некоторую сетку и заменяя производные в оператор6
некоторыми конечно-разностными выражениями, -м0,
но привести уравнение (5.94) к системе линейных алг^
раических уравнений относительно значений фУнкПЙ ,
в узлах сетки. Размерность этой системы п равна 4
сеточных узлов, в которых отыскивается решение,11
стро увеличивается с ростом размерности области
Вместо таких конечно-разностных методов можно так-
использовать метод, называемый методом Галеркина.
g этом методе решение уравнения (5.94) отыскивается в
3иДе обобщенного полинома
м(г) = (5.95)
i=i
-де Ф/^)— заданные функции, а с; (у = 1,2, ..., п) —
‘.оЭффициенты, которые находятся из системы линей-
ных алгебраических уравнений
(Lu + f, срЭ = 0 (i = 1,2, .... n), (5.96)
имеющей вид
Ac = b,A = (atj), atj = (<pi,Lcpy) (i, j = 1, 2.n);
c = (ci,...» cn), b = (bi,--,bn), (5.97)
bi = -(f, <pi) (i = 1, 2,..., n).
Здесь круглые скобки означают скалярное произве-
дение вида
(v,w)= ] vwdr. (5.98)
(И
Достаточно полно эти методы рассматриваются в сле-
дующих разделах. Системы линейных алгебраических
уравнений возникали также в уже рассмотренных в гла-
вах 2 и 4 задачах интерполирования, аппроксимирова-
ния, численного интегрирования и дифференцирования.
При исследовании стационарных колебательных и вол-
новых процессов в механических, электродинамических
и других системах часто возникает задача решения про-
блемы собственных значений вида
Lu = ки, (5.99)
где L — линейный дифференциальный оператор, к — его
собственные значения. Отыскание решения задачи (5.99)
помощью конечно-разностных сеточных методов или
’етода Галеркина (5.95) позволяет свести ее к рассмот-
’енной в параграфе 5.3 проблеме собственных значений
•окоторой матрицы.
Аналогичные задачи возникают и при решении ин-
егРальных уравнений. Поскольку вычислительные ме-
°ДЫ линейной алгебры находят столь широкое приме-
Ие, они продолжают интенсивно развиваться и совер-
ч®нствоваться.
85
84
ГЛАВА ШЕСТАЯ
ЧИСЛЕННЫЕ МЕТОДЫ
РЕШЕНИЯ ОБЫКНОВЕННЫХ
ДИФФЕРЕНЦИАЛЬНЫХ
УРАВНЕНИЙ
При исследовании многих физических процессов возни-
кают задачи решения систем обыкновенных дифферен-
циальных уравнений. Будем предполагать, что решение
рассматриваемых далее задач существует и единственно,
так что необходимо лишь получить это решение числен-
но. Различают задачи с начальными условиями (задача
Коши) и краевые задачи. Численные методы решения
задачи Коши, в свою очередь, принято делить на одно-
шаговые и многошаговые.
6.1.
ОДНОШАГОВЫЕ
ЧИСЛЕННЫЕ МЕТОДЫ
РЕШЕНИЯ ЗАДАЧИ КОШИ
Рассмотрим нормальную систему п обыкновенных
дифференциальных уравнений, т. е. систему первого по-
рядка, представленную в виде
3^ = f(x,y), у = (У1, у2, Уп), f = (Й, f2, fn)- (6Л)
ах
Задача Коши для нормальной системы (6.1) состоите
отыскании решения на интервале х0 < х < х„ при задай'
ном начальном условии
У(х0) = у0. (6>2)
Решение будем отыскивать в дискретных точках (У
лах) х = Xj (j = 1, 2, ..., N) с шагом
hj = Xj^ - х, (j = 0, 1, 2, ...), (6,‘
86
означая
(6.5)
(6.6)
y(Xj) = у,. (6.4)
□дношаговыми называют численные методы, в кото-
х для нахождения решения yj+1 на следующем шаге
"остаточно иметь решение лишь на одном предыдущем
т‘ е‘ Простейшим одношаговым методом явля-
йся метод степенных рядов, в котором решение на /-м
отыскивается в виде ряда Тейлора:
(//+1 =
р=0
Ср = у^>(х,)/р! (р = 0,1,..., т),
где т ~~ порядок метода. Входящие в (6.5) производные
у(р)(х) любого порядка р можно найти, последовательно
дифференцируя уравнение (6.1). Например, для одного
уравнения (п = 1)
У' = f(x, у), у" = fx + fxy',
у” = fx2 + 2fxyy' + fy2 (у')2 + fyy
и т. д. (штрихи означают дифференцирование по х). Фор-
мула (6.5) имеет погрешность О(й/”+1) на шаге hf, в пред-
положении, что погрешности на отдельных шагах сумми-
руются, полная погрешность на всем интервале интегри-
рования [х0, хл] будет выше на порядок, т. е. O(hm), где
h = тах(Лу). (6.7)
Следовательно, (6.5) — это метод тп-го порядка.
При т = 1 получаем метод первого порядка
Z//+1 = У1 + hj fj, fj = f(Xj, у), (6.8)
называемый методом Эйлера и имеющий простую гео-
метрическую интерпретацию: на каждом шаге отрезок
интегральной кривой у(х) заменяется отрезком каса-
тельной к ней. Поскольку в результате интегральная
кРивая заменяется ломаной линией, метод Эйлера на-
3Ь1вают также методом ломаных. При т > 1 недостат-
ком метода степенных рядов является необходимость
п°лучения аналитических выражений для многих про-
113в°Дных и их вычисления на каждом шаге. Поэтому
^°т метод обычно используется при т < 3 и в сочетании
другими методами.
S7
Рассмотрим теперь метод последовательных прибдц,
жений, называемый также методом Пикара. В этом
тоде решение на у-м шаге отыскивается с помощью ите,
раций вида
^(х) = y{Xj} + а = 1,2,...), (6<9)
X/
где i — номер приближения, Е, — переменная интегрц.
рования. В качестве начального приближения можно
принять ...
z/(0)(x) = у(х0 = const.
Получив после нескольких приближений функцио.
нальную зависимость у(х) и подставляя в нее х = х<+1,
находим значение в следующем узле i/(x,+1) и т. д.
Практически, методом можно пользоваться лишь в
том случае, если все интегралы в (6.9) берутся аналити-
чески. Это имеет место, например, когда правая часть
уравнения (6.1) — линейная функция у с постоянными
коэффициентами, т. е.
у' = Ау + Ъ, (6.10)
где А — матрица размера п х п, Ь — вектор размера п, не
зависящие от х, у.
Обозначая
(6.П)
и = Ау + Ь,
приведем уравнение (6.10) к виду
и' = Аи. (6.12)
Получаемое методом последовательных приближений
(6.8) решение уравнения (6.12) на шаге hj можно запи-
сать в виде
(6
3=0 3 !
где матричная экспонента называется «экспоненцй!
Учитывая затем (6.11), окончательно получаем
----------иг
3 = 1 3-
Слагаемые суммы в (6.14), начиная с некоторого
мера s, быстро убывают до машинного 0 из-за в! в зн
(в.1«
88
^е, после чего суммирование можно оборвать. Досто-
,ство этого метода — возможность вычислений с высо-
точностью при большом шаге h.
Основными одношаговыми методами являются ме-
«предиктор-корректор», наиболее известны из ко-
’орЫХ методы Рунге-Кутта. Для построения этих мето-
,0 будем отыскивать решение (6.1) (полагая пока п = 1)
,вйДе
г/у+1 = У, + ЛДРДлгу, z/7) + af(Xj + yhjt у, + 6ЛД]. (6.15)
Коэффициенты а, р, у, 8 определим так, чтобы как
можно больше членов в (6.15) совпали с членами ряда
Тейлора
(6.16)
(6.17)
(6.18)
(6.16),
(6.19)
имеет-
У1+г = Vj + hjy'j + Ъ^у- +... =
= !/y +M +O,5A2(fx+4,/).
Используя приближенные равенства
fix, + yhj, У] + « fj + hj(fxy +
У1+1 - Vj + hj(a + P)/j + ah?(fxy + fy8)j;
в приравнивая почленно (6.18) и ряд Тейлора
находим
а + р = 1, ау = 0,5, аЗ =
Поскольку для четырех неизвестных а, р, у, 8
салишь три уравнения (6.19), одно из неизвестных, на-
пример а, может быть выбрано произвольным. Так, по-
лагая а = 1, получаем метод, в котором каждый шаг
Решения складывается из двух этапов. Первый этап, на-
зываемый «предиктор», состоит в вычислении предвари-
«льного («предсказанного») значения на полушаге йу/2:
У;+1/2 = У, + О,5й/(х;,уу) + О(Л?). (6.20)
На втором этапе, называемом «корректор», вычисля-
я окончательное, «исправленное» значение на целом
1Ге hj, с использованием предсказанного значения yj+1,2:
yj+i =у)+ hjf(Xj + hj /2, yj+i/2) + O(h?). (6.21)
Таким образом строится решение на всем интервале
’ *п]. Полная погрешность метода имеет порядок О(Л2),
’ это метод второго порядка.
89
Описанный метод имеет простую интерпретацию,
мально интегрируя (6.1) на шаге hj, находим
Фор.
Xj+1
Уз+i = У1 4 J ft*’ y)dx- (6.22
Xj ''
Однако интеграл в (6.22) аналитически не бере^
так как не известна входящая в f функция у(х). Вычйе
ляя интеграл приближенно по формуле прямоугоЛЬ111!
ков, получаем:
yj+t =у, + hjf(Xj +hj /2, yj+i’2) + O(hf),
У^л/г = V(Xj +hj /2).
В (6.23) также входит неизвестное значение z/7+1;2, но
разлагая f(x, у) в ряд Тейлора, нетрудно показать, что
У]+1 2 в (6.23) можно заменить на yj+i/2 (6.20) с сохравд.
нием порядка погрешности O(hf). В результате получаем
формулу (6.21).
Выбирая теперь а = 0,5, получаем другой метод «пре-
диктор-корректор» второго порядка, в котором каждый
шаг решения также складывается из двух этапов:
УЬ1 = У) + hjfj + О(Л/), fj = fix,, yj); (6.24)
yi+l =yy+0,5A;(/;+4+1) + O(Af),
f . (6.25)
fj+1 ~ f(Xj+i,yj+i).
Этот метод можно также получить, вычисляя инте-
грал в (6.22) по формуле трапеций
yj+i - yj+G,5hj(fj + fi+1) +O(hf) Л
и заменяя в (6.26) неизвестное значение fj+i на
хранением порядка погрешности. ”
Описанные методы входят в группу методов Рунге-
Кутта второго порядка. Название «предиктор-корректор1
этих Методов связано с тем, что первоначальное, пр$
сказанное значение в них имеет невысокую точность,
последующая коррекция повышает порядок поГРе“?
сти на 1. При а = 0 из уравнения (6.18) можно п0Л-^
рассмотренный ранее метод Эйлера, в котором B°°TJ
отсутствует коррекция, и который имеет поэтому
вый порядок погрешности. Наоборот, увеличивая
коррекций можно строить методы Рунге-Кутта о1! :
90
сокого порядка. Наиболее часто из этих методов ис-
3 яьзУется мет°Д Рунге-Кутта четвертого порядка, кото-
3 й описывается формулами:
Ui+i = У] + трО,! + 2^2 + 2§з -г g4) + (6.27)
о
•ie = hjfj,
g2 = hjf(Xj + O,5Ay, y, + 0,5g-!),
ёз = hjf(Xj + 0,5/tj, у, + 0,5g2),
g4 = hjf(Xj + hj, yj + g3).
Хотя формулы (6.20), (6.21), (6.24), (6.25), (6.27) по-
дучены для одного уравнения, их можно применять и к
системам уравнений (6.1), полагая, что в этих формулах
— «-мерные векторы. Достоинствами методов Рун-
ге-Кутта являются высокая точность, возможность вы-
числений с переменным шагом hj, хорошая устойчивость
к погрешностям округлений благодаря коррекциям, эко-
номное использование памяти компьютера Недостаток
этих методов — замедление счета из-за неоднократного
вычисления правой части f.
6.2.
МНОГОШАГОВЫЕ
ЧИСЛЕННЫЕ МЕТОДЫ
РЕШЕНИЯ ЗАДАЧИ КОШИ
Многошаговыми называют численные методы, в ко-
торых для нахождения решения yj+1 на следующем шаге
необходимо знать решение на нескольких предыдущих
шагах у^р (р = о, 1, ..., т; т > 1). В отличие от одношаго-
вых методов, многошаговые методы обычно используют-
ся с постоянным шагом й, так как иначе расчетные фор-
мулы слишком усложняются.
Простейшим и часто применяемым является много-
~аговый метод «с перешагиванием» второго порядка.
,том методе производная у' в уравнении (6.1) заменя-
я Центрально-разностной производной с погрешно-
второго порядка:
у] = 0,5(уj+i - уЛ1) /h + О(й2). (6.28)
^°Дставляя (6.28) в (6.1), находим
°’5й/.м - уЬ1),; h + О(й2) = fj, f; = f(r„ у}, (6.29)
91
откуда получаем расчетную формулу
У/+1 = У1-1 + 2hfj + О(Л3). (6 .jo
Наиболее распространенной является группа мцОг
шаговых методов, называемых методами Адамса. 3aj(
тим, что поскольку известны значения
Vi-р = y(Xj-p), xhp = х,- ph (р = 0, 1, .... т), (6.31
то, следовательно, известны и значения
fj-p f(xj-p> Vj-p)’ (6.32)
Построим интерполяционный полином m-й степени
Рт(х), проходящий через узлы (хЛр, р = О, 1, ...,
имеющий, как известно, погрешность О(Лт+1) (пара.
граф 1.4). Тогда
У' = Рт(х) + О(Лт+1).
Интегрируя теперь уравнение (6.33) на шаге h, на-
ходим XJ+1
yJ+1 =yj+ j Pm(x)dx + О(Лт+2), (6.34)
Xj
где Xj+l = Xj + h, yj+1 = y(xj+1). Вычисляя аналитически
интеграл в (6.34), получаем yj+i, после чего можно сде-
лать следующий шаг и т. д.
Получаемая таким образом формула называется эк-
страполяционной формулой Адамса, так как в ней ис-
пользуется экстраполирование многочлена Рт(х) на один
шаг h за пределы области расположения интерполяцион-
ных узлов [Xj-m, xj. Полная погрешность такого метода
O(hm+1), т. е. порядок метода т + 1 равен числу узлов
интерполяционного полинома Рт(х) и числу правых час-
тей fj_p, участвующих в вычислениях.
Формулы Адамса принято записывать следующим об-
разом:
У1+1 = У] + apfhp + O(^m+2); (6-35)
р=О
коэффициенты ар даются во многих книгах. Наприме '
т = 1; а0 = 1,5, а4 = -0,5;
т = 2; а0 = 23/12, аг = -16/12, а2 = 5/12;
т = 3; а0 = 55/24, а4 = -59/24, а2 = 37/24, а3 = -9/
т = 4; а0 = 1901/720, ах = -2774/720, а2 = 2616/720
а3 = -1274/720, а4 = 251/720.
Достоинствами многошаговых методов являются хо-
-щая точность и высокая скорость счета вследствие того,
на каждом шаге правая часть f вычисляется одно-
кратно. К недостаткам относятся невозможность счета с
^ременным шагом и необходимость хранения в памяти
компьютера нескольких предыдущих значений или
правой части fj-p (р = 1, 2, ..., т). Для одного уравнения
= 1) это, конечно, несущественно. Но в физических
задачах часто приходится решать системы из сотен тысяч
й даже миллионов уравнений, например, при анализе ди-
намики ансамбля молекул, электронов, протонов; тогда
дополнительные затраты памяти будут очень велики. Кро-
ле того, для начала счета в многошаговых методах тре-
буются начальные, так называемые разгонные значения
у-р(р = 1> 2, ..., т). Эти значения должны быть предва-
рительно получены каким-либо одношаговым методом.
Из-за отсутствия коррекций многошаговые методы
менее устойчивы к вычислительным погрешностям, чем
методы «предиктор-корректор», причем устойчивость сни-
жается с ростом т. Меньшая устойчивость вынуждает
проводить вычисления с достаточно малым шагом h, что
существенно замедляет решение и может лишить много-
шаговые методы их основного преимущества — высокой
скорости. С целью улучшения устойчивости можно про-
вести одну коррекцию. Для этого, считая предсказан-
ным решение yj+i, вычисленное по экстраполяционной
формуле (6.35), найдем новое значение правой части fj+1 =
= /(xj+1, у;+1), построим новый интерполяционный много-
член zn-й степени Qm(x), проходящий через узлы (х;+1_р,
4н-р; р = 0, 1, ..., га), ис его помощью вычислим оконча-
тельное, скорректированное значение
у/+1 = yj + /г£ Pp4+i-p + О(Лт+2), (£-+1 = £+1). (6.36)
р=0
Формула (6.36) называется интерполяционной форму-
лой Адамса, значения Рр для т = 1 - 4 приводятся ниже:
ftl= 1; р0 = 0,5, р! = 0,5;
= 2; р0 = 5/12, р! = 8/12, р2 = -1/12;
п == 3; р0 = 9/24, Рх = 19/24, р2 = -5/24, р3 = 1/24;
= 4; р0 = 251/720, р4 = 646/720, р2 = -264/720,
^3= 106, 720, р4 =-19/720.
92
93
Заметим, что коррекция не увеличивает порядок
грешности O(fom+1), а лишь улучшает устойчивость мето,
да. Более полно проблема устойчивости обсуждается в
следующем разделе.
6.3.
УСТОЙЧИВОСТЬ
ЧИСЛЕННЫХ МЕТОДОВ
РЕШЕНИЯ ЗАДАЧИ КОШИ.
НЕЯВНЫЕ МЕТОДЫ
Проблему устойчивости численных методов решения
задачи Коши исследуем на примерах. Рассмотрим снача-
ла линейное уравнение
у' = -Ху + <р(х) (X > 0), у' + Ху = <р(х). (6.37',
Из-за вычислительных погрешностей вместо у буде-
вычисляться у + е, где е — погрешность. Подставляя
у + е в (6.37) и учитывая, что для точного решения у
выполняется уравнение (6.37), получаем уравнение для
погрешности
е' + Хе = 0, (6.38)
которое отличается от исходного уравнения лишь отсут-
ствием правой части <р(х). (Это естественно, так как мы
считаем правую часть известной точно.) Уравнение (6.38)
имеет аналитическое решение
е = е~Хх£0 (6.39)
(е0 — начальная погрешность), из которого видно, что
погрешность не нарастает.
Предположим теперь, что уравнение (6.38) реш i,-тся
численно методом Эйлера (6.8), т. е.:
е/+1 = Ej - Xhfij = (1 - Xh^Ej (j = 0, 1, 2, ...). (6.40)
Чтобы погрешность не нарастала от шага к шагу
должно выполняться условие
|1 - Xhj\ < 1 (/ = 0, 1, 2, ...), (6.41
откуда следует ограничение на шаг
0 < 7г < 2/Х,
где h дается формулой (6.7). Методы, устойчивые пр1
некоторых ограничениях на шаг, называются услзБЙ<
94
тОйчивыми. Следовательно, метод Эйлера (6.8) - ус-
д0Вц° устойчивый.
Все рассмотренные до сих пор методы относятся к так
ааЗЬ1ваемым явным методам, так как в них неизвестное
№
явно выражается через уже известные значения.
Предположим теперь, что в методе Эйлера производ-
ааЯ у' берется не в начале, а в конце шага:
Vj+i = У) + fj+1 = f(xj+1,
(6.43)
Этот метод является уже неявным, так как в нем y^i
выражается через известные значения неявно, как реше-
ние некоторого, в общем случае нелинейного уравнения,
решение этого уравнения можно получить методами, опи-
санными в главе 3.
Применяя метод (6.43) к уравнению (6.37), находим
для погрешности
Бу+1 = е7 - ЛДе/+1, £;+1 = (1 + hfAy^Ej, (6.44)
откуда видно, что | е/+11 < I еу-1 при всех h} 0. Методы,
устойчивые при любых положительных значениях шага,
называются безусловно (или абсолютно) устойчивыми.
Общий анализ численных методов решения дифферен-
циальных уравнений показывает, что все явные методы
условно устойчивы, тогда как среди неявных методов
существуют безусловно устойчивые.
В качестве следующего примера рассмотрим линей-
ное уравнение вынужденных колебаний:
х + со2х = cp(i). (6.45)
Здесь х — смещение, со — частота колебаний, cp(t) —
вынуждающая сила, точка означает дифференцирование
по времени t. Уравнение для погрешности
s + o2s = 0 (6.46)
м°жно свести к системе двух уравнений первого порядка
£ = Si, Е1 = -и2е. (6.47)
Домножая первое из этих уравнений на ico (i = V-l)
складывая со вторым, получаем одно комплексное
^Равнение
г = ioz (z = щ + icoe), z(0) = z0. (6.48)
95
Заметим, что (6.48) имеет аналитическое решение
z = eiatz0, (6.4с
из которого видно, что амплитуда погрешности постояj
на: | г | = I z01 = const.
Решение (6.48) явным методом Эйлера (6.8) с шаго>
т = const дает:
, • , • ч z._n 1 о _ Из (6.54) видно, что для уравнения колебаний рас-
2y-ti Zj + iarZj (1 + imr)2j (j , , , ..., ), (6.5c ,1атрИваемый явный метод, как и явный метод Эйлера,
। z +11 2 = ц + w2<;2) 12. | 2, 1г | 2 > 12J 2. (6.5^|₽УСЛОВНО неУст°йчив, но благодаря коррекции его не-
у+ 11 1 ^Иддачивость значительно слабее. Так, при тех же значе-
Из (6.51) следует, что погрешность нарастает при лк^Нях сит = 0,1л, N = 200, относительный рост погрешно-
бых значениях т. Такие численные методы называют бе^ти составляет всего е0,24 = 1,28, т. е. погрешность прак-
зусловно неустойчивыми. Видно, что для уравнения кс
лебаний явный метод Эйлера безусловно неустойчив. На
растание погрешности можно оценить по формулам:
f|a;+1|2^^h|2=e<^|Zo|2,
]|2у+1|.ео,5(М)ЮМ|го|.
Так, например, при от = 0,1л (20 шагов на перио,
колебаний) погрешность | г | увеличивается за N = 201
шагов (10 периодов) в отношении е10, т. е. неустойчи
вость является очень сильной.
Происхождение неустойчивости в данном пример
имеет простую геометрическую интерпретацию. Аналити
ческое решение (6.49) описывает движение по окружно
сти радиусом г0 в комплексной плоскости (ei, гсое). В ясно?
методе Эйлера движение на каждом шаге осуществляется
по отрезку касательной к окружности и превращается t
движение по ломаной спирали нарастающим радиусом,
Неявный метод Эйлера (6.43) дает решение урав
ния (6.48) с убывающей погрешностью
|zj+11 = Zj + icoTZj+i = (1 - icoT)-1Zj, (
|z/+i|2 =|z>|2/(1 + ®2t2)
и, следовательно, безусловно устойчив. Геометрия
это объясняется тем, что движение осуществляется !
точки Zj по отрезку прямой, параллельной касател . |
Zj+i к окружности в точке z;+1 и направленной вн
круга, т. е. по ломаной спирали убывающим ради
рассмотрим, наконец, решение уравнения (6.45) ме-
)ДОМ «предиктор-корректор» (6.20), (6.21). В этом мето-
, для погрешности получаем:
,.+1 = Е1" °’ 5<ыт)2 + ZcoT] zi> >Я1 f = [1 + 0,25(®т)4 ]|zy|2,
(6.54)
чески не увеличивается.
В заключение этого раздела заметим, что в числен-
м решении важен не абсолютный, а относительный
ст погрешности по сравнению с точным решением. Так,
же экспоненциально нарастающая погрешность может
гаваться малой, если точное решение дифференциаль-
й задачи также экспоненциально нарастает. Поэтому
я корректного вывода об устойчивости или неустойчи-
зти численного метода требуется тщательный анализ
ведения как погрешности, так и точного решения для
ждой дифференциальной задачи.
6.4.
ЧИСЛЕННОЕ РЕШЕНИЕ
КРАЕВЫХ ЗАДАЧ ДЛЯ ОБЫКНОВЕННЫХ
ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ
Краевой задачей называется задача нахождения ре-
ния системы (6.1) (п > 2), для которой дополнитель-
16 условия задаются более чем в одной точке. Здесь
Значимся линейной краевой задачей (линейными на-
заются краевые задачи для линейных уравнений с
^еиными краевыми условиями) для одного уравнения
Рог° порядка:
У" + Р(х)у' + q(x)y = f(x) (х0<х < xN), (6.55)
У(х0) = уо, y(xN) = yN. (6.56)
n, й ЗМо®ны и краевые условия общего вида, напри-
Уо + ₽Уо = у). Решение будем отыскивать на сетке
96
97
с постоянным шагом h (такие сетки называются
мерными) и узлами
Xj = х0 + jh О’ = О, 1, ..., N), h = (xN - x0)/A,(6.t
где N — число шагов.
Аппроксимируя производные в (6.55) конечно-ра3(
стными формулами
Ум - fyj + Ум + О(л2)>
Vi =
y'j =
^Ирименяя (6.62) к j = 0, находим, что
[ = 0, m = у0. (6.66)
•{аким образом, метод решения складывается из двух
.ов. На первом этапе (прямой ход прогонки) вычисля-
[ прогоночные коэффициенты по рекуррентным фор-
(6.65) с начальными значениями (6.66). На втором
е (обратный ход прогонки) вычисляются z/y (/ = N-1,
у-2, •••» 1) по Формуле (6.62) с учетом заданного краевого
(СЛовия Pn- Погрешность решения имеет тот же порядок,
которым аппроксимируются производные, т. е. O(ft2).
Согласно формулам (6.65), (6.62), прямой ход требует
j арифметических операций, а обратный — 2 операции
аа каждый узел; общее число операций 8(А -1) - 8N ли-
дг-1). (6 дайно зависит от числа узлов. Анализ показывает, что
ярогонка устойчива при выполнении условий
a,, bj, Cj > 0, bj > а, + Cj (6.67)
‘кля всех j, причем хотя бы в одном узле должно выпол-
няться строгое неравенство bj > а, + Су. В рассматривае-
Л2
УМ ~ У’:' + O(h2),
2h
сведем задачу (6.55), (6.56) к системе линейных алгебр^
ческих уравнений:
а]У}-1-bjPj + Cjyj+1 = dj 0=1,2,...
dj = 1 - O,5pjh, bj = 2 - qjh2,
Cj = 1 + 0,5pjh2, dj = fjh2,
Pi = P(.Xj), qj = q(Xj), fj = f(Xj),
где y0, yn — заданные краевые условия.
(Н
(6.60
(6.61
(6.6
. . »П ----г-1---- *
Система уравнений (6.59) имеет трехдиагональнр «ой задаче условия (6.67) приводят к требованиям
матрицу, так как каждое уравнение содержит лишь
соседних неизвестных z/y, у;±1. Экономным методом реп»
ния таких систем является метод прогонки, представляв
щий
В этом методе решение отыскивается в виде
Pi = ^+1У;+1 + Нм 0 = 1, 2, ..., А-1),
где £у+1, цу+1 — пока не известные коэффициенты, наз:
ваемые прогоночными. Заменим в (6.62) j на J-1 и,
ставляя „ /а л,
Уу-1 = ^У/ + Пу
в уравнение (6.59), преобразуем его к виду
Уу - 7----~У)+1 + -(Н
bi - aAi bj - И
Сравнивая теперь (6.62) и (6,64), получаем рекум|
ные формулы для прогоночных коэффициентов Ц
5м = чн - “Г « =11 *.....................*’'И'1
bj - afa b, - Oj^ 1
h < 2/max|py|, qs < О (j = 1, 2, .... N-l). (6.68)
Помимо метода прогонки, для решения краевых за-
й собой разновидность метода исключения ГаусаЬач (6.55), (6.56), могут также использоваться более точ-
гнъте, но алгоритмически более сложные метод Галеркина
тод сплайновых аппроксимаций, а для уравнений с
эянными коэффициентами р = const, q = const, еще
тод преобразования Фурье. Эти методы здесь не рас-
риваются.
6.5.
ПРИМЕНЕНИЕ ЧИСЛЕННЫХ МЕТОДОВ
РЕШЕНИЯ ОБЫКНОВЕННЫХ
ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ
В ФИЗИЧЕСКИХ ЗАДАЧАХ
Деленное решение больших систем обыкновенных
1 еРенциальных уравнений часто встречается при ис-
Вании динамики различных физических объектов.
раМер, моделирование динамики ансамблей М » 1
^йных частиц (электронов, ионов) в электрическом
99
98
поле Ё(г, f) сводится к решению задачи Коши для сцСТе
мы 6М уравнений:
Vi,
Р
.Pi = qA-
= ymov, у =
(6.69j
Здесь fi — радиус-вектор, pt — импульс i-й частиц^
(i = 1, 2, М); q, т0 — заряд и масса покоя частиц, у
релятивистский множитель, с — скорость света.
Экономным методом решения системы (6.69) являет,
ся разновидность метода «с перешагиванием», в которой
импульсы вычисляются в целые моменты времени t =
(k = 0, 1, 2, ...), а координаты — в полуцелые t + т/2 (т _
временной шаг решения). Пусть в текущий момент t в
памяти компьютера хранятся значения pi(t), n(f + x/2)
для всех М частиц. Тогда шаг решения выполняется по
формулам:
Pi(t + x) = Pi(t) + xqE(fi(t + т/2), t + т/2);
?i(t + |т) = + + х (i = 1, 2,..., М). <6-70>
2 2 у;(г + т)то
В качестве следующего характерного примера рас-
смотрим одномерное уравнение теплопроводности:
fa=a2^ + f(x)(0<x<l,O<t<T); (6.71)
dt дх2
и(х, О) = u°(x), u(0, t) = pi, u(l, t) = ц2> (6.72)
описывающее распределение температуры и(х, t) в обла-
сти [0, /]. Здесь а2 — коэффициент теплопроводности,
f(x) описывает стационарные источники тепла, wn(*)'
начальное распределение температуры. Вводя наотрез#
[О, I] сетку с постоянным шагом h = 1/N и узлами Xj (J
= 0, 1, ..., N) аппроксимируем пространственную про,й
водную в (6.71) конечно-разностной формулой
+o(h2Y
h2
O2U
8x2
Будем полагать, что Uj (j = 1, 2, .... N-l) —'
неизвестные, зависящие только от t. Тогда задачи (
100
,аТ2) сводятся к задаче Коши для системы N-1 линей-
sjjx уравнений с постоянными коэффициентами:
ц = (а / fe)2(uy+i - 2и/ + uhj) + fj (j = 1, 2,..., N -1);
Uq = Ц1, uN = Ц2, Uj(O) = u° =
(6.74)
Такой способ решения уравнений в частных произ-
водных называется методом прямых, так как решение
и(х, 0 отыскивается в области (х, #), вдоль прямых х = ху,
параллельных оси t. Для решения задачи Коши (6.74)
м05кно, например, воспользоваться методом Пикара
^6,14). Поскольку в данном случае входящая в (6.14)
матрица А редкая, т. е. имеет мало ненулевых элемен-
тов, решение будет достаточно быстрым.
Наконец, если нас интересует лишь установившееся
распределение температуры при t -> со, то полагая в (6.71)
= 0, получаем линейную краевую задачу
а2 —
dx2
= -f(x), u(0) = щ, u(0 = ц2.
(6.75)
(В (6.75) вместо частной производной д2и/дх2, записа-
на полная производная d2u/dx2, так как установившаяся
температура уже не зависит от t.) Краевая задача (6.75)
может быть решена методом прогонки (раздел 6.4).
6.6.
ЧИСЛЕННЫЕ МЕТОДЫ РЕШЕНИЯ
ЖЕСТКИХ СИСТЕМ ОБЫКНОВЕННЫХ
ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ
Рассмотрим задачу Коши для однородной системы п
линейных обыкновенных дифференциальных уравнений
^ = Ан(0<х<0; (6.76)
du
н(0) = н0, (6.77)
где ц __ n-мерный вектор, А = (а,,) — матрица размера
л х п.
Решение задачи имеет вид:
u = Yc^kXuW’ (6-78)
(fe = 1, 2, ..., n) — собственные значения и
Твенные векторы матрицы А (в общем случае комп-
1..!Ссаь1е), а коэффициенты ск находятся из начальных
^ойий (6.77).
101
Будем полагать, что все действительные части cqj
ственных значений ReXft < 0, т. е. решение устойчиво
все компоненты суммы (6.78 ) убывают с ростом х.
В физических задачах (например, в физической кице.
тике) встречаются случаи, когда ReX* сильно отличаю^
(иногда в отношении до 1010), что сильно затрудняет чцс.
ленное решение системы дифференциальных уравнений
Систему обыкновенных дифференциальных уравнений видд
(6.76) с постоянной матрицей А называют жесткой, если.
1) ReA.* < 0 (fe = 1, 2.п), (6.79)
2) S = Гmax(-ReXft)/min(-Re Xft) 1» 1. (6.80)
L k k J ’
Число S — жесткость (stiffness) системы (6.76). Если
сама матрица А зависит от х, то ее собственные значения
и жесткость также являются функциями х:
К = h(x) (k = 1, 2, ..., и), (6.81)
S = S(x).
(6.82)
Тогда система уравнений считается жесткой, если хотя
бы в одной точке х е [0, выполняются условия (6.79),
(6.80).
Численно решать жесткую систему с помощью яв-
ных методов практически невозможно, потому что шаг
решения h приходится выбирать из условия устойчиво-
сти, учитывая самую быстро меняющуюся компоненту
решения:
h < 2/maxRe(-7.fe),
k
а интервал интегрирования
Z = 0(l/minRe(-A.A)k
\ k /
И хотя компоненты решения с большими значения-
ми Re(-kk) быстро затухают почти до 0, условие устойчи-
вости (6.83) не позволяет увеличить шаг. Поэтому чиС
ленные методы решения жестких систем обыкновенньС'
дифференциальных уравнений должны обязательно
ладать следующими свойствами:
1) метод (схема) является неявным;
2) метод должен обеспечивать автоматический вь
шага h в зависимости от скорости изменения решения
102
Свойство 1 необходимо для сохранения устойчиво-
сТц решения, а свойство 2 требуется потому, что в про-
цессе интегрирования системы шаг h может возрастать
106-107 раз и более.
Выше рассматривались линейные системы, но значи-
тельно чаще встречаются жесткие нелинейные системы
обыкновенных дифференциальных уравнений, когда мат-
рица А зависит не только от х, но и от решения и(х).
р этих случаях рекомендуется приближенно линеаризо-
вать систему, рассматривая малые отклонения z — и - v
от некоторого вспомогательного решения о(х), которое
йожно выразить через элементарные функции. Построе-
ние v(x) может быть сопряжено с необходимостью много-
кратного решения полной проблемы собственных значе-
ний для матрицы А. Определение жесткости (6.79), (6.80)
сохраняется. Целесообразно также ввести термин «жест-
кая устойчивость», понимая под этим, что для «паразит-
ных» компонент решения с большими -ReXft требуется
устойчивость, а для главных компонент (с малыми -ReX*)
гарантируется точность.
В целом теория и численные методы решения жест-
ких систем обыкновенных дифференциальных уравне-
ний являются довольно сложными, но в мощных совре-
менных пакетах прикладных программ обычно имеется
несколько хороших программ их численного решения.
6.7.
ЧИСЛЕННОЕ РЕШЕНИЕ ОБЫКНОВЕННЫХ
ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ,
НЕ ПРИВЕДЕННЫХ
К НОРМАЛЬНОМУ ВИДУ
Пусть имеется задача Коши для обыкновенного диф-
ференциального уравнения в общем виде
^(х, у, у') = 0, у(хо) = у0, (6.85)
”еРазрешенном относительно первой производной у'. Для
чтения задачи (6.85) можно формально применять одну
0Дношаговых схем, рассмотренных в 6.1.
ч 'Усть, например, на /-м шаге известны х,- и у] (в нача-
^Шения это х0, j/о), и будем полагать, что
У' = f(x, у), (6.86)
103
где f — некоторая неявно определенная функция. Чцп.
ленно решая уравнение
F(Xj, У,, fj) = 0, (6.87;
где fj = f(Xj, у,), находим fj, а затем по формуле (6.20)
предсказанное значение yy+i/2-
Затем из уравнения
F(Xj + hj /2, yj+1/2^ fj+1/2) = 0 (6,88;
вычисляем fy+i/2 и, наконец, по формуле (6.21) получаем
исправленное значение yj+1 на следующем шаге. При чис-
ленном решении уравнений вида (6.87), (6.88) хорошее
начальное приближение для fj, fj+1/2 можно получить, эк-
страполируя ранее найденные значения fj-2, fj-i/2,...,
так что число итераций будет небольшим. Аналогично
можно пользоваться и другими формулами одношаго-
вых методов.
Другим подходом может служить метод степенных
рядов. В этом методе на J-м шаге сначала из уравнения
(6.87) вычисляется fj. Дифференцируя затем (6.85) полу-
чаем
— = FX'j + Fytjfj + Ff,jyj. = 0, (6 эд
откуда явно определяется у" Если взять затем вторую
производную функции F (6.85), то из уравнения
= 0 (6.90)
dxl
можно получить у/" и т. д., а затем по формуле метода
степенных рядов вида (6.5) найти значение у;+1 на следую-
щем шаге.
воспользоваться многошаговым методом Штёрмера.
'^ь1Й метод Штёрмера представляется в виде
<6.s>2)
Л2
— шаг решения, а коэффициенты &г подбираются
". чтобы разность
(6.93)
!каК можно меньше отличалась от 0. Если суммирование
8 формуле (6.92) начать с г =-1, получится неявный
йетОд Штёрмера:
= £ ь,Пхн, У1_л. (6.94)
Коэффициенты даются в некоторых справочниках
г учебных пособиях.
Недостаток методов Штёрмера, как и других много-
шаговых методов — необходимость в разгонных значе-
ниях yi, у2, ••., У/г Для проведения расчетов по формуле
(6.93) начиная со значения j — k. Разгонные значения
должны быть предварительно найдены каким-либо одно-
шаговым методом.
6.8.
ЧИСЛЕННОЕ РЕШЕНИЕ
ОБЫКНОВЕННЫХ ДИФФЕРЕНЦИАЛЬНЫХ
УРАВНЕНИЙ ВТОРОГО ПОРЯДКА
В задачах механики часто встречается решение обы1
новенных дифференциальных уравнений вида
у” = f(x, у).
Хотя это уравнение всегда можно свести к сиспд
двух уравнений первого порядка, иногда предпочти?
104
ГЛАВА СЕДЬМАЯ
ЧИСЛЕННЫЕ МЕТОДЫ
РЕШЕНИЯ УРАВНЕНИЙ
В ЧАСТНЫХ
ПРОИЗВОДНЫХ
Многие сложные физические процессы гидродинамики,
теории поля, электродинамики, физической кинетики,
статистической физики, квантовой механики и других
разделов физики описываются уравнениями в частных
производных. Методы численного решения этих уравне-
ний составляют наиболее сложную и, пожалуй, наиболее
важную область вычислительной математики, опираю-
щуюся на методы из всех остальных областей. Вслед-
ствие большого разнообразия задач и численных методов
их решения, существующее сейчас в этой области стан-
дартное программное обеспечение недостаточно, и требую-
щиеся программы обычно приходится разрабатывать са-
мостоятельно применительно к конкретным задачам.
В этом разделе рассматривается общий подход к чис-
ленному решению уравнений в частных производных, i
на его основе даются методы решения некоторых про-
стейших физических задач.
7.1.
РАЗНОСТНЫЕ СХЕМЫ
При решении многих задач встречаются два типа функ-
ций. Функции первого типа определяются на континЦ
уме точек и считаются точно известными (аналити’И
скими), тогда как функции второго типа определены П
дискретном множестве точек, называются сеточным» я
представляют собой аппроксимации функций первого тШ®
Так, например, элементарные функции Igx, ех, sinX®
другие являются точными, а хорошо известные таблШв
106
jrflX функций — их сеточными аппроксимациями. Что-
подчеркнуть это различие, в данном разделе точные
функции будем обозначать прописными буквами, а при-
ниженные сеточные — соответствующими строчными.
Будем рассматривать дифференциальные задачи вида
LU = F (7.1)
в некоторой области пространства G с границей Г. В урав-
нении (7.1) L — дифференциальный оператор, U — под-
лежащая вычислению функция, F — правая часть (иног-
да F включают в оператор L). В общем случае U зависит
от координат f и времени t, т. е. U = U(r, t).
Уравнение (7.1) может иметь множество решений.
Для выделения из этого множества единственного реше-
ния, уравнение (7.1) дополняется краевым и начальным
условиями:
BU\r=4(f,ty, (7.2)
U(f, 0) = Ф(г). (7.3)
Оператор В в краевом условии (7.2) в общем случае
также может быть дифференциальным, например, в него
может входить производная dU/dn по нормали к грани-
це Г. Вместо краевого условия (7.2) на некоторых участках
границы Г может быть задано условие периодичности
решения U по одной или нескольким координатам. Если
в одератор L входит вторая производная по времени, то,
помимо начального условия (7.3), должно быть задано
начальное условие для первой производной по времени
Ut(r, 0) = 0(г). (7.4)
Уравнения (7.1)-(7.4) составляют так называемую
смешанную краевую задачу.
При исследовании статических (стационарных, уста-
8°вившихся) явлений функция U зависит лишь от коор-
№нат, и дополнительно для уравнения (7.1) задается лишь
краевое условие „ .
ВП|г=Ф(г). (7.5)
Задачи (7.1), (7.5) называются краевыми. В дальней-
шей при решении задач ограничимся краевыми условия-
ми первого рода, когда В — единичный оператор, т. е.
“Уакция U принимает на границе Г заданные значения Т.
107
Рис. 23
Сетка П в области G
с границей Г
Будем полагать, что peilJ
ние всех рассматриваемых
дач существует и единств^
но, так что нашей целью Яв
ляется лишь нахождение это^
решения численными метода
ми. В области G введем сети -
Q; множество внутренних
лов сетки обозначим со, а
жество граничных узлов
Для простоты будем полагав
что граничные узлы сетки располагаются точно на гра.
нице (рис. 23) Это снимает трудности переноса краевьц
значений с Г на сеточную границу у. Будем использован
только равномерные сетки, т. е. сетки с постоянным)
шагами по каждой координате (сетки с переменным)
шагами называют неравномерными). Пространственный
шаг для краткости обозначим h (можно представлять}
как вектор, компоненты которого — шаги по отдельны)
координатам). По времени t также введем дискретиза-
цию с шагом т. Все встречающиеся в задаче функции,
как заданные, так и искомые, будем приближенно опре-
делять в узлах введенной пространственно-временной
сетки, называть сеточными и, как уже говорилось, обо-
значать строчными буквами в отличие от аналитически
функций и точного решения, обозначаемых соответствуй
щими прописными буквами.
Дифференциальную задачу аппроксимируем систем»
конечно-разностных уравнений. Получаемые в резуль»
те конечно-разностные уравнения называют разностн®
схемой. Имеется несколько методов составления разно
стных схем. Самым простым и распространенным явля»
ся метод разностной аппроксимации, основанный на 3
мене дифференциальных выражений в операторе L (а Д
требуется, то и в В) конечно-разностными отношении
В дальнейшем будем пользоваться этим методом.
ченную разностную схему в общем случае запишем в
Lhu = f; Д
Bhu\y= у; Д
а|«=о= ф» ut |(=0= О- Д
Здесь Lh, Вj --------
разностных уравнений, а функции f, у,
ценные значения функций F, %
зазываемые проекциями F, Ч7,
ядам, что известно точное решение U дифференциал^'
задач (7.1) (7.4). Если подставить это решение в “а
сТЯую схему (7.6), получится некоторая, отличная
нуля величина которая называется невязкой
зуется для оценки качества разностных схем:
S = / - LhU = LU - F - (LhU - /) =
= (L - Lh)U - (F - f).
Аналогично для краевых условий
Ц = у - BhU = BU - Ч7 - (BhU - у) =
- (В - Bh)U - (Ч7 - у).
Из (7.9), (7.10) видно, что если F = f Ч7 = у
иТ проецируются на сетку точно, то невязка равна пе.
зультату действия разности дифференциального и ко-
нечно-разностного операторов на точное решение U.
Основными свойствами разностных схем являются
аппроксимация, погрешность, устойчивость, сходимость
и эффективность. Под свойством аппроксимации пони
мается, что невязка стремится к нулю с уменьшением
роксимСяеТКИ ’ Т’ Т’ е' Согласно (7-9>’ <7-Ю), смысл апп-
роксимации состоит в том, что с уменьшением шагов
иХпо°НеЧНО'РаЗНОСТНЫе Уравнения приближаются к
Дифференциальным:
~ рааностные операторы, и - решение
- > ••• — прибли-
... на сетке, иногда
на сетку. Предполо-
—1ЫХ
в разно-
----1
И исполь-
> 8
(7.9)
(7.10)
т. е. F
11111 -Г oh JJ, у _> т при т Q. (7.11)
=китКппг?еСТВеННОЙ хаРактеРистикой аппроксимации слу-
собой™грешность аппроксимации, которая представляет
V ч» РУ отклонения Lh, Bh, f, у соответственно от L
зависим™ °Ценивается по величине нормы |^|| + ЦцЦ в
'Имации ТИ °Т Шагов й’ т’ Обычно погрешность аппрок-
i Указывается в виде O(hk, т3) или O(hk + т3), где
ааг!Роке110₽ЯДОК аппРоксимаЦии< Можно показать,’что
6°Д8ые «Ма11ИЯ имеется’ если аппроксимированы произ-
Зок ацпВ ДИфференциальных операторах, причем поря-
Роксимации разностной схемы обычно совпадает
108
109
с порядком аппроксимации производных, а в некотор^
случаях может быть и выше, как будет показано далее
Пусть р — некоторые исходные данные разностной
схемы, например, значения функций f, у, ... или коэф,
фициентов оператора L*, причем значению р отвечает
решение и,. Говорят, что разностная схема устойчива
если малые изменения исходных данных приводят к ма.
лым изменениям решения, т. е. если ||рх - р2|| < е, то ц
|| Пт - п2|| < 8(e), где е, 8 — некоторые малые положитель-
ные величины. Анализ устойчивости разностных схем
основан на использовании специальных критериев; не-
которые критерии устойчивости разностных схем будут
рассмотрены в дальнейшем.
Пусть (7.1)-(7.4) — корректно поставленная диффе.
ренциальная задача. Аппроксимирующая ее разностная
схема (7.6)-(7.8) называется корректной, если ее реше-
ние существует, единственно и устойчиво. Говорят, что
разностная схема сходится (к точному решению), если
и -> U при h, т -> 0. Если погрешность решения
||u — П|| < Mrhk + M2xs = O(hk, ts), (7.12)
где Mi, M2, k, s — постоянные, не зависящие от h, т, то
говорят, что разностная схема сходится с fe-м порядком
по h и s-м порядком по т.
Доказано, что если разностная схема аппроксимиру-
ет дифференциальную задачу с порядком O(hk, ts) и ус-
тойчива, то она сходится к точному решению с тем же
порядком. Следовательно, свойство сходимости является
следствием аппроксимации и устойчивости и не требует
специальных доказательств.
В данных выше формулировках аппроксимации, ус-
тойчивости, сходимости используются нормы сеточных
функций. В вычислительной математике пользуются темя
нормами, которые позволяют легче доказать требуемые
свойства. Некоторые результаты удается получить с ис-
пользованием сеточного аналога нормы С (чебышевской
нормы), но в большинстве случаев приходится пользо-
ваться сеточным аналогом более слабой среднеквадр8'
тичной нормы L2 (гильбертовой). При этом сеточные нор
мы вводятся так, чтобы они были согласованы с обычно
ми нормами, т. е. переходили в них при бесконечН •
110
к^еньшении шагов сетки. Например, для одномерной
Краевой задачи
Нс =mJaxlu/l’Mr2 = hXui ’ (7.13)
1 k j
максимум и сумма находятся по всем узлам сетки с ша-
гом h и номерами j.
Наконец, эффективность разностных схем характе-
ризуется запросами на машинные ресурсы. Важной ха-
рактеристикой, в частности, является зависимость вре-
мени счета от числа узлов пространственной сетки.
7.2.
ЧИСЛЕННОЕ РЕШЕНИЕ
ОДНОМЕРНОГО УРАВНЕНИЯ
ПЕРЕНОСА
Далее в этом разделе, если это не вызовет недоразу-
мений, все встречающиеся в задачах функции будем обо-
значать строчными буквами, но по-прежнему имея в виду,
что в дифференциальные уравнения и их решения вхо-
дят точные, аналитические функции, а в разностные схе-
мы и их решения — приближенные сеточные.
В физических приложениях часто встречаются урав-
нения эволюционного типа. Уравнениями эволюционно-
го типа называются уравнения вида
^ + Lou = f, (7.14)
где дифференциальный оператор Lo уже не содержит про-
изводных по времени 1; такие уравнения как бы описы-
вают эволюцию начальных условий. Если в уравнении
(7.14) Lo — оператор первого порядка, то оно называется
Уравнением переноса и типично для задач механики
сплошной среды. Примером уравнения переноса может
служить известное уравнение непрерывности (закон со-
хранения заряда)
+ div/ = 0, / = pv, (7.15)
ct
^еР —плотность объемного заряда, j — плотность тока,
J ~~ скорость движения заряженной среды.
111
Простейшая линейная одномерная задача для уре1;
нения переноса:
St дх
с = const (0 < х < I)',
u(0, t) = и0 = const, и(х, 0) = j(x) (7.16)
описывает движение сплошной среды с плотностью и вдодь
оси х со скоростью с; правая часть f описывает приток
(отток) вещества вследствие каких-либо сторонних про.
цессов. Будем также для простоты полагать, что ср(О) = у,
Задача (7.16) имеет аналитическое решение
t
и(х, t) = <р(х - с0 + f/(x - с(* ~ (7.17)
о
где t — переменная интегрирования. В частности, если
Рис. 24
Равномерная простран-
ственно-временная сетка
<р(х — ct). (7.18)
Видно, что в этом случае
решение уравнения, завися-
щего от двух переменных,
представляется функцией все-
го одного переменного г =
= х - ct. Такие решения урав-
нений, зависящие от мень-
шего числа переменных, на-
зываются автомодельными.
В рассматриваемой задаче ав-
томодельное решение (7.18)
описывает перенос начально-
го распределения <р(х) вдоль
оси х со скоростью с без из-
менения его формы. (Этим и объясняется его название —
решение как бы воспроизводит, моделирует само себя-)
Для получения численного решения введем равномер
ную сетку (рис. 24) с шагами h, т и узлами (х;, tm), г"е
Xj = jh (j = 0, 1, ..., N),
h = l/N, tm = тт(т = 0, 1, 2, ...). (7.19'
Значения сеточных функций принято обозначать кг-
u7=u(x;,tm), (7.20’
112
е. нижние индексы относятся к пространственным пе-
ременным, а верхний указывает номер момента време-
Для краткости принято в разностных схемах верх-
зИЙ индекс, по возможности, опускать, используя обо-
значения. _ и^х., t +1),
tij = и(х,, t- г);
uj = u(Xj, t + i/2).
(7.21)
Расположение узлов, на котором строится разностная
схема, называют шаблоном. Рассмотрим три шаблона,
показанные на рисунке 25; кружками отмечены узлы шаб-
а • Т в >т+1 т
f * * т *
X
— 1- -1 1- -1 1- -1 h
Рис. 25
Расположение сеточных узлов разностных схем,
для одномерного уравнения переноса
а - явная схема; б — неявная схема; в — схема второго порядка.
лона, а звездочкой — центр соответствующей сеточной
ячейки, ограниченной штриховыми линиями. Соответ-
ствующие трем шаблонам разностные схемы имеют вид:
Q + с и> ~ul± = fj(j = 1,2,..., АГ); (7.22)
т h
+ = (у = 1, 2,..., N); (7.23)
т п
. \ г \
= 4 (у = 1,2,..., АГ);
Рассмотрим теперь, что принять в (7.22)-(7.24) в ка-
Честве сеточной проекции fj правой части f. Поскольку f
Зависит от х, t, наименьшая погрешность аппроксима-
получается при замене f(x, t) на среднее значение f
Площади сеточной ячейки, т. е. на значение
5-2845
113
fi=~~ f dx f Kx’ t'>dt =
hx J f
= f(x;- h/2,t + T/2) + O(h2, T2).
<7.25)
Следовательно, в уравнениях (7.22)-(7.24) в качеств
fj будем принимать f(Xj - h / 2,t + х/2) = ff_l/2, т. е. Пра.
вая часть в разностных схемах вычисляется в отмечен,
ном звездочкой центре сеточной ячейки на рисунке 25
Заметим, что если в качестве fj просто принять значение
в J-м узле, т. е. f(xt, t), то погрешность аппроксимации f.
сразу возрастает на порядок, поскольку '
fj = f(Xj, t) + O(h, т).
Множество сеточных узлов, отвечающих одному мо-
менту времени, составляют так называемый временной
слой. Схемы (7,22)-(7.24) связывают два соседних вре-
менных слоя и называются поэтому двухслойными. Ис-
пользуя разложения сеточных функций в ряды Тейлора
нетрудно показать, что трехузловые схемы (7.22), (7.23)
имеют аппроксимацию О(й, т), а более сложная четырех-
узловая схема (7.24) — аппроксимацию более высокого
порядка O(h2, т2).
Разностная схема (7.22) явная, так как из нее можно
явно выразить неизвестное й/, через уже известные зна-
чения Uj, Uj-i и правую часть fj. Схема (7.23) формально
неявная, так как включает два неизвестных значения
u, itj-i, на (т + 1)-м временном слое. Однако преобразо-
вав ее к виду
iij = * {Uj + ruj-i+zfj) (j - 1, 2,..., AT), r = cx/h, (7.26)
1 +z
можно явно вычислять iij последовательно, начиная1
левой границы, на которой «о известно (это заданное
краевое условие). Такие схемы называют схемами «бе1?
щего счета». Неявная схема (7.24) также легко преобР8
зуется в схему бегущего счета. Для анализа устойчив^
сти разностных схем воспользуемся критерием устои
вости, который называется «принцип максимума»^
применим к любым двухслойным разностным схе-
Запишем двухслойную разностную схему в общем
114
^aiUi+i =£ftkUj+k rft, (7.27)
i k
где j — центральный узел шаблона, причем предвари-
гедьно узлы перенумеруем так, что
|а0( = тах|а<|. (7.28)
Принцип максимума гласит, что для устойчивости
разностной схемы достаточно выполнения условия
1ао|^£|а;| + £|р4 (7.29)
СТО k
Для схемы (7.22)
а0 = 1/т, Ро = (1 — г)/т, р j = r/т (r = cx/h), (7.30)
й согласно принципу максимума (7.29) схема устойчива
при выполнении условия
0 < г < 1 (г = cx/h), (7.31)
т. е. это условно устойчивая схема. Условие устойчиво-
сти (7.31) имеет простой физический смысл: вещество
среды распространяется в положительном направлении
оси абсцисс, причем расстояние ст, на которое смещается
вещество за один временной шаг г, не должно превы-
шать шаг сетки h.
Сформулированный таким образом критерий (7.31)
иногда называют критерием Курайта, а число г = cx/h —
числом Куранта.
Для неявной разностной схемы (7.23)
а0 = (1 + г)/х, а-х = -r/х, р0 = 1/т, (7.32)
так что, согласно принципу максимума (7.29), схема
Устойчива для всех с > 0. Следовательно, схема (7.23)
безусловно устойчивая. Безусловно устойчивой является
и неявная разностная схема второго порядка (7.24).
Анализ разностных схем в целом показывает, что все
адные разностные схемы условно устойчивы, тогда как
реДИ неявных схем существуют безусловно устойчивые.
^Условная устойчивость — очень полезное качество раз-
^а°й схемы, так как позволяет независимо подби-
3 временной и пространственный шаги сетки, руко-
8Уясь лишь требуемой погрешностью решения. Бла-
Ря этому, можно, например, выбрать мелкий шаг h
115
и крупный шаг т при исследовании мелкомасштабна
(быстро меняющихся по х), но медленно меняющихся Со
временем процессов переноса; тем самым достигается
высокая скорость вычислений.
Из проведенного анализа следует, что разностная схеу3
(7.22) сходится при 0 < г < 1 с порядком O(h, т), схема
(7.23) сходится при любых с > 0 с порядком О(Л, ?), 9
схема (7.24) также сходится при любых с > 0 с порядком
O(h2, т2).
Явная схема (7.22) требует для решения O(MN)
= 0(1 /(hr)) = 0(h~2) арифметических операций, где М _
число временных шагов т, а неявные схемы (7.23)
(7.24) — O(MN) = O(l/(/ix)) операций.
7.3.
ЧИСЛЕННОЕ РЕШЕНИЕ
ОДНОМЕРНОГО УРАВНЕНИЯ
ТЕПЛОПРОВОДНОСТИ
Распространение тепла в одномерной области (напри-
мер, стержне) описывается уравнением эволюционного
типа
— = а2 ~ + f(x, t) (0 < х < 1), а2 = const. (7.33)
dt dx2
Здесь и — температура, а2 — коэффициент теплопро-
водности, функция f(x, t) описывает внутренние источ-
ники тепла. Уравнением (7.33) описывается также про-
цесс диффузии газа; при этом и — плотность газа, а2 =
= D -— коэффициент диффузии, f(x, t) — внутренние ис-
точники газа (выделение и поглощение). Уравнение (7.33)
дополним начальным и краевыми условиями:
и(х, 0) = <р(х), u(0, t) = Vi(t), u(l, t) = (7'.34)
Заметим, что для существования и единственности
решения уравнения (7.33) не требуется согласования на-
чального и краевых условий, т. е. не требуется выполне-
ния равенств <р(0) = Щх(О), <p(t) = фг(О), иначе говоря»
допускаются разрывы и(х, 0) на границах в начальны®
момент t = 0.
Выбрав на сетке (7.19) четырехузловой шабл^
(рис. 26, а), построим двухслойную явную разностей
схему:
116
= «2 “м. r±L-r _ fri 2 (у = lt 2,..., N _ 1),
t h2
2 =flx,,t^J’~j; (7.35)
= ф/ (/= 1, 2, ...,N~l);
(7 36)
u0 = Vl"» UN = (Ш = 0, 1, ...).
Здесь, как и в предыдущем разделе, правая часть f
для уменьшения погрешности берется на полуцелом вре-
менном шаге в момент tm + т/2, отмеченный звездочкой
на рисунке 26, а. Схему (7.35), (7.36) можно преобразо-
вать к удобному для расчетов виду:
Uj = (1 - 2ст)иу <- o(u;+1 + Uj 1) + г// (7 = 1, 2,..., W -1), (7.37)
и0 = уд, ид, = v|/2, о = xa2/h2. (7.38)
Схема (7.35) имеет в общем случае погрешность аппро-
ксимации О(т, Л2). Однако, если при f = 0 выбрать такое
отношение шагов т//г2, что о = 1/6, то погрешности ко-
нечно-разностных производных по х и t взаимно компен-
сируются и порядок аппроксимации возрастает до О(Л4).
Согласно принципу максимума (7.29), явная схема (7.37)
устойчива при ограничении на шаг
О < о < 0,5; 0 < т < 0,5Л2/а2. (7.39)
Следовательно, если для увеличения пространствен-
ного разрешения потребуется уменьшить шаг h на поря-
док, то шаг т для сохранения устойчивости придется
уменьшить на два порядка, а число арифметических опе-
раций и длительность счета, составляющие О(1/(тй)) =
~0(h~3) = O(NS), возрастут на три порядка. Поэтому,
а 6 т+1 h h °
2 ж h ' J-1 : Т : h ™ J j'+1 : т : „ т+1 _ h :Т h
>~1 j j+1 j-1 j j+f Рис. 26 Расположение узлов разностных схем для одномерного уравнения теплопроводности: а явная схема; б - неявная схема; в - схема «с полусуммой»
117
несмотря на простоту вычислений, явными схемами стара
ются не пользоваться в задачах, в которых требуется высо
кое пространственное разрешение, т. е. малый шаг h.
Рассмотрим теперь двухслойную неявную разностную
схему, построенную на шаблоне (см. рис. 26, б)
Uj - Uj _ ^2 Uj+1 - 2u.j + Uj-i
(7 = 1, 2,
h2
N-1),
(7-40)
которая отличается от схемы (7.35) лишь тем, что вторая
производная по х взята не в момент t, а в момент t + т,
Погрешности аппроксимации схем (7.35) и (7.40) одина-
ковы. Уравнение (7.40) преобразуется к виду:
ст«7+1 - (1 + 2о)й; + =-Uj- rfy (7.41)
(j = l, 2,...,1V-1), с = та2/й2,й0 = V1,UN =v2, (7.42)
и затем решается методом прогонки. В результате полу-
чаем решение Uj(J = 1, 2, ..., N - 1) на следующем вре-
менном слое в момент t + т и т. д. Пользуясь принци-
пом максимума (7.29), нетрудно установить, что неяв-
ная разностная схема (7.41) безусловно устойчива;
условие устойчивости выполняется, конечно, и для про-
гонки (параграф 6.4).
Недостаток рассмотренных разностных схем (7.35) в
(7.40) — низкий, т. е. первый порядок погрешности пог.
Рассмотрим теперь полусумму уравнений (7.35) и (7.40),
которую называют разностной схемой «с полусуммой»,
или схемой Кранка-Николсона:
Uj-Uj = им-2й,+ым иЯ1-2ну+цм7 + 4„
т 2 t h2 h2 J 1 '1 '
Можно показать, что неявная разностная схема (7.43),
построенная на шестиузловом шаблоне (см. рис. 26, в),
имеет более высокий порядок погрешности аппроксима-
ции О(т2, /г2). Уравнение (7.43) преобразуется к виду'-
-2(1 + о ^йу+й;-! (г = 1,2,...,IV-1), (7>44)
gj = -(2т/о)/у+ ~[и/+1 +2(о~1 -l)uj + щ-i ], (7,4Й'
и затем также решается методом прогонки на ка^Д011
временном шаге.
118
Из принципа максимума можно заключить, что раз-
йОстная схема (7.43) устойчива при условии ст < 1, т. е.
Однако принцип максимума является лишь доста-
^чным критерием, но не является необходимым. Поэто-
воспользуемся для анализа устойчивости схемы более
сильным, необходимым и достаточным критерием, кото-
рый называется спектральным, или критерием Нейма-
на. Для этого запишем уравнение для погрешности вы-
делений е:
Ь/ _ а2 ( E/'+l —2ej -t- Ej -1 \
т ~ 2 I h2 + h2 )' (7,46)
В (7.46), в отличие от (7.43), отсутствует правая
часть f, поскольку мы считаем ее известной точно.
Решение уравнения (7.46) будем отыскивать как сум-
му гармоник вида
Ет ~ е°рте ikx(i = 7=1), (7.47)
где т — номер временного шага, р — коэффициент рос-
та гармоники на временном шаге, k — волновое число,
е° — начальная амплитуда гармоники в момент t — 0.
Согласно спектральному критерию, для устойчивости раз-
ностной схемы необходимо и достаточно, чтобы выпол-
нялось условие
Ipl <1 (7.48)
для любых волновых чисел k. Подставляя (7.47) в (7.46)
и учитывая, что ё = ре, х, = jh, можно вывести формулу
Для р: -
р = f l-2CTsin2 — Vl-t-2CTsin2 — ] ,
И I 2 А 2 )
та2 (7.49)
h2 '
03 которой видно, что I р I < 1 для всех k, т. е. схема
*сполусуммой» безусловно устойчива. Поскольку к тому
оффективность схемы «с полусуммой» не уступает
/Активности неявной схемы (7.40), а погрешность ее
она наиболее предпочтительна для решения одно-
РНого уравнения теплопроводности.
119
7.4.
ЧИСЛЕННОЕ РЕШЕНИЕ
ДВУМЕРНОГО УРАВНЕНИЯ
ТЕПЛОПРОВОДНОСТИ
Распространение тепла или диффузия газа в двумер.
ной области G описываются уравнением
ди о а
--= U“AU4- f.
dt
(7.50)
Здесь и, a2, f обозначают те же величины, что и в
предыдущем разделе. Уравнение (7.50) дополняется крае-
вым и начальным условиями вида (7.2), (7.3). В дальней-
шем для простоты будем полагать, что G — прямоуголь-
ная область в декартовых координатах:
G = {0 < х < 1Х, 0 < у < 1У}. (7.51)
Соответственно,
4“=Й+^-
дх^ оул
(7.52)
Введем равномерную сетку (рис. 27) с узлами
ху- = jhx, yt = ihy, tm — тех,
= lx/N, hy = ly/M (j = 0, 1, .... N;
i = 0, 1, ..., M; от = 0, 1, 2, ...)
(7.53)
и, аппроксимируя производные в уравнении (7.50) ко-
нечно-разностными формулами на шестиузловом шабло-
не (рис. 28, а), построим явную двухслойную разностную
схемУ Uji-Ujt
т
ui+i,j —‘Zujj +Uj i'i Uj't+i —2uji +Uj'i-i
(7.54)
= а2
h2 h2 )
(J = 1, 2, ...»JV- 1; i = 1, 2, ..., M-l).
Значения функции и на границах j = О, N и г в
М задаются краевыми условиями. Погрешность апп-
роксимации производных в схеме (7.54) имеет поряД°к
O(h2, h'l, т). Правая часть fj-, как и в параграфах 7- <
7.3, вычисляется на полуцелом временном шаге t + <
для уменьшения невязки. Из уравнений (7.54) к03К
явно вычислять значения йц на последовательности
120
Рис. 27
Равномерная
пространственная сетка
в прямоугольнике
Рис. 28
Расположение узлов разно-
стных схем для двумерного
уравнения теплопроводности:
а — явная схема; б — экономичная
схема.
менных слоев в моменты времени t'n = тл (т = 1, 2, ...),
используя заданные начальные и краевые условия.
Для анализа устойчивости явной разностной схемы
(7.54) воспользуемся спектральным критерием. Решение
однородного уравнения для вычислительной погрешности
_ 2 ^Eft+Ey-i,; E/,i+l 2ёд + EyJ-1
T [ Й2 Л2
(7.55)
будем отыскивать, как и в параграфе 7.3, в виде суммы
гармоник
' (7.56)
аналогичных (7.47); здесь kx, ky — компоненты волново-
го вектора k. Для устойчивости разностной схемы при
аыбранном шаге т необходимо и достаточно, чтобы усло-
(7.48) выполнялось при любых kx, ky. Подставляя
•56) в (7.55) и учитывая (7.52), находим
Р = 1 - 4а2т[Л;2 sin2(0,5kxhx) + hy2 вш^О.бЛуйр)]. (7.57)
Когда синусы в (7.57) принимают единичные значе-
я> модуль множителя роста достигает максимума
121
max|p| = 4а2т(йд2 j- hy2) 1, (7.5^
и. следовательно, согласно спектральному критерии
(7.48), разностная схема (7.54) устойчива при условии
t < 0,5а 2(hx2 + Лу2)'1. (7.59)
В частном случае, когда область G — квадрат, N =
hx = hy = h, условие устойчивости (7.59) приобретает вид
т < 0,25(Л/а)2. (7.60)
Требующееся для решения число арифметических one.
раций имеет порядок О(т-1, Л-2), а с учетом условия устой-
чивости (7.60) — порядок О(/Г4) = O(7V4), т. е. очень быст.
ро увеличивается с ростом числа шагов N пространствен-
ной сетки. Поэтому простейшие явные схемы редко
используются для решения уравнения теплопроводности.
Предположим теперь, что в разностной схеме (7.54)
производная по времени в левой части сохраняется в
дифференциальной форме, т. е. задача сводится к задаче
Коши для системы линейных обыкновенных дифферен-
циальных уравнений:
u,i -a " h2 j
Ujt(O) = u^ (/ = 1, 2, = ...,M-1) (7.61)
(точка означает дифференцирование по времени t). Зада-
ча (7.61) может быть записана в матричном виде
й = Au~f, u(0) = и, и - {ujt}, f+ = {ft}, (7.62)
где и, f~ — векторы значений во внутренних узлах про-
странственной сетки, А — редкая матрица, связываю-
щая неизвестные в пяти соседних узлах. Далее задача
Коши (7.62) решается одним из методов, описанных в
предыдущей главе, например, методом последователь-
ных приближений Пикара.
Такой метод решения называют методом прямых,
как зависимости w;i(£) отыскиваются вдоль прямых,
ходящих из внутренних узлов пространственной с<
параллельно оси t. Метод безусловно устойчив и И
погрешность O(h2, hy, -?), где порядок временного >
122
= 2, если правая часть f зависит от t; если же f не
заВисит от t, то k определяется выбранным численным
методом решения системы (7.62). В частности, при ис-
пользовании метода Пикара решение по t может быть
тОчным при fe -> оо.
Явную разностную схему (7.54) можно также преоб-
разовать в неявную с той же погрешностью аппроксима-
ции 0(х, hl, /ф, если отнести все узловые значения функ-
ции п в правой части к моменту t + т, т. е. снабдить их
значком «"». Однако решение полученной таким образом
системы линейных алгебраических уравнений относитель-
но неизвестных г2д потребует O((NM)3) арифметических
операций при использовании прямых методов (пара-
граф 5.1) или 0(1 MN) операций при использовании ите-
рационных методов (параграф 5.2) с I » 1 итерациями.
В результате решение сильно замедляется и разностная
схема становится неэффективной.
Важный класс разностных схем для многомерных
уравнений в частных производных составляют так назы-
ваемые экономичные разностные схемы. Экономичными
называются разностные схемы, которые сочетают два луч-
ших свойства неявных и явйых схем: во-первых, они
обладают безусловной устойчивостью, как некоторые не-
явные схемы, а во-вторых, требующееся для их решения
число арифметических операций пропорционально чис-
лу узлов сетки, как у явных схем.
Одной из наиболее известных экономичных разност-
ных схем для двумерного уравнения теплопроводности
является продольно-поперечная схема, которая строится
на шаблоне рисунка 28, б и складывается из двух вре-
менных полушагов:
u/i ~ иа _
т/2
= а2
ui+i,i ~ 2цд + , ujti+i - 2ип +
hl
h2
+ #; (7-63)
~ a2
t/2
UJ+l,i ~ %Uji + Uhl,i + hj,i\
hl + h2
123
Как видно, уравнение (7.63) - неявное по х и явно<.
по у, а уравнение (7.64), наоборот — явное по х и неяв.
ное по у. Каждое из уравнений (7.63), (7.64) в отдельно,
сти имеет аппроксимацию O(h2, h2, т), однако можНо
показать, что на шаге т их погрешности частично ком.
пенсируются и суммарная погрешность продольно,
поперечной схемы составляет O(h%, h2, г2), т. е. это схе-
ма второго порядка.
Решение схемы на каждом временном шаге склады-
вается из двух этапов, каждый из которых представляет
собой цикл прогонок. На первом этапе из уравнения (7.63)
с помощью независимых прогонок по всем продольным
линиям сетки с номерами i = 1, 2, .., М - 1 вычисляются
значения ut в момент t + т/2, а на втором этапе по этим
значениям из уравнения (7.64) с помощью независимых
прогонок по всем поперечным линиям сетки с номерами
7 = 1,2, N - 1 вычисляются окончательные значения
йц в момент t + т. На этом временной шаг завершается,
Анализ устойчивости продольно-поперечной схемы с
помощью спектрального критерия показывает, что схема
безусловно устойчива и, следовательно, сходится к точно-
му решению со вторым порядком. Название схемы указы-
вает на чередование при решении продольных и попереч-
ных прогонок; иногда рассмотренную схему называют так-
же по фамилиям авторов схемой Писмена-Рекфорда.
Отметим еще, что использованное в схеме дробление вре-
менного шага (на два полушага) применяется и при реше-
нии многих других уравнений в частных производных;
все такие методы называют методами дробных шагов.
7.5.
ЧИСЛЕННЫЕ РЕШЕНИЯ
УРАВНЕНИЙ ЭЛЛИПТИЧЕСКОГО ТИПА
Типичным уравнением в частных производных эл-
липтического типа является уравнение вида
-Ан + уи = f. (7.65)
При ц 0, f 0 уравнение (7.65) представляет собо*1
неоднородное уравнение Гельмгольца, при ц Ф 0, f = ®
однородное уравнение Гельмгольца, при ц — 0 — ура®00
ние Пуассона
124
Ли = -f (7.66)
0t наконец, при ц = 0 и f = О — уравнение Лапласа. Так,
^пример, однородным уравнением Гельмгольца
Д£ + &2Ё = О (7.67)
узлов простран-
ственной сетки
для двумерного
уравнения
эллиптического
типа
описывается стационарное распределение в резонаторе
электрического поля Ё с волновым числом k; уравнение
Пуассона
Д(р = -р/е (7.68)
описывает распределение электрического потенциала <р в
среде с плотностью заряда р и электрической проницае-
иостью s и т. п. Установившееся распределение темпера-
туры (или плотности газа) также описывается уравнени-
ем Пуассона, которое получается из уравнения тепло-
проводности (диффузии) вида (7.50) при ди/51 = 0.
Поскольку уравнения эллиптического типа часто
встречаются в важных физических приложениях, для
их решения разработано много численных методов, ко-
торые можно разделить на конечно-
разностные и проекционные. (В про-
екционных методах также часто ис-
пользуется некоторая сетка; такие
методы называют проекционно-сеточ-
ными.) В дальнейшем в этом разделе
ограничимся так называемой зада-
чей Дирихле, или первой краевой
задачей для уравнения Пуассона
Au(r) = -/(r)(reG),
u(f) = v|/(r) (f е Г) (7-69)
в прямоугольнике G (7.51) с границей
используя равномерную сетку (7.53).
Рассмотрим сначала конечно-раз-
к°стные методы. Аппроксимируем вторые производные
в операторе А = <92/<?х2 + д2/ду2 конечно-разностными фор-
мулами на пятиточечном шаблоне «крест» (рис. 29) и
встроим разностную схему
+--------—--------_
| hl h2
l(j = 1, 2, ..., N- 1; i = 1, 2, ..., M- 1).
(7.70)
125
Схема (7.70) имеет погрешность аппроксимации
О(й2, йр, т. е. это схема второго порядка; значения ujjt
при j = 0, N и I = 0, М задаются краевыми условиями.
Уравнения (7.70) представляют собой систему (N -
(М - 1) линейных алгебраических уравнений, которую
можно записать в виде
Аи = Ь. (7.71)
Здесь и — вектор значений utl во всех внутренних уз.
лах сетки, имеющий (N - 1) (М - 1) элементов; b — век-
тор правой части, включающий как значения во внут-
ренних узлах сетки, так и краевые значения;-А — сим-
метричная редкая матрица размерности (N ~ 1) (М ~ 1) х
х (IV - 1) (М - 1).
Для решения полученной системы (7.71) можно ис-
пользовать методы, описанные в главе 5, например, ме-
тод Зейделя, метод последовательной верхней релакса-
ции, ускорение сходимости с использованием чебышев-
ского набора итерационных параметров и др. Поскольку
в некоторых методах используются собственные значе-
ния матрицы А, заметим, что простота структуры мат-
рицы А в рассматриваемой задаче (7.70) позволяет най-
ти ее собственные значения аналитически. Отыскивая
для этого решение уравнения собственных значений
матрицы А
Аи = 'к(А)и, (7.72)
где (Аи);, представляет собой левую часть уравнения (7.70),
в виде
. пп] . jimi (п цт
u.i-sin—-sin-----, (<.н>)
1 N M
можно после элементарных преобразований найти 4 \
л i
Х(А) = -4( hx2 sin2 + hy2 sin2
' V 2N У 2М) 1]
(п = 1, 2, ..., IV- 1; т = 1, 2, ..., М-1). (7-fl
(Решение (7.73) обращается в нуль на границе Г пря®Т
угольника G (7.51), как и должно быть, поскольку
перенесли краевые значения в правую часть Ь уравнем
(7.71), после чего значения на границе стали нулевые
В частности, из (7.74) находим |
126
|л(А)| . =
’ ' 'I nun
-4(hx2 +hy2]. (7-75)
В квадрате при lx = ly = I, N = M, hx = hy = h
( \2
И_=«/‘’.МЛ=(|] • (7-76)
8 число обусловленности
НЮМ. =o,4№. (7.77>
Из (7.77) видно, что число обусловленности р пропор-
ционально числу узлов сетки №, и при N ~ 102 составля-
ет несколько тысяч, т. е. матрица А плохо обусловлен-
цая. Поэтому для решения системы (7.71) следует ис-
пользовать методы с повышенной скоростью сходимости.
Будем теперь рассматривать уравнение (7.69) как ус-
тановившийся предел при t —> оо уравнения теплопровод-
ности вида (7.50), когда du/dt 0. Соответственно, реше-
ние задачи (7.69) будем рассматривать как предел при
t -> со решения уравнения теплопроводности. Конечно-
разностные методы, основанные на таком подходе, назы-
вают методами установления. Достоинство методов уста-
новления в том, что они открывают возможности ис-
пользовать для решения уравнений эллиптического типа
эффективные методы решения уравнения теплопровод^
яости, например, описанную в предыдущем разделе эко-
номичную продольно-поперечную разностную схему. Ре-
шение при этом выполняется шагами по времени т до тех
пор, пока значения и, полученные на соседних шагах, не
станут достаточно близкими.
Число итераций в конечно-разностных методах (или,
соответственно, число временных шагов в методах уста-
новления) можно уменьшить, если удастся выбрать на--
нальное приближение (начальное условие), достаточно
близкое к ожидаемому решению. Так, в задачах физики
часто приходится моделировать изменение потенциала <р
•68) при малых изменениях плотности заряда р. Тогда
Качестве начального приближения можно принять рас-
аРеделение потенциала, полученное в предыдущем вари-
Те! в результате для сходимости потребуется немного
еРаций, решение будет быстрым.
127
Перейдем теперь к проекционным методам. Для пр0
стоты при рассмотрении проекционных методов крЭе
вые условия будем полагать нулевыми, хотя это огрц
ничение можно снять. Таким образом, будем рассмат,
ривать задачу
Ди(г) + Дг) = 0 (г е G), и(г) = 0 (г е Г). (7.7^
В проекционных методах решение этой задачи отые.
кивается в виде
u(r) = £cftufc(r), (7.79)
k
где {^(г)} — некоторая выбранная система функций
обращающихся в 0 на границе Г, а {ck} — не известные
пока коэффициенты.
Наиболее распространенными из проекционных ме-
тодов являются методы Галеркина (или Бубнова-Галер-
кина). В этих методах коэффициенты {<•„} находятся из
системы уравнений
(Au + f, vm) = 0(т =1, 2, 3, ...), (7.80)
где круглые скобки, как обычно, обозначают скалярное
произведение, т. е. интеграл по области G. (По аналогии
с векторным анализом можно представлять скалярное
произведение (7.80) как «проекцию» Ди + f на коорди-
натную функцию vm.) Подставляя разложение (7.79) в
(7.80) и меняя порядок суммирования и интегрирова-
ния, получаем систему линейных алгебраических урав-
нений
(7.81)
£cft(Ai>fc,u„) = -(f,i>OT) (т = 1, 2, 3, ...)
k
для нахождения коэффициентов {ck}. Решив систему
(7.81), получаем и решение (7.79).
Основное достоинство проекционных методов в тов
что в них отсутствует разностная схема, и поэтому отсв
ствуют погрешности аппроксимации дифференциалы™
выражений конечно-разностными. Вместо этого име^|
ся погрешности усечения рядов, возникающие из-за
что в ряде (7.79) используется не бесконечное, а ко
ное число членов; но обычно погрешность усечения
щественно меньше погрешности конечно-разностной(||
проксимации. Кроме того, решением вида (7.79) '
пользоваться как обычной аналитической функцией, т. е.
вЬ1числять u(r) в произвольных точках, а не только в
узлах сетки, дифференцировать, интегрировать и т. д.
В качестве примера методов Галеркина рассмотрим
часто применяемый метод двукратного преобразования
фурье для задачи (7.78). В этом методе решение и(х, у) и
правая часть f(x, у) представляются двухкратными ко-
ечными рядами Фурье:
N-1M-1 ____
и(х, У) = X Z sin^y^sin^—
n=l m=l G
N-1M-1
f(x,y)= sin^sin™
n=l m=l G •'У
(7.82)
(7.83)
(черточкой отмечаются коэффициенты рядов). В силу
ортогональности тригонометрических функций в прямо-
угольнике G (7.51), система (7.81) имеет диагональную
матрицу; благодаря этому легко находим связь коэффи-
циентов Unm C fnm •
йпт =[(лп//ж)2 +(пт/1у)2 (7.84)
Коэффициенты Фурье fnm^ входящие в равенство
(7.84), можно получить, домножая ряд (7.83) на
sin(nn'x//x)sin(nm'z//Zy)
и суммируя затем по всем узлам сетки с номерами j — 1,
2,.. ., ДГ-1; 1 = 1, 2, .... М-1:
tnm. — / i / lit SIH Sin
N M
(n = l, 2,..., N-l; m = l, 2,..., M-l).
Решение, таким образом, складывается из трех эта-
Пов: 1) вычисление fnm (7.85) с помощью алгоритмов
^строго преобразования Фурье (глава 1), 2) вычисление
% (7.84), 3) вычисление u;f по формуле (7.82) во всех
Узлах сетки:
(7.85)
х-1 v — • unj • тит
иа-7 / Uli Sin------Sin----
'• Ь Ь '• N M
n-l т=1
(/ = 1,2,..., ZV-1; i = l, 2,.... М-1).
...... ‘йй
(7.86)
128
129
с помощью быстрого преобразования Фурье. ТребуеМое
для решения число арифметических операций имеет По
рядок O(NM х log2(NM)). Поскольку логарифм —
ленно меняющаяся функция, число операций почти ли.
нейно зависит от числа узлов сетки NM. Если и(х, у}
функция с ограниченным спектром, имеющая не более#
гармоник по х и М гармоник по у, то полученное реще.
ние будет точным. При этом функция и(х, у) (7.82) и ее
производные будут точными во всех точках области Q
Если же спектр и(х, у) не ограничен, т. е. имеет «высоко,
частотный хвост», то решение обладает погрешностью
вследствие усечения ряда Фурье, которая тем больше
чем менее гладкой является функция и(х, у) (чем длин-
нее «хвост» спектра).
Особенно широкое применение методы Галеркина по-
лучили в последнее время в форме так называемых мето-
дов конечных элементов. В этих методах функции vh(f)
в (7.79) выбираются так, что они имеют конечный носи-
тель, т. е. отличны от нуля в некоторой малой части AG*
области G. Такие функции иЦг), а иногда и сами носите-
ли \Gk называют конечными элементами. Умелый выбор
конечных элементов очень облегчает и ускоряет числен-
ное решение многих задач теории потенциала, теории
упругости, теории пластичности и других прикладных
задач физики. Более детально, однако, методы конечных
элементов здесь рассматривать не будем, так как они
выходят за рамки нашего небольшого учебного пособия
и требуют дополнительного изучения.
7.6.
ДИСПЕРСИЯ, ДИССИПАЦИЯ
И МОНОТОННОСТЬ
РАЗНОСТНЫХ СХЕМ
При решении дифференциальных уравнений с помо-
щью разностных схем возможны некоторые нефизиче-
ские явления, т. е. явления, обусловленные не физик0®
процесса, а методом, схемой решения. Поэтому таК0е
явления иногда называют схемными. Одно из таких я®
лений — схемная дисперсия. Как известно, распросТР®
нение волновых процессов в какой-либо среде харак
ризуется фазовой и групповой огр скоростями:
., со ____do у 2тс z orj\
, игР-—> « = —• (7.87)
k dk к
Здесь со, k, к — частота, волновое число и длина вол-
дЫ соответственно. Если фазовая скорость оф зависит от
застоты со, то говорят, что среда обладает дисперсией,
которая называется нормальной, если
^<0, пф >огр, (7.88)
я аномальной, если
— >0, оф<огр. (7.89)
Даже если в физической среде (например, в вакууме)
дисперсия отсутствует, введение расчетной пространствен-
ной сетки почти всегда приводит к появлению схемной
дисперсии, обычно нормальной. Рассмотрим, например,
распространение прямоугольного импульса в среде. Кру-
тые фронты импульса создаются высокочастотными ком-
понентами. Если дисперсия отсутствует, импульс будет
перемещаться с фазовой скоростью иф = со/k, неограни-
ченно долго не меняя формы (рис. 30, а). В среде с нор-
мальной дисперсией крутые фронты по мере движения
сглаживаются, а позади импульса возникает колебатель-
ный «хвост», создаваемый отставшими высокочастотны-
ми компонентами (рис. 30, б).
В среде с аномальной диспер-
сией перед сглаженным им-
пульсом постепенно появля-
ется колебательный фронт,
созданный быстрыми высоко-
частотными компонентами
(рис. 30, в). Но даже если
нмпульс первоначально имел
достаточно гладкую форму,
колебательные задний или пе-
Нний фронты неизбежно воз-
“йкают при его распростране-
Ei,a вследствие вычислитель-
Нь’х погрешностей, которые
^вмешиваются к решению
обычно имеют сплошной
‘6RtP («белый шум»).
Рис. 30
Изменение со временем формы
прямоугольного импульса при
распространении в среде без
дисперсии (а), с нормальной
дисперсией (б) и с аномаль-
ной дисперсией (в)
130
131
Схемная дисперсия особенно сказывается на высоко,
частотных (коротковолновых) компонентах решения, тог.
да как низкочастотные (длинноволновые) компоненту
практически не испытывают схемной дисперсии (как бы
«не замечают» введенную сетку) и распространяются г
той же скоростью, что и в физической системе. Для умень-
шения влияния схемной дисперсии желательно, по воз-
можности, использовать малый пространственный h и
временной т шаги, что, конечно, соответственно увели-
чивает затраты машинных ресурсов (длительности счета
и памяти). Полностью устранить нефизическую диспер-
сию можно, устранив конечно-разностные производные
по времени и пространству, например, отыскивая реше-
ние в виде ряда Фурье и вычисляя производные членов
ряда аналитически.
Другим нефизическим эффектом является схемная
диссипация — постепенное затухание (уменьшение амп-
литуды) волны по мере распространения. В зарубежной
литературе эффекты схемной дисперсии и диссипации
часто называют схемной диффузией. Как и схемная дис-
персия, схемная диссипация сильнее сказывается на вы-
сокочастотных гармониках решения, которые довольно
быстро затухают, тогда как низкочастотные гармоники
практически не испытывают диссипации, как и в бездис-
сипативной физической среде. Иногда диссипация отсут-
"М
t=o v f>0
““~1 *ф
Рис. 31
Изменение со временем формы
прямоугольного импульса
при распространении в среде
с дисперсией и диссипацией
ствует лишь на частоте со = 0 (на постоянной составляю-
щей решения). В таких случаях говорят, что разностная
схема обладает «аппроксимационной вязкостью». В ре-
зультате дисперсии и диссипации первоначально прямо-
угольный импульс по мере распространения приобретает
форму колокола (рис. 31). Существуют, однако, разност-
ные схемы, не обладающие диссипацией. В этом случай
колебательные задний или передний фронты будут Bt
ограниченно долго сопровождать импульс, распростр8
пяющийся в среде с дисперсией.
132
(7.92)
(7.93)
Для анализа нефизических явлений решение одно-
мерной разностной схемы отыскивается в виде
ит _ gUmmx-kjh), (7.90)
причем
со = со' + 1<а", со' = Reco, и" = Imro. (7.91)
Здесь т = 0, 1, 2, ... — номер временного шага, / = 0,
1, 2, ••• — номер узла пространственной сетки, со’ — дей-
ствительная часть частоты со, со" — мнимая часть частоты.
Подставляя вид решения (7.90) в разностную схему и
разделяя в ней действительную и мнимую части, можно
получить два уравнения, из которых найти со'(Лг) и со"(Лг),
а следовательно, фазовую скорость
_со'(/г)
k ’
итак называемый «множитель роста»
р = е-<»”(лв ~ 1 _ Ш"(Й)Т,
характеризующий изменение амплитуды волны на шаге т.
В зависимости от значения со" и р возможны следующие
случаи:
1) co"(fe) > 0, р < 1 для любых k — устойчивая разност-
ная схема с диссипацией;
2) со"(й) > 0, р < 1 для любых со' >0 и со"= 0, р = 1 на
частоте со = 0 — устойчивая разностная схема с аппрок-
симационной вязкостью;
3) co"(fe) = 0, р = 1 для любых k — устойчивая разно-
стная схема без диссипации;
4) со"(Лг) < 0, р > 1 — неустойчивая разностная схема.
Более строгий анализ показывает, что устойчивость
возможна и при значениях
р = 1 + Ст (С = const) (7.94)
ко если хотя бы для одной гармоники С > 0, то это так
вызываемая «слабая устойчивость».
Отсутствие диссипации в разностной схеме, обладаю-
щей дисперсией, надо понимать в следующем смысле:
амплитуды пространственных гармоник (с разными k)
Щ Меняются со временем, но их относительные фазы
чаются из-за дисперсии; поэтому и форма волны, оп-
^еляемая суммой гармоник ряда Фурье, может меняться
временем по сложному закону.
133
Решения некоторых уравнений в частных производ,
ных, например, уравнения переноса или теплопроводно,
сти могут обладать свойствами монотонности, котор0е
означает: если профиль и(х, 0) в начальный момент вре.
мени t = О является монотонным, то эта монотонное^
сохраняется в ходе эволюции для u(x, i) при любых t > g
Если начальная монотонность сохраняется и для реще.
ния разностной схемы, то такая схема называется моц0.
тонной, если же монотонность не сохраняется, схему ца.
зывают немонотонной. На рисунке 32 показано, что пер.
Рис. 32
Изменение со временем первона-
чально монотонного профиля (1)
при использовании монотонной
х (2) и немонотонной (3) разно-
•*" стных схем
воначально прямоугольный (ступенчатый) профиль при
счете по монотонной разностной схеме сглаживается, но
остается монотонным, тогда как при немонотонной схе-
ме приобретает колебательную форму. Монотонность -
полезное свойство разностной схемы. Она предохраняет,
например, от возможности возникновения в ходе реше-
ния немонотонных схем таких нежелательных, нефизи-
ческих явлений, как отрицательные значения концент-
рации среды или абсолютной температуры, которые слож-
но устранить другими способами.
Имеются признаки монотонности разностных схем,
хотя для неявных схем ими воспользоваться довольно
сложно. Недостаток монотонных разностных схем — бо-
лее высокая погрешность. Так, например, доказано, что
монотонная двухслойная разностная схема для уравне-
ния переноса (7.16) обязательно должна иметь порядок
погрешности ниже второго. Поэтому при использовании
монотонных разностных схем для сохранения приемл6'
мой погрешности требуются достаточно малые шаги
и повышенная загрузка компьютера.
Анализ рассмотренных ранее разностных схем
уравнения переноса показывает, например, что явная
узловая, условно устойчивая разностная схема (7.22
монотонная с нормальной дисперсией и аппрбксим
онной вязкостью; неявная трехузловая, безусловно
уливая схема бегущего счета (7.23) — также монотон-
с нормальной дисперсией, обладающая аппроксима-
ционной вязкостью при г = cx/h > 1 и диссипативная
прЯ г < 1. Неявная четырехузловая, безусловно устойчи-
8цЛ схема бегущего счета (7.24) — немонотонная (по-
скольку имеет второй порядок погрешности), бездисси-
цативная (т. е. р = 1 для любых й), с нормальной диспер-
сией при г — cx/h > 1, аномальной дисперсией при г < 1
й без дисперсии при г = 1.
Особую проблему составляет необходимое иногда со-
хранение при счете крутых (например, ступенчатых)
фронтов при распространении сплошной среды. Монотон-
ность разностной схемы не обеспечивает сохранение кру-
того фронта, как показано на рисунке 32, и для поддержа-
ния крутизны необходима специальная, достаточно слож-
ная коррекция решения на каждом временном шаге. Из-за
схемных эффектов часто приходится ограничивать дли-
тельность счета разностных схем такими временами, на
которых нефизические искажения распространяющихся
импульсов или волн сохраняют приемлемую величину
7.7.
ЧИСЛЕННЫЕ РЕШЕНИЯ
УРАВНЕНИЙ
ГИПЕРБОЛИЧЕСКОГО ТИПА
Распространение колебаний и волн (электромагнит-
ных, упругих, акустических и др.) в направлении оси х в
неограниченной среде описывается одномерным уравне-
нием гиперболического типа
(7.95)
(7.96)
^ = а2-|^-+/(х,г)(0<*<Т)
охЛ дх^
с начальными условиями
U(X, 0) = Щ (х), = Ц2 (х).
ОТ
Здесь а2 — квадрат фазовой скорости волны, а функ-
f(x, t) — описывает влияние среды, т. е. возбужде-
аие иди ПОГЛОщение волн средой. В ограниченной обла-
(0 < х < I) следует добавить еще краевые условия
u(0, t) = p3(t), u(l, t) = (7.97)
134
135
m + 1, t+-,
h m,t
Рис. 33
Расположение узлов
трехслойной разно-
стной схемы «крест»
h
м 7
:m-1, t-т
j
Уравнение (7.95) описывает Ка!.
волны, распространяющиеся нацра
во с фазовой скоростью а > 0, так й
волны, распространяющиеся налев0
с фазовой скоростью —а < 0.
Для численного решения уравце.
ний гиперболического типа обычно
используются явные разностные схе.
мы. Простейшая явная, трехслойная
разностная схема для уравнения
(7.95), построенная на 5-узловом щад,
лоне «крест» (рис. 33), имеет вид:
й-j - 2и, + uji _ 2 и-+1 -2uj +Mj-i
T2 ~a h2 Ti (7.98)
(7 = 1, 2, ..., N-l),
Uo = Цз, un = (7.99)
Схема имеет погрешность О(т2, Л2); согласно спект-
ральному критерию устойчивости является устойчивой
и бездиссипативной при условии
г = ^<1, (7.100)
h
где г _ число Куранта. Схема обладает нормальной дис-
персией, и низкочастотные (длинноволновые) компонен-
ты решения распространяются по сетке с фазовой скоро-
стью Рф » а, тогда как высокочастотные (коротковолно-
вые) компоненты испытывают нефизическое замедление
до значения
—^0,637а. (7.101)
л
При выборе шагов h, т следует учитывать, что мини-
мальная длина волны, различимая на сетке с шагом Л>
составляет 2h, а максимальная частота равна 0,5/т-
Чтобы начать вычисления по формуле (7.98), неоохо-
димо располагать значениями и0 и и1:
и° = и(х, 0) = pi(x), и1 = и(х, т), (7.10Й
причем для сохранения второго порядка погрешяо^
надо иметь и1 с погрешностью третьего порядка, Сое
ляя для этого ряд Тейлора
а2^-
dx2
(7.105)
2
и1 = u° + xtz® + 0,5т2и® +О(т3) (7.103)
0 подставляя в него п®, найденное из уравнения (7.95):
u?t=a2u°x+f(x,0) = a2^-^- + f, (7.104)
ах2
получаем:
и1=ц1+тц2 +
Более сложная неявная, трехслойная разностная схе-
ma второго порядка, построенная на 9-узловом шаблоне
(рис. 34), имеет вид
— 2“ + и = Л[стц + (1 - 2ст)и + сти] + /, (7.106)
где обозначено:
а2
л“;=^-(М;+1-2иу+им), (7.107)
а о — некоторая константа. Можно доказать, что схема
безусловно устойчива при значениях
0,25 < ст < 0,5. (7.108)
В частности, при ст = 0,25 получаем схему
(7.109)
а при ст = 0,5 — схему
й-2и+й _ д й + й ?
т2 2
\ 7
Значение и1 здесь вычисля-
ется по формуле (7.105), как и
Для явной схемы, а решения и2,
ц ,... на следующих временных
Шагах находятся с помощью про-
улки по верхнему временному
сл°ю схемы рисунка 34.
Как и для обыкновенных диф-
ференциальных уравнений, урав-
®евие второго порядка (7.95)
^но свести к системе уравне-
'111 первого порядка:
(7.110)
Рис. 34
Расположение узлов
девятиузловой
разностной схемы
136
137
ди _ си
г?Г<3х’ (7.1Ц,
'£E=Af(V).
dt дх
где v
v(x,t)= ju((s,l)ds, (7 ц
F(x,t)= jf(s,t)ds. (7.113
о
При этом краевые условия (7.97) сохраняются, а на-
чальные условия приобретают вид:
и(х, 0) = щ(х), v(x, 0) = |ц2(s)ds. (7.114)
о
Систему уравнений (7.111) часто называют уравне-
ниями акустики, в которой она широко используется.
Вводя вектор неизвестных значений Vj(t) в узлах
Xj пространственной сетки, можно привести (7.111) к си-
стеме обыкновенных дифференциальных уравнений пер-
вого порядка для Uj, v, и воспользоваться для решения
полученной системы безусловно устойчивым методом пря-
мых в модификации Пикара, аналогичным методу (7.62).
Для численного решения уравнений гиперболическо-
го типа часто используются явные разностные схемы «на
сдвинутых сетках». В качестве примера рассмотрим рас-
пространение вдоль оси х в однородной среде плоской
электромагнитной волны с компонентами Еу и Н,. Обо-
значая
и = ZEy,
v = Hz,Z = 7е/ц,а = 1/^/ец, (7.115)
где с, р — диэлектрическая и магнитная проницаемости,
Z — волновое сопротивление среды, а — фазовая ско-
рость волны, можно привести однородные вихревые ура®
нения Максвелла к виду:
—+ а—= 0,
dt дх
^ + а^ = 0
.51 дх
начальными условиями (7.96) для и, щ. Краевые усло-
6цЯ для и в ограниченной среде (в зазоре между двумя
пластинами) могут задаваться в виде (7.97).
Ца рисунке 35 показан участок сдвинутых сеток для
системы (7.116); на рисунке точки — узлы сетки и, кружоч-
— узлы сетки v. Два узла,
обведенные штриховой линией,
будем считать единым сдвоен-
лым узлом (/, т), где т — но-
мер временного шага. Тогда
разностную схему для системы
(7.116) можно записать в виде:
Рис. 35
Участок сдвинутых сеток;
штриховой линией показан
сдвоенный узел (j, т)
= 0, (7.117)
т h
“'=0. (7.118)
т h
Поскольку систему (7.117), (7.118) можно легко све-
сти к разностной схеме вида (7.98), она также имеет
погрешность O(h2,x2) и нормальную дисперсию с замед-
лением высших гармоник до скорости (7.101), бездисси-
пативна и устойчива при условии Куранта г < 1.
При численном решении на каждом временном шаге
сначала находится й из уравнения (7.117), а затем v из
уравнения (7.118). Для начала счета следует найти и(х,т/2)
по формулам:
г(х, т/2) = v(x, 0) + 0,5w( (х, 0) + 0,125т2у»(х, 0);
г((х, 0) = -аи? = -а^-;
dx
vtt(x, 0) = -auxt(x, 0) = -а—uf° = -а^-.
дх dx
Явные разностные схемы, в том числе и на сдвину-
тых сетках, можно аналогично записать для двумерных
4 тРехмерных задач теории поля. При этом число сдви-
^Тых сеток равняется числу учитываемых в задаче ком-
мент электромагнитного поля и составляет от 2 до 6.
построении сдвинутых сеток удобно придерживать-
' Следующего правила: участки границы области, на
т°Рых ддЯ некоторой компоненты поля задано краевое
(7.119)
138
139
Рис. 36
Сдвинутые сетки
и (сплошные линии
с условиями первого рода
на границе) и v (штрихо-
вые линии с условиями
второго рода на границе;
точки — узлы и,
кружки — узлы и,
штриховой овал —
сдвинутый узел j, t.
условие первого рода, должны располагаться на линиях
ее сетки, а участки сетки, на которых задано краевое
условие второго рода, должны быть смещены на полшага
от границы. Такое расположение сеточных линий облег-
чает задание краевых условий в разностных уравнениях.
Пример такой сетки показан на рисунке 36. Условие ус-
тойчивости Куранта для трехмерной сетки имеет вид:
ОфТ(Лх2 +hy2 + ftj2)<l,
(7.120)
где hx, hy, hz — шаги сетки по х, у, 2 соответственно.
При численном решении уравнений гиперболическо-
го типа для электромагнитного поля большие вычисли-
тельные трудности создают открытые участки границы,
т. е. участки, на которых отсутствует отражение и име-
ется свободное прохождение волны через границу. На
этих участках границы надо моделировать известный в
физике «принцип излучения», т. е. отсутствие волн, по-
ступающих извне в систему. Для этого надо ввести неко-
торые предположения о характере поля вне расчетной
сетки и аккуратно «сшить» поля на открытой границе.
Иногда при этом на «сшивание» расходуется основное
время счета.
Наконец, отметим еще один нефизический эффект,
который может возникать при моделировании взаимо-
действия электромагнитных волн с релятивистскими
электронными пучками, распространяющимися со ско-
ростью, близкой к скорости света с. В разностных сх
мах с нормальной дисперсией (а таких большинстк1
пучок будет распространяться со скоростью, заметь
превышающей фазовую скорость паразитных высп111
140
гармоник поля, которые обязательно возникают вслед-
ствие вычислительных погрешностей, обычно имеющих
сплошной спектр. Вследствие этого становятся возмож-
ными «схемное черенковское излучение» и вызванные
цы неустойчивости пучка. В принципе, паразитные выс-
шие гармоники поля можно подавить путем фильтра-
ции решения на каждом временном шаге, но это требу-
ет осторожности, поскольку может иметь следствием
нефизическое нарушение закона сохранения энергии
(консервативности) и нефизическое изменение фазовой
и групповой скорости электромагнитной волны.
7.8.
ОСОБЕННОСТИ
ЧИСЛЕННОГО РЕШЕНИЯ
КВАЗИЛИНЕЙНЫХ УРАВНЕНИЙ
В ЧАСТНЫХ ПРОИЗВОДНЫХ
Квазилинейными называют дифференциальные урав-
нения, в которых производные входят линейно, но коэф-
фициенты при них являются функциями искомого ре-
шения. Простейшим примером может служить одномер-
ное квазилинейное уравнение переноса
^+u^=f(x,t),(O<x<l) (7.121)
8t дх ’
с начальным и краевым условиями
и(х, 0) = <р(х), u(0, t) = у(£). (7.122)
Правая часть уравнения f(x, t) описывает внутренние
источники сплошной среды, влияющие на ее концентра-
цию u(x, t), например, натекание извне, абсорбцию на
стенках канала и т. п. Уравнение (7.121) можно запи-
сать и в так называемой дивергентной форме;
ди , dF ,, ..
_+_ = Лх,0, (7.123)
F(x,.u, 0 = и2/2, (7.124)
гДер __ «поток» (flux).
Однородное квазилинейное уравнение переноса име-
5ТВИд 5u,S.F_n
fe. dt дх (7.125)
1
Примерами такого уравнения являются уравнение
непрерывности в механике сплошной среды или закс
сохранения заряда в теории поля:
^p+^L
dt дх
= O,j = pu,
(7.121,
где р(х, i) — плотность объемного заряда, j(x, t) — плот-
ность тока, и(х, t) — средняя скорость заряженного по-
тока в точке х в момент времени t. Уравнение (7.126) —.
квазилинейное, так как скорость и зависит от электри-
ческого поля, которое, в свою очередь, зависит от плот-
ности объемного заряда р.
Уравнение (7.125) с потоком (7.124) имёет аналити-
ческое решение
и(х, t) = <р(х - ut),
(7.127)
аналогичное (7.18), но с переменной скоростью u(x, t),
что сразу приводит к ряду физических явлений, сильно
осложняющих численное решение. Из этих явлений наи-
большие трудности создают сильные и слабые разрывы
которые могут возникать в решении со временем t. Сил
ными разрывами, или ударными волнами называют ра
рывы функции u(x, t), а слабые разрывы — это разр:;
вы производной их. Физически разрывы возникают и
за того, что частицы среды, движущиеся с разным
скоростями, могут отставать от других частиц, дого
нять и обгонять их, так что в некоторых точках
вдоль некоторых линий концентрация среды может м
няться скачком. При возникновении ударных волн не
прерывное решение построить не удается, решение ст ’
новится неоднозначным, и можно лишь отыскивать нс
которое обобщенное решение, используя какой-ли
физический закон сохранения.
Для сглаживания разрывов и получения однозначно
го решения в дифференциальные уравнения иногда вЯЙ
дят дополнительные члены — «искусственную вязкости
(«псевдовязкость»), которые малы вдали от разрывов,®
велики вблизи разрывов и препятствуют их развитйд
Этой же цели может служить «схемная вязкость», явлЯ®
щаяся свойством используемой разностной схем !1/
численного метода.
142
Прежде чем перейти к рассмотрению методов числен-
ного решения квазилинейных уравнений, отметим одно
03 важных свойств некоторых дифференциальных уравне-
ний физики — свойство консервативности, под которым
понимается выполнение физических законов сохранения.
Для однородного уравнения переноса (7.125) свойство
консервативности представляет собой закон сохранения
полного заряда (или массы) и имеет вид:
i т
J[w(x, Т) - и(х, O)]dx + |[F(Z, t) - F(0, t)]dt = 0. (7.128)
о 0
Здесь первый интеграл представляет собой измене-
ние количества вещества (или заряда) в области [0, I] за
время Т, а второй — суммарный приток вещества через
границы х = 0 и х = / за то же время. В разностной схеме
интегрирование надо заменить суммированием по всем
ячейкам разностной сетки. Если для разностной схемы
удовлетворяется равенство
+ W - Fom) = °’ (7.129)
где / — номера пространственных узлов х, (j = 0, 1, 2,
..., N), пг — номера временных слоев tm (m =0, 1,2, ..., М),
то говорят, что разностная схема обладает свойством кон-
сервативности. (Заметим, что в суммах исчезли все внут-
ренние линии пространственно-временной сетки.) Если
же равенство (7.129) не выполняется, то схема считается
неконсервативной.
Если разностная схема удовлетворяет нескольким фи-
зическим законам сохранения, то она называется полно-
стью консервативной. Консервативность :— полезное свой-
ство разностной схемы, так как оно правильно отобра-
жает физические свойства исследуемой системы. Однако
обычно трудно добиться, чтобы разностная схема имела
одновременно хорошую аппроксимацию, монотонность и
консервативность, и из этих свойств приходится выби-
вать наиболее важное в рассматриваемой задаче.
Для уравнения
= 0 (7.130)
ct дх ' ’
йаиболее простая явная, неконсервативная разностная
СхеМа имеет вид
143
(7.131;
Uj-Uj
—----- + и, —--— = 0.
г ' h
Из дивергентной формы (7.125) уравнения можно ц0.
лучить явную, консервативную разностную схему
^1 + Ц>~Цк = 0 (7.132)
г 2h '
и более сложную неявную, консервативную разностную
схему бегущего счета:
! й?-й?л _о
t 2h
вычисления по которой выполняются по формуле
Ц/-Ц/-1
(7.133)
(/ = 1,2,3,...). (7.134)
’max) (7.135)
й,=-*+М+“в,+й/
Т V -Г т
В задачах физики часто встречаются многомерные
квазилинейные уравнения переноса. Некоторые методы
численного решения таких уравнений рассмотрим на при-
мере однородного двумерного уравнения
dt дх dv
для функции трех переменных u(x, v, t). В общем случае
функция w зависит от всех переменных:
w = w(x, v, и, t). (7.136)
Вид (7.135) имеет, в частности, известное уравнение
Власова, которое часто используется в физической элек-
тронике, физике плазмы, физике заряженных пучков.
При w = 0 уравнение (7.135) имеет аналитическое
решение вида
u(x, v, t) = aeik<-x~v‘) (а = const).
Согласно (7.137)
|u(x, v, t)l = Iи(х, 0,0)1 = la| = const, (7.138*
(7.137)
тогда как
= |-ifetu(x,o,t)| = fet|n|->oo
(7.13
при t -> оо. Такое явление, когда решение ограничен0,
его производная неограниченно возрастает со вре>,е0е
144
называют «градиентной катастрофой» Отметим, что гра-
диентная катастрофа — свойство аналитического реше-
ния И обусловлено физикой процесса, а не численным
метод°м.
Для численного решения квазилинейного уравнения
(7.135) конечно-разностным методом введем равномерную
двумерную сетку по х, и с узлами Xj, Vt и шагами hx, hu
соответственно. Согласно (7.137), длина волны по v опре-
деляется равенством
д kvt = 2л, (7.140)
а поскольку минимальная длина волны составляет 2/ш,
максимальное время счета на выбранной сетке
. ± 2л л
Imax ” “Т7-• (7.141)
2khv khv '
Как показывает детальный анализ, в течение интер-
вала времени tmax спектр решения по v смещается в сто-
рону все более высоких частот со„ вплоть до верхней гра-
ницы
,, _ л
max — ,
hv
После этого возникает как бы отражение возмущения
от верхней границы спектра, и в течение следующего ин-
тервала £тах спектр движется обратно в сторону низких
частот, пока не приобретет исходный характер. Далее воз-
мущение отражается от нижней границы спектра
л
юи,тш ~ >
^шах
и весь процесс повторяется — возникают нефизические
Рекуррентные явления с периодом 2£тах. Для устранения
Рекурсий не следует превышать длительность счета 1тах
(7.141) или нужно добавить в правую часть уравнения
(7135) член, имитирующий затухание волн в среде.
Обозначим теперь
в.
2ЛХ
Uv 2hv (7.142)
2т (7.143)
6-2845 145
и построим для уравнения (7.135) трехслойную разно
стную схему
ut + ийх + wuu = 0. (7.144)
По t схема (7.144) явная, а по х на верхнем времен,
ном слое t + т в схему входят три узла Xj, xj+1, й
решение й на каждом временном шаге может быть най.
дено методом прогонки.
Записывая уравнение (7.135) в виде
Щ = g, g = -vux - wuv (7.145)
и вводя неизвестные значения в узлах (х, и) — сетки
можно также свести (7.145) к системе обыкновенных
дифференциальных уравнений
ttji ~ gjit (7.146)
используя для ее численного решения описанные в гла-
ве 6 методы «предиктор-корректор» или интерполяци-
онную и экстраполяционную формулы Адамса.
Помимо конечно-разностных методов для двумерных
квазилинейных уравнений могут использоваться так на-
зываемые методы преобразований, аналогичные методам
Галеркина (параграф 7.5). В этих методах решение отыс-
кивается в виде обобщенного двойного ряда Фурье
u(x,y,t) = ^unm(t)Xn(x)Vm(y), (7.147)
п,т
где {Х„(х)}, {Vm(t>)} — выбранные системы ортогональ-
ных функций, удовлетворяющие заданным краевым ус-
ловиям, a Unm(t) — коэффициенты ряда. Решение на шаге
т строится как ряд Тейлора
в котором производные высших порядков находятся я?
тем точного (аналитического) дифференцирования УРаБ'
нения (7.145). Порядок метода S обычно не выше
В качестве {Хя(х)} часто принимаются тригонометрия6
ские функции, а в качестве {Ит(о)} — полиномы Эрм0т '
Наибольшие трудности в методах преобразований состаБ
ляет вычисление нелинейных членов вида иих, ии„ и т'
хотя предложены некоторые способы преодоления
трудностей путем усложнения вычислительного аЛ1 °Р
ма и удлинения вычислений примерно вдвое.
(7.148)
В принципе, методы преобразований, как и методы
Валеркина, могут обладать более высокой точностью по
еравнению с разностными схемами благодаря отсутствию
к0нечно-разностных производных и точному (аналити-
ческому) дифференцированию рядов (7.147) по х и V, но
для хорошего воспроизведения мелкомасштабных особен-
ностей решения и(х, v, t) в рядах вида (7.147) приходится
удерживать много членов, иногда много сотен. Тем не
левее, вследствие неизбежного усечения рядов рекуррент-
ное явления сохраняются, и для их подавления требуется
вводить в алгоритм решения искусственное затухание.
Рассмотрим теперь довольно распространенный для
уравнения (7.135) метод характеристик. Отметим, что
система обыкновенных дифференциальных уравнений
х = ц,
v = w (7-149>
называется уравнением характеристики, а его решение
на плоскости (х, и) — характеристикой уравнения (7.135).
Учитывая (7.149), находим, что вдоль характеристики
^£ = 0, (7.150)
dt
а следовательно
u(x, v, t) - u(x, v, 0) = const, (7.151)
т. е. начальные значения и° не изменяясь распространя-
ются вдоль характеристик.
Примем в момент t узлы (ху, о,) сетки (х, о) за на-
чальные точки и построим выходящие из них отрезки
характеристик на шаге т, решая I______________________[у,-.,
систему (7.149) одним из методов
главы 6.
Конечные точки Хр, ve отрез-
lt0B характеристик назовем конце-
Зыми (рис. 37). Множество конце-
ЕЫх точек образует подвижную, так
взываемую лагранжеву сетку. Для
аафшения временного шага надо
аеРбсчитать значения й с лагранже-
сетки в узлы неподвижной (эй-
Р°вой) сетки по формуле:
Рис. 37
Метод характерис-
тик ( крестиком
показана концевая
точка отрезка
характеристики )
147
146
йц = • 8х(х,,хг)-Sv(vt,Vi ), (7.152)
где Sx, Sv — весовые функции; /, V — номера узлов лаг,
ранжевой сетки. Можно считать (7.152) интерполяцц0а
ной формулой, связывающей узлы подвижной и непод-
вижной сеток. Весовые функции рекомендуется выбц.
рать из условия сохранения моментов, вычисленных ц0
узлам неподвижной и подвижной сеток:
£х*о?ил=Хх^й/г> (fe,n = O, 1, ...). (7Л5з
i',i'
Сумма в левой части равенства (7.153) берется ц0
узлам неподвижной сетки, а сумма в правой части — й0
концевым точкам. Обычно в (7.153) ограничиваются зна-
чениями k — n=-O;k = l,n=Onk==O, п = 1. При k = и =
= 0 равенство (7.153) означает сохранение на шаге сред,
него значения функции u(x, v, t), а при k — 1, п = О и
k = 0, п = 1 — сохранение первых моментов по х и и
соответственно.
Метод характеристик можно распространить и на слу-
чай неоднородных квазилинейных уравнений с правой
частью f, а также на трехмерные сетки. Хотя по точно-
сти он уступает методам преобразований и некоторым
другим методам, но его достоинство — простой и быст-
рый вычислительный алгоритм.
Рассмотрим, наконец, оригинальную двумерную мо-
дель «водяной мешок». Линию Г на плоскости (х, v),
описываемую уравнением
u(x, v, t) = С, (7.154)
где С — некоторая константа, назовем линией уровня.
Придавая С различные значения их, и2, ... можно постро-
ить множество линий уровня Г1; Г2, ...» характеризую-
щих «профиль» функции u(x, v, t) в момент t, показан-
ный на рисунке 38, а. В силу единственности решения
линии уровня нигде не пересекаются. Ограничимся слу
чаем, когда функция w такова, что
\uvwvdv = 0 (7.15^
г
по области, ограниченной какой-либо линией уровня •
Равенство (7.155) выполняется, например, если функй1151
w не зависит от и. Но возможны и другие типы функции
ддя которых выполняется (7.155). Можно показать, что
яри условии (7.155) для всех линий уровня Г,
Ju dx dv = const, (7 156)
Vi
rjsfi Vi — область, ограниченная линией Г;. При этом,
естественно, и для любой области Vik между какими-либо
двумя линиями уровня Г, и Г4
Judxdv = const (7 157)
Vik
как разность двух констант.
Выбирая в момент t на каждой линии уровня Г; неко-
торое число точек и построив выходящие из этих точек
отрезки характеристик на шаге т, можно найти форму
линии Гг в следующий момент времени t + т, получая
картину решения в виде динамики линий уровня. По-
скольку все объемы Vik между линиями уровня при дви-
жении сохраняются, их динамика напоминает изменение
формы гибкого мешка с несжимаемой жидкостью — от-
сюда название «водяной мешок». Достоинство метода —
наглядность решения, но с течением времени форма ли-
ний уровня быстро усложняется (рис. 38, б) и на них при-
ходится выбирать все больше точек, длительность моде-
лирования оказывается ограниченной. Модель обычно
применяется, когда можно ограничиться двумя-тремя
линиями уровня, иногда даже одной, и дает скорее общую
картину решения, чем его количественные результаты.
Метод «водяной мешок» в начале процесса моделирования (а)
и в развитии процесса (б); заштрихована область V23
148
149
ГЛАВА ВОСЬМАЯ
ЧИСЛЕННЫЕ МЕТОДЫ
РЕШЕНИЯ ЗАДАЧ
ОПТИМИЗАЦИИ
И ПОИСКА МИНИМУМА
8.1.
ПОСТАНОВКА ЗАДАЧ
ОПТИМИЗАЦИИ
И ПОИСКА МИНИМУМА
Численными методами оптимизации называются мето-
ды построения алгоритмов численного нахождения ми-
нимумов или максимумов некоторых функций и точек
(аргументов), в которых они достигаются. Заметим, что
нахождение минимума некоторой функции Ф(х) эквива-
лентно нахождению максимума функции -Ф(х). Поэто-
му для определенности принято говорить о нахождении
минимума. В прикладных задачах минимизируемую функ-
цию часто называют целевой функцией. Целевая функ-
ция характеризует некоторое качество оптимизируемого
объекта. Можно также называть эту функцию критери-
ем (критерием качества или критерием оптимальности).
В более общем случае требуется найти такую точку х,
в которой несколько целевых функций Ф*(х) (А = 1, 2,...)
совместно достигают минимума в том или ином смысле,
который понимается по-разному в различных случаях.
Такие задачи называются многокритериальными, или за-
дачами оптимизации по многим критериям.
Задачи поиска минимума тесно связаны с задачами
решения систем уравнений, т. е. с задачами нахождения
корней. Так, вместо отыскания минимума функции Ф(*)
нескольких переменных х = (хг, х2, ..., хп) можно, в
принципе, решать систему уравнений
^ = 0 (г = 1, 2, ..., п). (8 ^
5Х;
Однако для этого функция Ф(х) должна быть ДИФФ
ренцируемой всюду в области поиска минимума, а Д
ференцируемость сложной функции иногда трудно Ус
ловить аналитически. Кроме того, численное решение
системы уравнений (8.1), в общем случае нелинейных,
ложет быть сопряжено с большими трудностями. Поэто-
иногда, наоборот, решение системы уравнений
/А(х) = 0 (й = 1, 2, ..., п) (8.2)
сВодят к отысканию 0-го минимума некоторой функции,
например,
Ф(х) = £н;/гД(х)(ш/г >0), (8,з)
Л=1
где wk (k = 1, 2, ..., n) — веса.
Функцию Ф(х) будем предполагать непрерывной или,
до крайней мере, кусочно-непрерывной, и детерминиро-
ванной. Последнее означает, что вычислительными и эк-
спериментальными погрешностями можно пренебречь
(вычислительными погрешностями, как уже говорилось
во введении, называются погрешности округления, обус-
ловленные конечностью разрядной сетки компьютера).
(Поиск минимума случайной функции рассматривается
в 8.3.) Множество X, на котором отыскивается минимум
функции Ф(х), будем полагать компактным и замкну-
тым. (Напомним, что множество называется компакт-
ным, если из любого его бесконечного и ограниченного
подмножества можно выделить сходящуюся последова-
тельность. Множество называется замкнутым, если пре-
дел любой сходящейся последовательности его элемен-
тов принадлежит этому множеству.)
Точку минимума, называемую также модой, будем
обозначать х. Различают локальные и глобальные мини-
мумы. Минимум Ф(х) называется локальным, если в
некоторой его 8-окрестности
Ф(х)<Ф(х), ||х-х||<8. (8.4)
Минимум Ф(х) называется глобальным, если
ф(х) = 1п1Ф(х). (8.5)
{А}
Локальных минимумов на множестве X может быть
**аого. В принципе, если найти все локальные миниму-
t<bI и взять из них наименьший, то получим глобальный
^аймум. Практически, однако, для сложных функций
“*) обычно не может быть уверенности в том, что все
151
150
локальные минимумы уже найдены. Поэтому минималь.
ный из локальных минимумов следует считать, строг0
говоря, лишь «кандидатом» на глобальный минимум
который может быть изменен при нахождении новых
локальных минимумов.
Для решения задачи поиска минимума обычно стара,
ются предварительно выделить такое множество (область)
X, на котором функция Ф(х) имеет единственный мини-
мум. В случае дифференцируемой функции нахождение
такой области равносильно нахождению области, в кото-
рой система уравнений (8.1) имеет единственный корень.
Для произвольной функции Ф(х) эта задача алгоритми-
чески не разрешима и для ее решения необходимо при-
влекать какие-либо априорные или физические сообра-
жения. Функцию, имеющую в рассматриваемой области
единственный минимум, называют унимодальной. В даль-
нейшем будем ограничиваться унимодальными функция-
ми, если противоположное не будет специально указы-
ваться. Для моды х будем использовать обозначение
х = агёпнпФ(х), понимая его следующим образом: х —
аргумент (координаты) минимума функции Ф(х).
ПОИСК МИНИМУМА ФУНКЦИИ
ОДНОЙ ПЕРЕМЕННОЙ
Будем рассматривать задачу поиска минимума функ-
ции Ф(х) одной переменной х на отрезке [а, &]. Простей-
шим методом является прямой поиск минимума путем
перебора значений. В этом методе на отрезке [а, &] выби-
рается некоторое число точек {х,; / = 0, 1, ...» п}, которые
могут быть случайно расположенными или равноотстоя-
щими с некоторым шагом h:
Xj = а + jh (j = 0, 1, ..., n), h = (Ъ - а^/п. (8-6)
Далее последовательно вычисляются значения
Фу = Ф(х;) (J = 0, 1, 2, ...), <8-7)
пока не окажется, что ,а oi
Ф, < Фм- <8-’.
Выполнение неравенства (8.8) означает, что MI”L
мум х расположен на отрезке [Xy-i, Хуц] (рис. 39)- Jr
162 i
этоМ отрезке снова выбира-
йся некоторое число точек,
й перебор повторяется до тех
дор, пока длина очередного
отрезка станет меньше 2е,
где е — заданная погреш-
0ость. Тогда в качестве х
ложно принять середину
последнего отрезка.
Наибольшее распростра-
аение в задачах одномерно-
го поиска минимума получили так называемые симмет-
ричные итерационные методы, итерации в которых стро-
ятся следующим образом:
1) на отрезке [а, &] выбирается точка а < у < b (рис. 40);
Поиск минимума методом
простого перебора
Рис. 40
Выбор точек
в симметричных методах
(у - а = Ь - г)
2) далее берется симметричная ей точка г; симметрия
означает, что
у - а = Ь - г, (8.9)
т. е. г = а + Ь - у, (8.10)
3) если Ф(х) < Ф(г), то для дальнейшего рассмотрения
оставляется отрезок [а, г], иначе — отрезок [у, &], в ре-
зультате длина отрезка, на котором отыскивается мини-
мум, сокращается в отношении
9 = 7^- (8.11)
Ь-а
Затем процесс повторяется.
Простейшим симметричным методом является метод
Дихотомии (половинного деления). Пусть на й-й итера-
ции отрезок поиска минимума составляет
[аА-1.Л-1] (*“1, 2, ...),
пРичем а0 = а, Ьо - Ь. В качестве yk, zk примем точки
ук = 0,5(а^1 + bk-i - s),
zk = 0,5(at_! + + e), (8.12)
заданная погрешность (см. рис. 41). При этом
= (8ЛЗ»
153
Е
a»-i
У« • 2к
0,5 (ак_у + Ьк_-1)
Рис. 41
Выбор точек
в методе половинного
деления
При bk-! - ak-! » е, т. е. на начальных итерацИях
отрезок уменьшается примерно вдвое на каждой итера
ции (отсюда — название метода).
Далее сравниваем Ф(ук) с Ф(зй). Если окажется, что
Ф(Уа) < Ф(2л), (8.14)
то хе[щ i,Zk] и для следующей итерации полагаем
о* — — 2к-
Если же выполняется неравенство
Ф(Уа) > Ф(2а),
то и полагаем
«а = Уа, bk = zk-i.
(8.15)
(8.16)
(8.17)
Если Ьк - ak < 2е, то итерации прекращаются и в
качестве приближенного значения х с погрешностью е
принимается середина последнего отрезка:
x«x*=0,5(aft+dft). (8.18)
Недостатками метода дихотомии являются необходи-
мость дважды вычислять функцию Ф(х) на каждой итера-
ции и замедление сходимости (т. е. увеличение q) по мере
приближения длины отрезка (&fe - щ) к значению 2е.
Более экономичными являются симметричные мето-
ды, в которых требуется однократное вычисление функ-
ции Ф(х) на каждой итерации, кроме первой, на которой
Ф(х) вычисляется дважды. Рассмотрим схему таких сим-
метричных методов. Пусть на й-й итерации минимум
отыскивается на отрезке [a*~i, b^-i] (k = 1, 2, ...), причем
a0 ~ a, b0 = b, и из предыдущей итерации (кроме первой)
уже известны одна из двух внутренних точек, например
yk и соответствующее значение Ф(у^). Положим, что
Ук = ak-l + сА-1(&А-1 “ °А-1) (& = 1’ 2, ...), (^^ )
где ск — некоторый параметр:
0 < ск < 0,5 (k = 0, 1, 2, ...). (8-20’
Симметричную точку гк находим по формуле (8.10):
й « ak-i + bk^ - yk = aki + (1 - Q-i) (bk-i - aA1)-(8.21)
Далее вычисляем Ф(гк) и полагаем :
1) если Ф(гк) > Ф(ук), то
ак = ак_ъ bh = zk, zk+1 = yk, Ф(гл+1) = Ф(^); (8.22)
2) если Ф(зА) < Ф(ук), то
ак = Ук, bh = Ьк_ъ ук+1 = zh, Ф(ук+1) = Ф(з*) (8.23)
[рис. 42). Для дальнейшего рассмотрения выбираем от-
резок [щ, &а], длина которого
Ьк ~ ak = (1 ~ ca-i) (frfc-i — Ял-i). (8.24)
।----1----1----1
Рис. 42 a*-’ zk й*-1
Итерации I----i--ч <t>(y.)<4>(zj
в симметричных методах ак zkt1 bk
с однократным ,___,_____
вычислением функции ак у ф(у>)>Ф(г,)
Как и в методе дихотомии итерации прекращаются,
если
Ьк - ак < 2е, (8.25)
где е — заданная погрешность, и в качестве приближен-
ного значения точки минимума х принимается хк (8.18).
Различные симметричные методы отличаются выбо-
ром параметров ск. Методы, в которых параметры ск по-
стоянны, т. е.
ск = с = const, (8.26)
называются стационарными, а методы, в которых пара-
метры ск зависят от номера итерации k — нестационар-
ными.
Наиболее быстрым из всех симметричных методов с
Шократным вычислением Ф(х) на итерации является
нестационарный метод Фибоначчи. В этом методе длина
г° отрезка связана с длиной начального отрезка (bg - ад)
Равенством
, bo — do
bk~ak=——-, (8.27)
где Р k+2
i — так называемые числа Фибоначчи, определяе-
<4е Рекуррентной формулой
Fj = Fi-i + Pj-2, U = 3, 4, ...), Fr = F2 = 1. (8.28)
154
155
По этой формуле
F3 = 2,F4 = 3, F5 = 5, F6 = 8, F7 = 13, Fs = 21,
F9 = 34, F10 = 55, Flt = 89, F12 = 144, F13 = 233, ...
Для чисел Фибоначчи имеются таблицы, но мож11о
вычислять их и непосредственно по формулам (8.28).
Необходимое число итераций п выбирается из усл0
ВИЯ, что
Ьп - ап < 2е < 6ге_1 - а„-1, (8.29)
где согласно (8.27)
ь „ _Ьо~ао. и „ _Ь0-ап
Ьп а'1 F 2 ’ 1 а,1~х~ р j ‘ (8.30)
Можно показать, что в методе Фибоначчи
р
(8.31)
Гп+2
а последующие значения ck вычисляются по рекуррент-
ной формуле
1-Cfe-l '
причем точки yk и zk определяются формулами:
, Аи + (bo - а0)Fn~k+i
Ук=-------------------’
J *п+2
dk-i + (t>o -ao)Fn_h+2 (8.33)
2к=-------------------•
Л1+2
При k = п точки yk и гк совпадают, так как Fi = F2 = 1>
и итерационный процесс завершается.
Методу Фибоначчи незначительно (примерно на 17%
при больших значениях п) уступает в скорости стацио-
нарный симметричный метод «золотого сечения», кото-
рый получается, если в формулах (8.32), (8.19), (8.21)
ПОЛОЖИТЬ on
ск = ск-1 = С = const.
Из уравнения (8.32) находим тогда, что
с = = —-2-— = 0,381966.
2 3 + V5
(8.351
В этом методе выполняется равенство
2к~Ук _ yk-ak-i (8.3“'
2k ~~ ^-k-1 Ьк-1 ” Ц&-1
156
ротором говорят, что точка zk делит отрезок [ак-19 Ь/г1]
tp среднем и крайнем отношении». Метод «золотого се-
<езия» обеспечивает линейную сходимость к минимуму
т. е. сходимость со скоростью геометрической про-
фессии, имеющей знаменатель
q = 1 - с = 0,618 234 « 0,62. (8.37)
Такую сходимость называют линейной или сходимо-
сТЬю первого порядка.
Рассмотрим теперь некоторые методы, не относящие-
ся к группе симметричных. Предположим, что функция
ф(х) является выпуклой вниз. В математическом анали-
зе действительную функцию Ф(х), определенную на не-
котором интервале [а; &], называют выпуклой вниз, если
для любых двух точек хг, х2 этого интервала выполняет-
ся условие
л/*1 +Х2 V Ф(Х1) + Ф(Х2>
ФО~ J-----------2------• (8-38’
Условие (8.38) означает, что выпуклая вниз функция
целиком располагается не выше любой хорды АВ (рис. 43).
Если функция Ф(х) дифференцируема, то для ее выпук-
лости вниз необходимо и достаточно, чтобы производная
Ф'(х) не убывала на [а, 6], а если существует и вторая
производная Ф"(х), то соответственно, необходимо и до-
статочно, чтобы Ф"(х) > 0 на [а, 6].
Для выпуклых вниз функций применим метод каса-
тельных, основанный на постепенной замене графика не-
прерывно дифференцируемой, выпуклой вниз функции Ф(х)
ломаной линией. Построим касательные к кривой Ф(х)
157
в точках а и &, Точка пересечения этих касательных %
является точкой минимума образованной ими ломано^
линии. В этой точке построим новую касательную к кри
вой Ф(х) и найдем точку минимума новой ломаной х
и т. д. (см. рис. 44). Поскольку минимум ломаной всегда
расположен в одной из ее вершин, он легко может быть
найден. Можно доказать, что
(8.39)
Метод касательных можно распространить и на тот
случай, когда производная Ф'(х) не является непре.
рывной.
Для дважды дифференцируемых функций Ф(х) при-
меним метод парабол. Пусть хк — k-e приближение к
минимуму х. Представим Ф(х) в окрестности хк в виде
ряда Тейлора
Ф(х)« Ф(хА) + (х - хк)Ф'(хЛ) + |(х - хк)2Ф"(х*) (8.40)
и примем минимум этой параболы в качестве следующе-
го приближения:
*л+1 =*fe (fe = 1> 2’ —>• (8.41)
х-Чг)
Как видно из этой формулы, метод парабол равноси-
лен решению уравнения
Ф'(х) = 0 (8.42)
методом Ньютона (касательных) и, как и метод Ньюто-
на, имеет сходимость второго порядка:
|xft+i -х| =о(|х*-х|2). (8.43)
Чтобы не вычислять производные сложных функций
Ф(х), в формуле (8.41) могут использоваться конечно-
разностные производные:
х = х h Ф(хк + К)-Ф(хк-К)
*+1 к 2 Ф(хЛ+/г)-2Ф(хА) + Ф(хА+й) (8.44)
(/? = О, 1, 2, ...).
Здесь h — некоторый шаг, подбираемый эксперимен-
тально. Начальное приближение х0 в этом методе дол#'
но быть предварительно задано (выбрано).
8 3
ПОИСК МЙНИМУМА
СЛУЧАЙНОЙ ФУНКЦИИ
ОДНОЙ ПЕРЕМЕННОЙ
Положение минимума х случайной функции Ф(х)
одной переменной х определим в вероятностном смысле
условием:
Р(|ф(х)-Ф(х)|) = 1-е (8.45)
ПРИ ||х- х||<8. (8.46)
Здесь Р означает «вероятность» (probability), а е и
8 — малые положительные числа. Условия (8.45), (8.46)
означают, что в малой окрестности точки х значитель-
ные отклонения случайной функции Ф(х) от минимума
ф(х) возможны, но маловероятны.
Одним из методов поиска минимума случайной функ-
ции Ф(х) может служить, например, итерационный про-
цесс
Х(Ш) =Х(А) _£*{ф(х(*) +bk)_Ф(Х(А) _bk)\ (й = 1, 2, ...), (8.47)
Ьк
начинающийся с произвольного начального значения х(1).
В (8.47) ак и Ък — положительные числа, удовлетворяю-
щие условиям:
Ишщ =0,
* 00
=СО,
,k=l
lim&fc =0,
(8.48)
При выполнении условий (8.48) итерационный про-
цесс (8.47) сходится к х с вероятностью 1, т. е. «почти
всегда»: ,. -
plimx(S’=x. (8.49)
/?->00
Здесь plim — «вероятностный предел», который оз-
начает, что при достаточно больших k вероятность от-
клонения xw от х сколь угодно мала.
Одним из вариантов выбора величин ак, Ьк может
быть: -j -1
ak=±bk=k3. (8.50)
k
Сходимость описанного итерационного процесса ока-
зывается очень медленной, так как за каждый шаг зна-
чение х<*> очень мало меняется.
158
159
(8.
8.4.
ПОИСК МИНИМУМА ФУНКЦИИ
НЕСКОЛЬКИХ ПЕРЕМЕННЫХ
Поверхность, описываемую уравнением
Ф(х) = const, х = (хъ х2, ..., хп), (8.51)
называют поверхностью уровня функции Ф(х). Если функ.
ция Ф(х) однозначная, то через каждую точку х, выб.
ранную в области определения функции V, проходит един-
ственная поверхность уровня
Ф(х) = Ф(х). (8.52)
При п = 2 поверхность уровня вырождается в линию
уровня, а при х = х — в точку х. Если функция Ф(х)
дифференцируема, то ее градиент, который удобно обо-
значать штрихом
Ф' = gra<W»(x) = УФ(х) =
i=i
направлен по нормали к поверхности уровня в точке х и
указывает направление скорейшего нарастания функции
Ф(х), а антиградиент
-Ф' = -grad®(x) = -УФ(х) = (8.54)
“7 ох; * '
есть направление скорейшего убывания. В формулах
(8.53), (8.54) ц — единичный вектор (орт) в направле-
нии х;. Мы ограничимся случаем, когда все поверхности
уровня выпуклые. Выпуклость означает, что тело, гра-
ницей которого является поверхность уровня, вместе с
любыми двумя точками содержит и все точки соединяю-
щего их отрезка прямой.
Множество поверхностей уровня в области V характе-
ризует рельеф функции Ф(х). Для поиска минимума наи-
более благоприятен рельеф типа «котловина» (рис. 45),
который могут иметь функции Ф(х), дифференцируемые
всюду в области V, т. е. имеющие градиент (8.53) при лю-
бых значениях х с V. Значительно сложнее поиск мини-
мума, если рельеф имеет тип, называемый «оврагом», или
«истинным оврагом», и показанный на рисунке 46 для
функции двух переменных (п = 2). В этом случае поверх-
ности уровня имеют линии или точки излома, где не суШе'
ствует градиент Ф'(х). На рисунке 46 геометрическое мес-
ф0 > Ф1 > Фг > Ф3 > Ф4 > •••
рельеф типа «котловина»:
то таких точек АВ образует «дно оврага». При итерацион-
ном поиске минимума очередное приближение к миниму-
му быстро оказывается на «дне оврага». Дальнейшее убы-
вание Ф(х) возможно лишь при движении по дну оврага, а
его направление трудно найти из-за отсутствия градиента.
Промежуточным рельефом между «котловиной» и «ов-
рагом» является так называемый «разрешимый овраг»
(рис. 47). В этом рельефе на дне оврага градиент суще-
ствует, но кривизна поверхности уровня очень велика,
т. е. направление градиента быстро меняется. Практиче-
ски обычно изломы поверхностей уровня слегка сглажива-
ются вследствие вычислительных погрешностей, и истин-
ный овраг представляется разрешимым, но с очень боль-
шой кривизной поверхностей уровня вблизи сглаженных
изломов на дне оврага, так что направление градиента
плохо определено. Рельефы, получаемые при изменении
П X nv. *!
ф ельеф тиПа «разрешимый овраг»: Рис 48
• Ф, > ф2 > дв — «дно оврага». Неупорядоченный рельеф
160
161
на противоположные знаки неравенств на рисунках 4g
47, называют, соответственно, «гребнем» и «разрещ,,’
мым гребнем». Наконец, функции, не являющиеся уц1;
модальными, иногда могут иметь сложный, неупоряд0.
ченный рельеф со многими «котловинами», «оврагами»,
«гребнями» и т. п. (см. рис. 48). В дальнейшем огранц.
чимся лишь унимодальными дифференцируемыми фуцк.
циями.
Если функция Ф(х) дважды дифференцируема, т0
вблизи минимума она может быть с погрешностью
о(||х-х||3 j
аппроксимирована рядом Тейлора:
Ф(х) = Ф(х) + -х д‘ Ф( — х
4 2 SxidXj
_ (н —II3
х(х> -Х;)(х, -х,) + О х-х
(8.55)
т. е. квадратичной функцией. В этой формуле сумма пред-
ставляет собой квадратичную форму, положительную всю-
ду, кроме точки х, в которой она равна 0, а следователь-
но матрица
Ф’(х) =
' а2Ф '
чахг5хЛ
(8.56)
является положительно определенной. Поверхности уров-
ня квадратичной функции (8.55) — n-мерные эллипсои-
ды (в двухмерном случае — эллипсы) с центром в точ-
ке х. Если при этом одна из главных осей эллипсоида во
много раз длиннее остальных, то рельеф функции Ф(*)
имеет тип «разрешимого оврага».
Для поиска минимума функций нескольких пере-
менных часто используются методы спуска. Простей-
шим из этих методов является координатный спуск,
который строится следующим образом. Пусть х(0 "
начальное приближение к моде х, которое должно быть
задано.
Зафиксируем координаты х2<0), х3(0), ..., хп<0) и найде
значение х/1* как решение задачи
Xj1’ = argmin®(xi, Х2°\ Xg0),..., х„0))
^аким-либо методом поиска
минимума функции одной
переменной, например, мето-
дом «золотого сечения». Гео-
метрически это означает, что
Минимум отыскивается вдоль
Прямой, проходящей через
точку х*0) параллельно оси хн
причем х/1» — координата
точки, в которой эта прямая
касается некоторой поверх-
ности уровня (рис. 49).
Рис. 49
Выполнение итераций и
траектория в методе коорди-
натного спуска
Далее, аналогично находим х2(1), х3(1), ..., хп(1) как
решения задач одномерной минимизации.
х£° = argmin®(xj1), х2, х(30),..., х£0)),
х<]) =argmino(x*1), х(21}, х3, х'()), ..., х1°Ц,
•I . . .................................. (8.58)
х<° = argmin®^1’, x£J), ..., х^, хп).
На этом первая итерация заканчивается. Как видно,
итерационный процесс строится как последовательность
решений одномерных задач минимизации по отдель-
ным координатам. Далее, аналогично строятся следую-
щие итерации.
Доказано, что в котловине метод координатного спус-
ка сходится к минимуму со скоростью геометрической
прогрессии, имеющей знаменатель q < 1:
||х<*) - х|| < q||х(й й - х|| (0 < q < 1)
(8.59)
Сходимость первого порядка). Однако, во многих случа-
ях (например, если рельеф близок к разрешимому оврагу)
знаменатель прогрессии может быть близок к 1:
q ~ 1, (8.60)
^Димость оказывается очень медленной, и метод не
эффективен.
R Если уже выполнено не менее двух итераций, то не-
1 торое ускорение сходимости дальнейших итераций
162
163
можно получить, используя так называемый «82 — Пр0
цесс Эйткена».
Предположим для этого, что уже известны
х^'2>, ф(х<*~2)), х**'1’,
(fe = 2, 3, ...)
и будем считать полученное методом координатного спус.
ка новое значение xw предварительным («предсказан-
ным»), Построим теперь для каждого аргумента х, (i = j
2, п) функции Ф(х) интерполяционный полином Нью-
тона (параболу), проходящий через узлы х(Л-2), Ф(х('г-2)).
X(*-D, ф(х(*-1)); х(А),Ф(х(А)):
ф (х) - Ф(х<А>) + (^ - хр’ )Фг (х<*>, х<Л 1) +
+ (х,- -хР’Хх/ -х^^ФДх^.х^,^-2)). (8-61)
Здесь Ф;(х(/г),х(АЧ)),Ф;(х(*),х^”1),х(А-2)) —разделенные
разности:
^(г«,,1М)=Ф<М^, (8.62)
__X-
ф.(хда x^-D x(ft-2>) -
1 \ ’ ) ~(k) _ х<*-2)
После этого, в качестве уточненного («исправленно-
го») значения аргумента xjft) примем координату мини-
мума параболы (8.61):
,. Л Х(/г> + Х^ Ф (Х(А), X(fc l) )
ХЮ = Xi . + *'_____—А_____I____I---. (8.63)
‘ 2 2^(xW,x<ft-1>,x<fe-2))
Однако пользоваться процессом Эйткена следует с ос-
торожностью ввиду некорректности постановки задачи
численного дифференцирования. Некорректность в дав-
ном случае проявляется в том, что вблизи минимума X
разделенные разности (8.62) приобретают характер яе-
определенности вида 0/0 и вычислительная погрешноСТЬ
становится недопустимо большой.
Рассмотрим теперь метод градиентного спуска, назь
ваемый также методом скорейшего спуска. В этом мет°
де очередное приближение к минимуму xw находится
путем одномерной минимизации функции Ф(х) вдоль
прямой, исходящей из точки х(А-1) в направлении анти-
градиента (8.54). Уравнение этой прямой в параметри-
ческой форме имеет вид
(8.65)
(8.66)
(8.67)
х = X(4-D _ т . ф'(х(*~1))т (8.64)
где т — параметр. Итерации, следовательно, строятся по
формулам
T(fe) = arg m(n ф(х(*~1) - т . ф'(х(*-1)),
х(*) _ (fe-1) _ T(fe) . ф'(х(й-1))
или в компонентах
х(*) _ x(fc-i) _ _(*) дФ(х(*~г))
дХ1
Выполнение итераций
и траектория в методе
градиентного спуска
Минимум Ф(х) по-прежнему достигается в точке x(fe),
где прямая (8.64) касается некоторой поверхности уров-
ня. А поскольку на следующей итерации градиент УФ(х(А))
нормален к поверхности уровня в точке xw, то спуск в
градиентном методе осуще-
ствляется по взаимно пер-
пендикулярным направлени-
ям (рис. 50).
Как видно, в методе гра-
диентного спуска на каждой
итерации одномерная мини-
мизация выполняется одно-
кратно, тогда как в методе
координатного спуска требу-
ется п одномерных поисков
минимума на каждой итера-
Чии. Однако для нахождения
градиента требуется вычис-
ление п первых производных
Функции Ф(х), которое обычно приходится выполнять с
п°мощью методов численного дифференцирования, что
Рачительно усложняет расчеты.
Метод градиентного спуска, как и метод координат-
Ч°г° спуска, имеет в котловине линейную, т. е. первого
^Рядка сходимость к минимуму, причем сходимость
164
165
оказывается очень медленной, если поверхности уроВ11я
имеют большую кривизну.
Метод координатного или градиентного спуска да}Ке
для квадратичной функции вида (8.55) требует бесконед.
ного числа итераций. Однако можно построить числен,
ный метод, который позволяет получить для квадратцд.
ной функции точное значение минимума не более чем за
п одномерных минимизаций. Таким методом является
метод сопряженных направлений. Основная идея мето-
да — последовательный спуск по сопряженным направ,
лениям, т. е. в направлении сопряженных векторов. Как
известно, векторы х, у называются сопряженными отно-
сительно некоторой симметричной, положительно опре-
деленной матрицы А, если скалярное произведение
(х, Ау) = 0. (8.68)
В частности, попарно сопряженными являются соб-
ственные векторы xt, Xj матрицы А, поскольку
(xj, Axj) = 0. (8.69)
Поэтому для квадратичной функции метод сопряжен-
ных направлений строится как последовательность спус-
ков по направлениям главных осей эллипсоидов вида
(8.51), как показано на рисунке 51.
В результате п спусков минимум х будет найден
точно (т. е. с точностью до погрешностей округления).
Если же выполнить менее п спусков, минимум будет
найден приближенно, но с неплохой погрешностью. Од-
нако поскольку все спуски выполняются приближенно,
да и рельеф может не быть точной котловиной, для отыс-
кания главных осей эллипсоидов необходимо неодно-
кратно численно решать сложную полную проблему соб-
ственных значений (глава 5).
Практически вычисления могут строиться как после-
довательность итераций вида
х(*+1) = _ гьу^ (fe = 0, 1, 2, ...), (8.70)
где х<°> — заранее выбранное начальное приближение,
rk — параметры, г/(0) — градиент:
у(0) = ф'(х(0)>, (8.71)
Следующие итерации находятся по формуле
y(k) = Ф'(х(*>) - pky(k~1} (k = 0, 1, 2, ...), (8.72)
а значения rk — из условия
rk = arg minO(x(i) - ryW). (8.73)
Если все pk — 0 (fe — 0, 1, 2, ...), получается метод
яаискорейшего спуска. Различные варианты метода со-
пряженных направлений отличаются выбором парамет-
ров Pk- Один из способов выбора:
pk =||ф'(х<*>)||2/|ф'(х(*-1))||2. (8.74)
Поскольку на каждой итерации метода требуется вы-
числение градиента Ф', решение замедляется, иногда очень
направлений: Рис. 52
штриховые линии — главные оси эл- Схема метода «оврагов»:
штриховые линии — «дно оврага >.
возможно применение «ме-
Для овражного рельефа
тода оврагов», иногда называемого также «блужданием
по оврагам». В этом методе произвольно выбираются
Две близкие начальные точки z/(0), г/(1) и из каждой стро-
ятся последовательности координатных спусков, кото-
рое быстро заканчиваются, соответственно, в точках
< х(1> вблизи дна оврага (рис. 52). Через точки х(0),
. проводится прямая, вдоль которой осуществляется
Продвижение приблизительно по дну оврага в сторону
^ьгвания функции Ф(х) на некоторое расстояние fex («ов-
Ряясный шаг») до точки
166
167
у(2) = х(1) + sign(O(x<0)) - Ф(х(1))(х(1) - x^)hx. (8.75)
Из точки y(2) строится координатный спуск до точки
х(2) вблизи дна оврага. Затем вдоль прямой, проходя.
щей через точки х(1) и х(2), выполняется аналогичное
продвижение с новым шагом h2 до точки у(3)-и т. д. Езди
убывание Ф(х) прекращается, то достигнут минимум.
Метод позволяет «блуждать» и по изогнутым оврагам
но шаги hi, h2, ... часто приходится подбирать эксперт
ментально в ходе счета.
Иногда «блуждание» выводит к котловине, где мо-
гут использоваться более простые методы, например,
координатный спуск.
Отметим еще случайный координатный спуск со слу-
чайным выбором осей координат, по которым осуще-
ствляется очередной спуск. Обычно мощные програм-
мы оптимизации (поиска минимума) автоматически
меняют в ходе счета многие методы поиска для дости-
жения наибольшей эффективности.
8.5.
ОПТИМИЗАЦИЯ
ПРИ НАЛИЧИИ ОГРАНИЧЕНИЙ
Часто встречаются задачи оптимизации (поиска ми-
нимума) при наличии ограничений типа равенств:
ф((х) = 0 (1 < i < т) (8.76)
и (или) неравенств
\|/А(х) > 0 (1 <k<p).
(8.77)
Ограничения типа равенств (8.76) задают некоторые
дополнительные связи между переменными х; (у = 1» &
..., п), а неравенства (8.77) ограничивают область поиска
минимума X.
Теоретически можно с помощью равенств (8.76) и
ключить часть переменных и уменьшить размерность
области X, но практически это обычно невозможно из-
сложного вида функций <р((х).
Распространенным методом оптимизации с огран
ниями является метод штрафных функций. В этом »
де строится вспомогательная функция
р (х) = Ф(х) +
т. р
нЕфР(х) + х£(1 - sigmMx))v£(x)
i=l А=1
(8.78)
где ц > О, X > О, и отыскивается минимум этой функции.
^ли все ограничения удовлетворяются, то в формуле
78) член в квадратных скобках обращается в 0 и зада-
ла сводится к минимизации исходной функции Ф(х). Если
ограничения не удовлетворяются, то F(x) > Ф(х) на
векоторую величину, которую можно трактовать как
, штраф» за невыполнение ограничений.
Величина штрафа регулируется параметрами р, X, пра-
вильный выбор которых представляет собой достаточно
сложную проблему. При малых значениях ц, X штраф мал
л ограничения плохо выполняются. При больших значе-
яиях р, X штраф велик, но найденный минимум функции
р(х) может сильно отличаться от искомого минимума х
функции Ф(х). Кроме того, при больших значениях р, X
может сильно ухудшаться рельеф функции F(x), приобре-
тая «овражный» или неупорядоченный характер. Поэто-
му для практического использования метода штрафных
функций может потребоваться проведение большого объе-
ма тестовых численных экспериментов.
Особую задачу составляет поиск минимума линейной
функции многих переменных
Ф(х) = £ CiXi = min (8.79)
i=l
линейными ограничениями типа равенств и неравенств:
Xj > 0 (1 < j < п),
(8.80)
^atjXj =bt (1 < i < т), (8.81)
^aijXj <bi (т <i < М), (8.82)
М
',е сь a,:, b, — параметры задачи.
п Решение задач (8.79)-(8.82) составляет типичную
;°блему операционного раздела прикладной матема-
— линейного программирования. Область, отра-
женная неравенствами (8.80), (8.82) — выпуклый мно-
Ранник в n-мерном пространстве (симплекс), одна из
168
169
вершин которого расположена в начале координат.
нимум линейной функции Ф(х) обязательно находится
одной из вершин многогранника, число которых очець
велико и составляет O(2N), где N — общее число нера
венств в формулах (8.80), (8.82).
Поскольку значение N может достигать 100-1000и
более, поиск минимума путем простого сравнения зца.
чений Ф(х) во всех вершинах практически неосуществим
и поэтому организуется спуск от некоторой исходной
(«опорной») вершины (которую также надо найти) По
цепочке смежных ребер в сторону убывания функции
Ф(х) до достижения ею минимума — так называемый
«симплекс-метод». Метод программно реализован в боль-
шинстве современных математических пакетов приклад,
ных программ.
ГЛАВА ДЕВЯТАЯ
ЧИСЛЕННЫЕ МЕТОДЫ
МОНТЕ-КАРЛО
9.1.
ГЕНЕРИРОВАНИЕ
СЛУЧАЙНЫХ ЧИСЕЛ
С ЗАДАННЫМ ЗАКОНОМ
РАСПРЕДЕЛЕНИЯ
Численными методами Монте-Карло называются мето-
;ы, основанные на систематическом использовании слу-
чайных чисел. Различают «истинно случайные» числа,
улучаемые с помощью каких-либо физических датчи-
ков, например, шумовых генераторов, и «псевдослу-
чайные числа», которые вырабатываются специальны-
ми программами, т. е. фактически не являются слу-
чайными, но по своим статистическим характеристикам
день похожи на случайные. Достоинство физических
атчиков — неограниченный запас случайных чисел и
высокая скорость их генерации, но их серьезные недо-
татки — ненадежность (датчики нуждаются в регу-
лярной проверке «случайности» генерируемых чисел)
невоспроизводимость результатов при повторных про-
четах одного и того же варианта задачи (результаты
впадают не точно, а лишь в статистическом смысле).
Поэтому общепринято использовать генераторы псев-
-ослучайных чисел.
Основой всех генераторов случайных чисел являются
?нераторы чисел, равномерно распределенных (равнове-
°ятных) в интервале (0, 1). Такие числа будем обозна-
чь R. Для начала работы генератора задается некото-
Ое произвольное число Ro. Далее числа находятся по
кУррентным формулам. Последовательность генерируе-
чисел имеет вид
{А, В, В, ...},
° — отрезок апериодичности, а В — период.
171
(9.5)
В расчетах рекомендуется использовать лишь отре
зок {А, В}, который .должен содержать много миллц0
нов чисел. При необходимости можно получить новый
отрезок {А, В}, обращаясь к генератору повторно с дру
гим начальным числом Rq.
Построение хорошего генератора псевдослучайных
чисел, равновероятных в (0, 1) — серьезная вычисли,
тельная проблема. Практически все современные компью.
теры, языки программирования и пакеты прикладных
программ имеют в библиотеках стандартных программ
хорошо проверенные генераторы таких чисел. Если лее
такой встроенный генератор отсутствует, можно восполь-
зоваться одним из генераторов, опубликованных в лите-
ратуре. Неплохие результаты дает, например, простой
рекуррентный генератор, использующий формулу
Rj = {127?;-! + л) (j = 1, 2, ...), (9.1)
где j — номер случайного числа, фигурные скобки оз-
начают дробную часть числа, а в качестве Ro можно
принять произвольное число в интервале (0, 1).
Все остальные генераторы строятся с помощью гене-
ратора равномерно распределенных чисел. Существуют
Рис. 53
Схема метода обратной
функции
три метода генерирования псев-
дослучайных чисел (далее для
краткости называемых случай-
ными):
й метод обратной функции;
й метод отбора;
И специальные методы.
В методе обратной функции
случайные числа X, имеющие
функцию распределения F(x\
вычисляются по формуле
X = F1(R), (9>2)
где F 1 — обратная функция (рис. 53).
Например, для экспоненциального распределения
F(x) = 1 - e~lx (X > 0, х > 0), (9'3)
обратная функция _ д)
Е1(Е) = -^1п(1-Е),
fa следовательно, случайное число
X = -11п(1-Я)
Л
яМеет распределение (9.3). Достоинство метода обратной
функции высокая скорость (по одному значению R
неясно вычислить одно значение X), но практически им
удобно пользоваться, когда для F и F-1 можно получить
достаточно простые формулы.
Метод отбора является практически универсальным.
Для его использования необходимо знать лишь плот-
ность распределения f(x) случайной величины X и ее
максимальное значение /тах.
Для типовых распределений, встречающихся в физи-
ке, всегда известно положение хм максимума f(x) («мода»),
а следовательно и fmax = Дхм). Пусть [хь х2] - область
определения f(x); в качестве
[Xi, х2] можно принять об-
ласть, за пределами которой
f(x) достаточно мала, напри-
мер, меньше (0,01-0,001) от
/пиХ. В методе отбора после-
довательно строятся случай-
ные точки (X, У), равномер-
но распределенные в прямо-
угольнике (хх < X < х2; 0 <
Утах), по формулам:
Рис. 54
Схема метода отбора:
* — «полезные точки»; + — «беспо-
X = хх + (х2 - ХХ)ДХ, (9.6)
fmejiRit (9.7)
Ri, R2 случайные числа, равновероятные в интер-
не (0, 1). Если окажется, что
Y * F(X), (9.8)
’° ЭТО «полезная точка» и найденная величина X (9.6)
ечиееТ плотность Распределения Дх); иначе точка (X, У)
гевраеТСЯ <<®есполезн°й», ее надо отбросить и перейти к
ЦраРации новой точки по Формулам (9.6), (9.7) (рис. 54).
Пот ^ом ДЛЯ от°°Ра каждой «полезной точки» может
Ребоваться много испытаний (9.6)-(9.8).
172
173
Наконец, специальные методы генерирования случай-
ных величин обычно основаны на использовании асимп
готических формул теории вероятностей и преобраз0Ва
ниях (функциях) случайных величин.
Отметим прежде всего, что если случайная величина X
имеет нулевое математическое ожидание и единичную
дисперсию, то случайная величина
Y = а + оХ (9.9)
имеет математическое ожидание а и дисперсию о2. дЛя
генерирования случайной величины X, имеющей стан-
дартное нормальное распределение с плотностью вероят-
НОСТИ х2
(«О)
с нулевым математическим ожиданием и единичной дис-
персией, обычно обозначаемое 2V(0, 1), можно, напри-
мер, воспользоваться точной формулой
X = V-21n(T?i) cos(2njR2), (9.11)
а любое нормально распределенное число вычислить за-
тем по формуле (9.9). Для вычисления случайной вели-
чины X, имеющей распределение N(O, 1) часто рекомен-
дуется также пользоваться приближенной формулой
12
Х = £1г,-6, (9.12)
/=1
основанной на центральной предельной теореме теории
вероятностей и имеющей очень малую погрешность. Не-
достаток генератора (9.12) — ограниченность диапазо-
на случайных чисел: -6 < X < 6, что иногда нежела-
тельно.
Используя выборки случайных величин с распред®'
лением N(0, 1) можно затем построить случайные вели-
чины, имеющие распределения х («хи»), х2 («хи-кваД-
рат»), F (Фишера), t (Стьюдента) и некоторые другие.
Существенно сложнее моделирование многомерны*
случайных величин X = (Хп Х2, •••> Хп). Некоторые во^
можности моделирования таких величин обсуждаются
литературе (см., например, [9]).
174
ВЫЧИСЛЕНИЕ
МНОГОМЕРНЫХ ИНТЕГРАЛОВ
МЕТОДОМ МОНТЕ-КАРЛО
Рассмотрим задачу вычисления «-мерного интеграла
I = j f(x)dx,
(Г) (9.13)
X = (xi, х2,х„), dx = dxr, dx2,dxn
j области V с границей Г, вложенной в n-мерный парал-
лелепипед
W = [at < Xi < bt; i = 1, 2, n}, (9.14)
(рис. 55), имеющего объем
x2 Iwl = (bi ~ ai)(&2 ~ a2) ... (bn - an). (9.15)
Рис. 55
Область интегрирования V
с границей Г, вложенная
в прямоугольник W (п — 2)
По теореме о среднем в ин-
тегральном исчислении сред-
нее значение f функции Дх)
по области V дается равен-
ством
f =nJ/(x)dx’ (916)
где | У | — объем области V.
Для вычисления / с помощью
генератора случайных чисел R,
равновероятных на (0, 1), будем генерировать случайные
точки с координатами
(i = 1, 2, ...,n;fe = l, 2,..., А),
(9.17)
Равномерно распределенные в параллелепипеде W. Зна-
чение f находится усреднением Дх) по точкам Xik\ при-
Радлежащим области V:
М X^eV
(9.18)
гДе
•Ю
М — число точек Х(/‘\ принадлежащих V.
Объем | у| области V можно приближенно оценить
Формуле
175
M=>fw. (9-l9>
где N — общее число случайных точек X(ft) в W, а | |
определяется формулой (9.15). Используя формулы (9.13)
(9.15), (9.16), (9.18), (9.19) находим оценку интеграла/’
2 ЛХ«). (9.2
Принадлежность точки Хт области V можно уста-
навливать по заданной границе Г. Пусть, например, гра-
ница Г имеет уравнение
Г(х) = 0, (9.21)
и точки х, удовлетворяющие условию
Г(х) < 0, (9.22)
принадлежат области V. Тогда в сумму (9.20) следует
включить все точки удовлетворяющие условию
Г(Х<А>) < 0. (9.23)
Недостаток методов Монте-Карло — невысокая точность
О(ЛГ1/2) и медленная сходимость по числу случайных точек
N (для снижения погрешности на порядок следует увели-
чить число случайных точек N на два порядка). Тем не
менее методы Монте-Карло экономичнее обычных методов
численного интегрирования (например, методов с регу-
лярно расположенными узлами интегрирования) уже при
п > 3 и становятся единственно применимыми при п > 6.
Причина большой погрешности методов Монте-Кар-
ло — плохая равномерность расположения случайных
точек Xw, которая особенно проявляется с ростом раз-
мерности области п. Показано, что точность и скорость
сходимости методов Монте-Карло можно существенно,
приблизительно до О(Х-1), улучшить, используя неслу-
чайные точки, генерируемые специальными программ-
ными датчиками [9] и с высокой степенью равномерно-
сти расположенные в многомерной области (так называе-
мые ЛПт-точки, ЛПт-генераторы). Использование таких
генераторов позволяет получать удовлетворительные Ре'
зультаты интегрирования даже в областях с размерно-
стью п, составляющей несколько десятков.
176
ПОИСК МИНИМУМА ФУНКЦИИ
МНОГИХ ПЕРЕМЕННЫХ
В главе 8 рассматривались методы оптимизации (по-
иска минимума) функции нескольких переменных, наи-
более распространенными из которых являются различ-
ные варианты методов спуска. Однако рельеф оптимизи-
руемой функции, как правило, не известен, анализируется
крайне сложно и зачастую оказывается очень неблаго-
приятным для применения этих методов. Ввиду недо-
статков, присущих методам спуска в областях со слож-
ным рельефом для поиска минимума функции многих
переменных часто более надежными оказываются мето-
ды прямого поиска, относящиеся к классу численных
методов Монте-Карло.
В простейшей постановке метод прямого поиска ми-
нимума реализуется следующим образом. В области по-
иска минимума V выбирается некоторое число N > 1
случайных, равномерно распределенных точек Х^ (k =
= 1, 2, ..., N). Отбор точек, принадлежащих V, можно
производить так же, как в задаче численного интегриро-
вания (параграф 9.2). Во всех точках вычисляются зна-
чения оптимизируемой функции Ф(Х(А)), и в качестве
оценки минимума х принимается наименьшее из этих
значений, т. е. полагается
х - х = arg min Ф(Х(А)). 24)
Найденное таким образом значение х можно уточ-
нить. Для этого будем полагать, что оно является пер-
вым приближением к минимуму:
хт = argmin®(X(ft)). (9.25)
Далее в некоторой окрестности точки х(1) снова вы-
бирается N случайных точек, и процесс прямого поиска
повторяется, приводя к значению х<2> и т. д.
Достоинство методов прямого поиска — применимость
к любым, сколь угодно сложным рельефам. Однако чис-
по точек N при этом должно быть очень велико. Напри-
W, для того, чтобы в длинном и узком овраге оказалось
Достаточное для поиска минимума число точек, общее
Дйсло случайных точек N должно быть очень большим.
7-2845
177
Многое здесь зависит от качества генератора равном
распределенных случайных точек.
еРно
ГЛАВА ДЕСЯТАЯ
Доказано, что погрешность поиска минимума
санным методом пропорциональна N~1/2:
°пц-
МЕТОД КРУПНЫХ
ЧАСТИЦ
||х - х|| < const N 1 '2.
(9-2б)
Такая сходимость, как уже указывалось, является
слишком медленной. Как и в методе численного инте
грирования, существенного ускорения сходимости здесь
можно достигнуть, используя неслучайные ЛПт-точКй
генерируемые ЛПх-генераторами.
Отметим еще, что методы прямого поиска иногда ком-
бинируются с методами спуска. В таких комбинирован-
ных методах начальное приближение к минимуму *«))
находится методом прямого поиска, а последующие при
ближения — методом спуска.
10.1.
МОДЕЛЬ КРУПНЫХ ЧАСТИЦ
Одним из наиболее распространенных методов решения
задач механики сплошной среды, физики плазмы, физи-
ческой электроники, ставшим в последнее время класси-
ческим, является рассматриваемый в этом разделе метод
крупных частиц (макрочастиц). Для описания движения
сплошной среды, как известно, используются подход Эй-
чера или подход Лагранжа. В подходе Эйлера за сплош-
ной средой наблюдают в определенных точках так на-
зываемого фазового пространства, которым может быть
пространство координат, координат-скоростей, коорди-
нат-импульсов, координат-скоростей-температур и т. п.
В фазовом пространстве вводится неподвижная расчет-
ная сетка (эйлерова сетка), и точки наблюдения выбира-
ются в узлах этой сетки. Координаты точек наблюдения
(узлов сетки) являются независимыми фазовыми пере-
менными (эйлеровыми переменными) задачи. С течени-
ем времени через точки наблюдения проходят различ-
вые частицы среды. Примером подхода Эйлера является
численное решение уравнения переноса конечно-разно-
Тными методами, описанное в параграфе 7.2.
В подходе Лагранжа следят за траекториями различ-
аь® выбранных частиц в фазовом пространстве. Поло-
жения частиц в текущий момент времени рассматрива-
ла как узлы подвижной (лагранжевой) сетки. Множе-
но всех фазовых траекторий образует фазовый портрет
1асамбля частиц и также дает исчерпывающую инфор-
мацию о процессе. Независимыми переменными в лаг-
авЖевом подходе (лагранжевыми переменными) могут
?»
179
служить номера частиц или их начальные фазовые цОЛо
женин. При этом предполагается, что начальные и теку
щие фазовые положения частиц взаимнооднозначно свя
заны уравнением траекторий. Примером лагранжева цОд
хода в физических задачах является описанная в этоц
разделе модель (метод) крупных частиц.
Хотя оба подхода эквивалентны в отношении полно,
ты описания процессов, для практических расчетов м0.
жет оказаться предпочтительным тот или другой подх0д
в зависимости от характера задачи и возможностей ком.
пьютера. Используя рассчитанные траектории частиц
всегда можно преобразовать любую величину от пере,
менных Лагранжа к переменным Эйлера и наоборот. Оба
подхода часто сочетаются в расчётах. Например, в мето-
де крупных частиц применительно к задачам физики
плазмы и физической электроники за движением частиц
наблюдают в переменных Лагранжа, тогда как создавае-
мые частицами плотности заряда и тока, а также поля, в
которых движутся частицы, определяют на неподвиж-
ной сетке, т. е. в переменных Эйлера.
Для получения достаточно полной информации о про-
цессе приходится следить за большим числом частиц,
статистически усредняя результаты наблюдения.
Начальные положения частиц, т. е. исходные точки
фазовых траекторий, во многих моделях выбираются слу-
чайным образом, в соответствии с заданной статистикой.
Поэтому часто говорят о статистическом моделировании,
или о моделировании по методу Монте-Карло. В первых
работах по статистическому моделированию заряженных
потоков на компьютере, модельные частицы еще не были
«крупными», и для получения нормальной плотности
пространственного заряда приходилось рассматривать об-
ласти очень маленького объема. Это затрудняло получе-
ние практически полезных результатов.
В широко используемом в физике так называемом
«дебаевском приближении» усредненное макроскопиче-
ское поле определяет движение сразу многих частиД-
Это естественно приводит к идее наблюдать не за отдела
ными частицами ансамбля, а за большими группами
близко расположенных в фазовом пространстве частиД|
объединенных в «крупные частицы» («макрочастицы»)
180
сГустки частиц определенной формы, зависящей от раз-
мерности и свойств симметрии исследуемой математи-
ческой модели физической системы. Частицы системы
^огут быть нескольких сортов: электроны, ионы различ-
ной массы и зарядности, нейтральные атомы и молеку-
лы разной массы.
Все множество частиц считается состоящим из не-
скольких компонент, которые могут быть и односортны-
ми, например, «медленные электроны» (электроны плаз-
мы с тепловыми скоростями) и «быстрые электроны»
(электроны ускоренного пучка). В начальный момент
времени фазовый объем каждой компоненты ансамбля
разбивается на некоторое количество непересекающихся
элементарных объемов (ячеек) и движение каждого та-
кого объема отождествляется с движением какой-либо
одной его частицы с суммарными зарядом и массой. По-
лучаемые таким образом модельные частицы, или макро-
частицы будем в дальнейшем для краткости называть
частицами (электронами, ионами), в отличие от физи-
ческих частиц (электронов, протонов, ионов). Как видно
из способа разбиения, частицы в общем случае могут
иметь различный коэффициент укрупнения.
Первые модели частиц строились в значительной сте-
пени эмпирически. В дальнейшем были предложены не-
которые общие подходы, позволяющие строить модели с
нужными свойствами, например, оптимальные по неко-
торым критериям, с заданными законами сохранения, с
уменьшенными нефизическими, счетными эффектами
или с использованием вычислительных алгоритмов, до-
пускающих наглядную физическую интерпретацию.
Начнем рассмотрение с некоторой математической
модели системы объема V, в котором содержится N »> 1
частиц одного сорта с зарядом MZe (Z — зарядовое чис-
ло, е — абсолютное значение заряда электрона), массой
покоя Мт0 и с тем же отношением заряда к массе покоя
Ч = Ze/m^, что и для физических частиц. Коэффициент
Укрупнения М »> 1 выбирается таким, что суммарный
заряд всех частиц MNZe и средняя плотность простран-
ственного заряда
p = MNZe/V (Ю.1)
181
в модели те же, что и в моделируемой физической систе-
ме. Благодаря сохранению значения т| в модели сохраня-
ются и уравнения движения частиц. Поэтому, с учетов
сохранения плотности заряда, собственное поле и дина,
мика потока в модели и в физической системе должны
быть близки.
Число учитываемых в модели координат обозначим
dr, а число учитываемых компонент импульса dp. Раз.
мерностью модели часто называют
d = 0,5(d,. + dp),
(Ю.2)
так что встречаются модели с размерностью от d = 0,5
до d = 3. В трехмерном пространстве (dr = 3) частицы
представляют собой точки (рис. 56, а); в двухмерных
(dr = 2) декартовых х, у или цилиндрических г, 0 коор-
динат — отрезки прямых («стержни», рис. 56, б и в); в
цилиндрических координатах г, г — кольца переменно-
го радиуса (рис. 56, г); в одномерном случае — плоско-
сти («модель плоских листов», рис. 56, д)', диски («дис-
ковая модель», рис. 56, е); коаксиальные цилиндриче-
ские (рис. 56, ж) или концентрические сферические
(рис. 56, з) поверхности. Все частицы имеют нулевой
собственный объем.
Некоторые физические характеристики ансамбля за-
ряженных частиц при их укрупнении не меняются, на-
пример средняя скорость и0, среднеквадратичная тепло-
вая скорость vT, плазменная частота ор, циклотронная
частота, дебаевское расстояние тогда как другие ве-
личины изменяются. Так кинетическая температура Т
возрастает в М раз вследствие того, что «массивные»
крупные частицы имеют тот же разброс скоростей, что и
физические частицы. Длина свободного пробега lc ~ 1/М,
частота парных столкновений vc ~ М, среднее расстояние
между частицами s0 - M1,dr, сечение парных столкнове-
ний стс ~ М2, дебаевское число (число частиц в дебаев-
ском объеме VD = k3D) nD ~ 1/М. Сохранение динамики
частиц, плазменной частоты и дебаевского расстояния
указывает, что в моделях частиц могут правильно вос-
производиться коллективные явления (плазменные ко-
лебания, затухание Ландау, крупномасштабные возмУ
щения). Однако сокращение длины свободного пробега с
Рис. 56
Типы модельных частиц
182
183
означает, что в модели резко искажаются парные взац,
модействия. Соответственно, относительные среднеквад.
ратичные отклонения (флуктуации) плотности частиц
плотности заряда и собственного поля, пропорциональ.
ные 1/Пд' 2, оказываются завышенными в моделях в от-
ношении М1/2. В отношении М1'2 оказывается также за-
вышенным дробовой шум — флуктуации тока эмиссии
или тока частиц на электроды.
Снизить искажение парных взаимодействий можно,
увеличивая число частиц N, но этому препятствует ог-
раниченность ресурсов компьютера. Действительно, опи-
сание ограниченной системы частиц средствами стати-
стической физики справедливо, если объем системы V
существенно превышает дебаевский объем 1/Пд/2. От-
сюда следует требование N » по » 1, весьма обремени-
тельное для компьютера. Поэтому путь увеличения
ведет лишь к временным успехам, хотя современные
суперкомпьютеры допускают значения N до 109. При
моделировании «бесстолкновительных» систем для со-
хранения в модели необходимого «запаса бесстолкнови-
тельности» следует резко уменьшить ближние (парные)
взаимодействия. Способы, применяемые для этого, мож-
но трактовать как переход к частицам конечного соб-
ственного объема. В этой трактовке каждая частица с
номером а (а = 1, 2, ..., N) представляет собой некото-
рое облако объемного заряда с центром в точке га, где
г — радиус-вектор, и тем или иным распределением
плотности. Изучаемый ансамбль физических частиц вос-
производится, таким образом, с помощью модели «час-
тиц-облаков».
Качественно ясно, что при сближении удаленных об-
лаков сила взаимодействия между ними сначала возрас-
тает, а затем, с началом взаимопроникновения облаков,
слабеет. При полном совпадении облака не взаимодей-
ствуют. Это означает уменьшение ближних воздействии,
т. е. «столкновительных» эффектов. С другой стороны,
усечение ближних взаимодействий приводит к уменьше-
нию высших пространственных гармоник, т. е. к сглажи-
ванию исследуемых процессов. Следовательно, в м°Де'
ли будут неправильно воспроизводиться (сглаживаться)
мелкомасштабные (коротковолновые) явления. Для ряДа
^таких моделей облаков аналитически получены качествен-
ные частотные и пространственные характеристики, дис-
персионные уравнения, оценены «столкновительные» эф-
фекты, хорошо совпадающие с результатами численных
экспериментов. В случае частиц конечного размера роль
дебаевского числа играет число перекрытий облаков ггд.
Естественно, чем больше протяженность облака, тем лег-
че удовлетворить условию п(, » 1 при том же количестве
частиц N.
Сглаживание ближних взаимодействий обычно сво-
дится к линейному интегральному преобразованию плот-
ности частиц и плотности тока. Как правило, при этом
используется симметричное или вырожденное ядро. Спо-
соб сглаживания (усреднения) составляет одну из важ-
нейших характеристик модели. Многие модели частиц
различаются именно способом этого усреднения. Метод
частиц распространяется и на многокомпонентные ан-
самбли. Коэффициент укрупнения Ма при этом зависит
от сорта частиц а. Иногда в некоторых моделях возника-
ет необходимость изменения реального отношения масс
частиц различных сортов (например, ионов и электро-
нов) для ускорения вычислений (иначе ионы движутся
слишком медленно). В таких моделях возможно, конеч-
но, получение лишь качественных оценок.
Модели частиц, особенно многомерные (d > 2), тре-
буют, как правило, предельной загрузки мощностей ком-
пьютеров из-за большого количества частиц и узлов сет-
ки, используемой для вычисления собственного поля.
Несмотря на это, в многомерных моделях достигаются
относительно низкие (по сравнению с одномерными)
плотности узлов и частиц в рассматриваемой области и
небольшие значения дебаевского числа nD, Успех мето-
да в этих условиях обеспечивается применением быст-
рых и достаточно точных алгоритмов решения уравне-
ний математической модели. Например, при использо-
вании сеточных методов решения аналогичных задач
требуется много узлов в фазовом пространстве коорди-
нат-импульсов для достижения приемлемой погрешно-
сти, тогда как в методе частиц сетка вводится лишь в
координатном пространстве, но требуется много частиц.
Если, однако, не интересоваться деталями распределения
185
частиц по скоростям и ограничиться моментами рас-
пределения не выше второго (т. е. оценивать лишь
плотность частиц, среднюю скорость, дисперсию скоро-
стей и температуру), то может оказаться достаточным
приемлемое для компьютера количество частиц. Поэто-
му в настоящее время методы частиц позволяют изу.
чать более широкий круг физических процессов, осо-
бенно многомерных, чем сеточные методы.
10.2.
МЕТОДЫ МОДЕЛИРОВАНИЯ
Типичная система уравнений математической моде-
ли частиц состоит из уравнений Максвелла, уравнений
среды
D = еЕ, В = pH, (10.3)
связывающих напряженности электрического Е и маг-
нитного Н поля с их индукциями D, В, и уравнений
движения частиц. Эта система является квазилинейной,
интегро-дифференциальной, поскольку действующее на
частицы поле зависит от распределения плотностей заря-
да и тока, которые сами определяются интегральными
зависимостями от управляемой полем динамики частиц.
При самосогласованном решении уравнений модели
на каждом шаге в текущий момент времени t сначала
находятся макроскопические (сглаженные) плотность за-
ряда р и (или) плотность тока j, входящие в уравнения
Максвелла. Для частиц, поступающих на шаге модели-
рования т в рассматриваемую область, необходимо пред-
варительно воспроизвести их начальное распределение
(точнее, распределение центров облаков) в фазовом про-
странстве в соответствии с известной (заданной) стати-
стикой. При этом могут использоваться рассмотренные в
параграфе 9.1 методы моделирования случайных величин
с заданными законами распределения. После этого чис-
ленно решаются уравнения Максвелла (Пуассона) одним
из методов, данных в главе 7. Решение, как правило,
находится в узлах некоторой пространственной сетки.
Для численного интегрирования уравнений движения не-
обходимо вычисление поля в промежуточных точках,
где располагаются частицы (центры частиц). При этом
используются различные методы интерполирования или
численного дифференцирования сеточных функций, обыч-
но также со сглаживанием (главы 1, 4 и параграф 10.3).
Далее из дифференциальных уравнений движения чис-
ленно находится (методами главы 6) расположение час-
тиц в следующий момент времени t + т и т. д.
Количество частиц в модели N(t) с течением времени
меняется вследствие поступления (эмиссии, инжекции)
и ухода частиц через границы области, а также действия
источников, описывающих процессы ионизации и реком-
бинации. Эти процессы необходимо, по возможности адек-
ватно, воспроизводить. В ходе моделирования наблюда-
ют за величиной N(t). Если на текущем шаге значение
N(t) оказывается больше некоторого Nmax, определяемо-
го емкостью памяти компьютера, вычисления приходит-
ся прекращать. (Их надо повторить сначала, увеличив
коэффициент укрупнения М). При N(t), меньших неко-
торого N'min, также целесообразно прекращение расчетов.
Для оценки значения Amin может, например, служить
неравенство пд » 1.
Результаты численного эксперимента методом час-
тиц подвергаются такой же статистической обработке,
как и результаты физического эксперимента. Получае-
мые результаты можно разделить на две группы: функ-
ции и поля. Под функциями понимаются процессы, за-
висящие только от времени: различные токи, мощно-
сти, суммарный заряд и др. К полям относятся процессы,
зависящие от времени и координат: распределение в
области потенциалов, плотностей, скоростей и т. п. Чис-
ленный эксперимент позволяет исследовать не только
функции, но и поля, хотя, конечно, в ограниченной
степени из-за огромного объема информации, относя-
щейся к полям.
Основными параметрами математической модели ча-
стиц являются количество частиц N (или, что то же
самое, коэффициент укрупнения М), шаг по времени т
и шаг пространственной сетки h (или набор шагов). Эти
параметры определяют дискретизацию заряда, простран-
ства и времени и должны задаваться оптимальным, взаи-
мосвязанным образом, обеспечивая возможность вос-
произведения исследуемых характеристик процесса
186
187
с заданной погрешностью при минимальных затратах
машинного времени.
При использовании сеточных методов вычисления
поля объемного заряда длительность счета практически
линейно возрастает с увеличением числа временных ша.
гов и числа частиц. Число частиц N должно обеспечить
выполнение условия n, » 1 и ограничивается лишь ре-
сурсами компьютера. Большое число частиц позволяет
полнее исследовать многие важные характеристики про-
цессов: динамику и конфигурацию пучков частиц, диф.
фузию, токооседание, моменты функций распределения
второго или даже более высокого порядка и др.
Оптимальный шаг по времени т обычно выбирается
из условий точности решения уравнений движения час-
тиц и составляет некоторую часть, порядка 1/8-1/50
характерного временного периода, например плазменно-
го, циклотронного или внешнего поля. Можно также
выбирать т из условий удовлетворительной воспроизво-
димости моделируемых статистических характеристик
(первых и вторых моментов распределения). Так, если в
численном эксперименте вычисляется корреляционная
функция некоторого процесса, то можно с помощью тес-
тов выбрать шаг т, обеспечивающий приемлемую погреш-
ность этих вычислений.
Шаг пространственной сетки h целесообразно выби-
рать существенно меньшим дебаевского расстояния XD
и большим среднего расстояния между частицами з0.
При этом само дебаевское расстояние Ао находится с
помощью предварительных тестовых просчетов. (Точ-
нее, из тестов находятся средняя плотность объемного
заряда ро, связанная с плазменной частотой сор извест-
ной формулой Ир = г)Ро/е, и среднеквадратичная тепло-
вая скорость vT, а затем вычисляется = vT/ap.) В мно-
гомерных моделях часто трудно удовлетворить условию
h « kD и шаг сетки выбирается порядка Л ~ Ар. В об-
щем случае значения N, т, h должны выбираться взаимо-
связано.
В некоторых моделях коэффициент Ма может зави-
сеть от номера частицы а. Например, в задачах, в кото-
рых важно хорошее воспроизведение относительно не-
большой группы высокоскоростных частиц, им можно
188
приписать меньший вес Ма, чтобы таких частиц было
больше. При этом возможно изменение Ма в ходе моде-
лирования, т. е. объединение или дробление частиц.
Из-за вычислительных погрешностей, вызванных ко-
нечностью М, т, h, в модели наблюдаются рассеяние час-
тиц под действием многократных столкновений и нёфизи-
ческое отклонение движения частиц от регулярного. Это
проявляется в том, что в отсутствие каких-либо физиче-
ских флюктуаций часть энергии регулярного движения
частиц переходит в энергию хаотического теплового дви-
жения — происходит нефизический «разогрев». Оптималь-
но выбранные параметры модели должны обеспечивать
максимальную постоянную времени этого разогрева при
минимальной длительности счета. Как видно, правиль-
ный выбор параметров модели частиц требует большого
объема тестовых расчетов. Но эти тесты необходимы, так
как в конечном счете они позволят с удовлетворительной
точностью находить все характеристики моделируемых
систем, интересующие исследователя.
10.3.
СГЛАЖИВАНИЕ КОНЦЕНТРАЦИЙ,
ПЛОТНОСТЕЙ ЗАРЯДА,
ПЛОТНОСТЕЙ ТОКА
И ДЕЙСТВУЮЩЕЙ СИЛЫ
При рассмотрении методов сглаживания ограничим-
ся моделями идентичных частиц с зарядом q = MZe,
поскольку распространение получаемых формул на слу-
чай частиц разных зарядов тривиально. Макроскопиче-
ская плотность частиц-облаков n0(r, t) получается сгла-
живанием плотности центров облаков nOc(r, t) с помо-
щью преобразования
п0(г, О = JSg(r, r')nOc(r', t)df (Ю.4)
с ядром Sq(r, г') — так называемым коэффициентом фор-
мы, имеющим размерность обратного объема [M] dr.
В (10.4) плотность
ЯОС = ^8(Г — I”a(t)), цд g)
a
где 5-функции также имеют размерность [M]~dr. Под-
ставляя (10.5) в (10.4) находим, что
189
«о(г,О = ^na(r,t), na(r,t) = Sq (r,ra(t)). (10.6)
a
Здесь каждый член суммы na(r, t) описывает плот-
ность, создаваемую частицей-облаком конечного объема
с центром в точке ra(t); a = 1, 2, .... N. Коэффициент
формы Sq(r, г') нормируется на единицу, максимален
при г = г' и является достаточно плавным. Его можно
рассматривать как некоторое «поле плотности», создавае-
мое частицей, или как вероятность для частицы, находя-
щейся в точке с радиус-вектором г', быть обнаруженной
в точке с радиус-вектором г. Протяженность области, в
которой коэффициент формы имеет заметную величину,
называют конечным размером aq частицы, причем, обычно
aq порядка шага сетки ft, хотя в общем случае может
задаваться независимо от ft.
Коэффициент формы обычно выбирается симметрич-
ным:
Sq(r, г') = Sq(r - r) = Sg(r' - г). (10.7)
Это означает, что форма облака не зависит от его
положения, и никакие направления заранее не выделе-
ны. Случай
Sg(r, ra) = 8(r - ra) (10.8)
соответствует частицам нулевого объема (модель ZSP —
Zero Size Particle).
Плотность объемного заряда
p(r, t) = qn0(r, t), pa(r, t) = qna(r, t). (10.9)
В формулах (10.4)-(10.9) координата г произвольная.
Практически, однако, в методах частиц плотность вы-
числяется не по формулам (10.4) и (10.6), а с помощью
линейного интегрального преобразования вида:
п0(г) = £na(r), па = S(r,ra); (10.10)
S(r, ra) = JSg(r', ra) iv(r', r)dr' (lO.H)
(сумма берется по всем N частицам, зависимость от t ДлЯ
краткости опущена).
Здесь и>(га, г') — весовая функция, которую также
называют функцией усреднения или «размазывания»,
190
поскольку она устанавливает способ усреднения («разма-
зывания») облака по некоторой окрестности точки опре-
деления г. Формула (10.9) сохраняется.
Так, в смешанном эйлерово-лагранжевом подходе, на
основе которого строится большинство моделей частиц,
плотности частиц, заряда и тока, а затем создаваемое'
ими электромагнитное поле вычисляется в узлах непо-
движной пространственной сетки. Рассмотрим сначала
неограниченную область, в которой введена прямоуголь-
ная равномерная сетка с шагами hx, hy, hz и узлами г;.
Пусть заряд q нулевого размера, расположенный в точке га,
создает в t-м узле плотность
Pa(n) = qw(ra, Г;). (10.12)
Здесь u>(ra, г,) — интерполяционная формула, описы-
вающая способ (правило) «раздачи заряда» в узлы сетки.
Поскольку все узлы равноправны
ia(ra, f,) = w(ra - Fj) = w(r, - га), (10.13)
т. е. ядро преобразования (10.11) симметричное. На функ-
цию w(ra, rt) целесообразно также наложить некоторое
условие нормировки, например
£w(Fa,rJ = £u>(fo ~п) = — (10.14) i
i i Vg (
для любого значения Fa; Vg — объем сеточной ячейки.
Следовательно,
^Xpa01) = ?. (10.15)
i
Если трактовать Сйра(г;) как заряд, внесенный заря-
дом q нулевого объема в узел (ячейку) с номером г, то
формула (10.15) представляет собой закон сохранения
(и одновременно правило подсчета) заряда в сеточной
области.
Применяя теперь формулу (10.12) к каждому эле-
менту заряда,
dq = qSq(r' - ra)dr' (10.16)
частицы-облака с центром в точке га, находим плотность
Pa(r) = qS(rt - Fa), S(f) = jSq(F' + r)w(r’)dr'. (10.17)
191
В частности, если интерполяционная функция iv(r) =
= 8(г), то весовая функция и плотность заряда
S(r) = S,(r), ра(л) = qSq(rt - га). (10.18)
Если хотя бы одна из функций Sq или w в уравнении
свертки (10.17) удовлетворяет условию нормировки вида
(10.14), то
V,SS(n-r.) = l (1019)
для любых га. Для ансамбля частиц-облаков с центрами
в точках ra (а = 1, 2, ..., N) плотность заряда находится
суммированием:
Р(П) = £ра(п) = (10.20)
а а
Плотность заряда можно представить аналогично
(10.4):
Р(П) = qfe(r, - r)nOc(r)dr. (10.21)
Формулы (10.20) и (10.21) учитывают как форму об-
лака, так и способ раздачи зарядов. Если подставить
плотность центров (10.5) в интеграл (10.21), получим
сумму (10.20).
Очевидно, можно пользоваться лишь весовой функ-
цией S, не интересуясь ее «происхождением» (10.17), и
вычисляя плотность заряда в узлах по формуле (10.20)
или (10.21). На первый взгляд, количество арифметиче-
ских операций , необходимых для вычисления плотнос-
ти заряда (10.20), пропорционально IN, где I — число
узлов. В действительности, однако, весовая функция
S(rf - Га) отлична от нуля лишь в ограниченном числе
узлов окрестности точки га, так что количество опера-
ций пропорционально N и не зависит от I.
Рассмотрим теперь типичные сглаживающие функ-
ции. Ограничимся одномерным случаем, так как много-
мерные сглаживающие функции можно представить в
виде произведения соответствующих одномерных, при-
чем, как правило, однотипных. В простейшем случае
интерполяционная функция полагается кусочно-посто-
янной: г- ,, i i , ,«
II//» Ы < h /2.
(10.22)
°’ Рис. 57
Кусочно-постоянная интерполяционная функция (а) и кусочно-
постоянный коэффициент формы (б), а также полученные в
результате их свертки весовые функции (в) и (д), описывающие
способ «взвешивание по площадям» (г)
(рис. 57, а), а облако нулевого размера, т. е. Sq —
8-функция, S(x) = w(x). Таким образом, частица вносит
единичный вклад в плотность частиц в ближайшем к
ней сеточном узле. В зарубежной литературе этот способ
называют NGP (Nearest Grid Point — ближайший узел
сетки). Весовая функция NGP является разрывной, по-
этому малые изменения координат частиц, приводящие
к пересечению одной из границ сеточных ячеек — линий
*;±1/2 = 0 ± 1/2)А с полуцелыми индексами — вызывают
скачки плотности. Происходит как бы усиление вычис-
лительных погрешностей — шумов счета.
В другом распространенном методе интерполяцион-
ная функция по-прежнему дается формулой (10.22), но
облако имеет прямоугольную форму:
1 / а„, 1x1 < 0,5а„,
S«(x)=nllJnK <10-23)
0, |х|>0,5а9
(рис. 57, б). Свертка кусочно-постоянных функций (10.22)
8(10.23):
[0,5(1 + h/aq) - х/aq\/h,
0,5(aq -h)< х < Q,5(aq + h),
'\/aq, |x| < 0,5(ag-Л), (10.24)
Г 0, |x| > 0,5(ag + h)
192
193
является кусочно-линейной (см. рис. 57, в). В этом мето-
де прямоугольное облако движется по сетке. Использо-
вание интерполяционной функции (10.22) означает, что
доля объема облака, попадающая в ячейку сетки, кото-
рая окружает некоторый узел, составляет вклад в число
частиц в этом узле. Поэтому описанный метод называют
«облака в ячейках» — CIC (Clouds in Cells). В двумерном
случае вклад частицы с номером а в число частиц в г-м
узле, т. е. значение VqS(xt - ха), представляет собой от-
ношение заштрихованной площади (см. рис. 57, г) к пло-
щади частицы-облака aq. Поэтому такой способ называ-
ют еще взвешиванием по площадям (area weighting).
Если размер частицы aq > h, то разрешение падает,
так как протяженность области, в которой плотность
частицы постоянна, превышает минимальный масштаб
Л, различимый на сетке.
В случае aq > h существует отличный от нуля интер-
вал расстояний между двумя облаками, на котором они
не взаимодействуют. Обычно полагают aq = h. При этом
Sq(x) совпадает с и>(х) (см. рис. 57, а), т. е. облако имеет
форму сеточной ячейки; интервал, на котором два обла-
ка не взаимодействуют, стягивается в нуль; плоская вер-
шина весовой функции исчезает:
\ [(1-|х|/Л)/й, |х| < Л,
(х,= [0, Иг* <10-25’
(см. рис. 57, д). Функция-«крышка» (10.25) непрерыв-
на, но ее первая производная разрывна. Малые измене-
ния координат частиц в методе «облака в ячейках» вы-
зывают малые изменения их плотности.
Можно также полагать, что весовая функция S(x)
(10.25) получена сверткой равной ей интерполяционной
функции w(x) = S(x), и коэффициента формы Sq в виде
6-функции. В такой интерпретации используемый метод
называют «частицы в ячейках» — PIC (Particles in Cells).
В вычислительном отношении методы PIC и CIC иден-
тичны.
В случае «треугольного» облака
Sq(x) =
(1-[х|/а9)/а,,
0, |х| > aq > h
|х| < ад,
(10.26)
194
(рис. 58, а) и кусочно-постоянной интерполяционной
функции (20.22) весовая функция
ГО,5/Л -*1(1 -0,5*1 /<iq)/(haq), aq-h< < aq,
S(x) = .(1-lxl/a’)/a” h/2<\x\<aq-h/2, (10 27)
1 ' 1(1-0,2bh/aq)/aq ~(x/aq)2/h, |х|<Л/2,
|o, |*i|>a9, (*! = |x|-ft/2)
составлена из отрезков трех парабол, сопряженных от-
резками прямых (рис. 58, б).
В обычно используемом случае aq = h отрезки пря-
мых исчезают и весовая функция представляется квад-
ратичным сплайном:
S(x) =
[3/4-(х/Л)2]/й, |х|<Л/2,
• (3/2 - |х|/Л)2/(2Л), Л/2 <|х| < ЗЛ/2,
О, |х|>ЗЛ/2,
(10.28)
«Треугольный» коэффициент
формы «крышка» (а)
и соответствующие весовые
функции (б ив), полученные
«взвешиванием по площадям»
(рис. 58, в). Сплайн (10.28) имеет непрерывную первую,
но разрывную вторую производные.
Используются также коэффициенты формы в виде
конечного тригонометрического ряда Фурье
Sg(x) = Re^Sg(n)exp(ift„x), (10.29)
, п
Где Sq(ri) — коэффициент
Фурье с номером п, i — мни-
мая единица, kn — волновое
число номера п, и в виде га-
(ссовой кривой
Sg(x) = (2яа|)‘1/2 х
(хехр(-0,5х2/а2). (10,30)
Модель с весовой функ-
!,ией (10.28) в виде квадра-
ичного сплайна из трех па-
абол иногда называют SSC
{Spline Shaped Cloud), мо-
дель (10.29) — TSC (Trigono-
metric Shaped Cloud), модель
(10.30) — GSC (Gaussian Sha-
ded Cloud — облако гауссовой
195
формы). С этими коэффициентами формы обычно ис-
пользуется интерполяционная функция w(r) = 5(г), так
что S = Sq (10.18).
Описана также модель, в которой гауссов коэффици-
ент формы свертывается с кусочно-постоянной интерпо-
ляционной функцией (10.22), т. е. облако (10.30) взве-
шивается по площадям.
Функции (10.29) и (10.30) имеют непрерывные про-
изводные любого порядка. Как правило, однако, функ-
ции (10.29) и (10.30) обрываются при некоторых конеч-
ных х, так что функции разрывны на концах. Например,
широко используется оборванная гауссова кривая
cj ехр(-0,5х2 /а|), lxl<xmax,
где константы aq и хтах определяются с помощью тестов
из условия минимума погрешности и длительности сче-
та, а с1 — из условия нормировки.
Полученные формулы легко распространяются на ог-
раниченные области. При наличии границ возможно об-
рывание коэффициента формы частицы-облака Sq и не-
которое нарушение закона сохранения числа частиц, когда
часть облака оказывается за пределами области.
Для плотности тока сглаженные значения модели об-
лаков
Л(Н = qvaSq(r - ra), j(r) = (10.32)
а
а значения в узлах сетки
/<х(п) = Щ>а<8(П - Га), j(lj) = £/а(п), (10.33)
а
где Sq и S — те же функции, которые применяются при
сглаживании плотности заряда. Определение плотности
заряда и тока по формулам (10.20) и (10.33) можно пони-
мать как вычисление соответствующих интегралов мето-
дом Монте-Карло.
На погрешность аппроксимации плотности заряда и
тока среди других факторов влияет конечность шага моде-
лирования т. Если за шаг [/, t + т] центр облака переходит
из г-й ячейки в ячейку V, то мгновенная картина располо-
жения частиц в момент t даст завышенную плотность в
ячейке i и заниженную в ячейке Г. Возникающий из-за
196
этого счетный шум особенно велик в модели ZSP-NGP,
но проявляется и в модели CIC. Шум объясняется тем,
что во всех описанных методах при сглаживании исполь-
зуется лишь фазовое положение частиц, наблюдаемое в
текущий момент времени t. Вычисляемая таким образом
плотность дает поэтому мгновенную картину ансамбля,
но не учитывает его динамику в течение шага т.
Предполагая, что на шаге характер движения частиц
ансамбля сохраняется, в качестве сглаженной весовой
функции иногда принимают временное среднее несгла-
женной функции S(rit ra(t)) одного из указанных выше
типов вдоль отрезка траектории, проходимого частицей
с номером а за интервал времени т. Такой способ сглажи-
вания приводит к увеличению эффективного объема ча-
стиц и числа перекрытия облаков nq в отношении
a(aq + Z)/a, где I — средний пролет частиц на шаге. В мо-
делях пролет I часто в несколько раз превышает размер
aq, так что эффект сглаживания может быть существен-
ным при незначительном удлинении счета.
При решении уравнений движения следует с помо-
щью некоторой интерполяционной формулы вычислять
напряженность поля Е(г) в произвольной точке г по зна-
чениям Ei в сеточных узлах гг. Воспользуемся для этого
той же формулой w(r, г;), которая была введена для раз-
дачи заряда в узлы сетки. Тогда
E(r) = VgY,EiW(r,ri). (10.34)
i
Благодаря условию нормировки (10.14) в однородном
поле, когда Е, = const, Е(г) также не зависит от г: E(r) =
= Et = const.
Напряженность поля Еа, действующая на частицу с
номером а, получается усреднением напряженности
(10.34) по объему облака с выбранным коэффициентом
формы Sq(r, г'):
Еа = jE(r')SQ(r', ra)dr' = Vg^EiStri, ra), (10.35)
i
где S(r, ra) — та же весовая функция (10.11) (функция
Усреднения), которая использовалась для вычисления се-
•точной плотности объемного заряда. Действие формулы
(10.35) является в некотором смысле обратным действию
197
формул (10.10) и (10.11). Последние преобразуют функ
ции с континуума точек на сетку, тогда как формула (10.35)
распространяет функцию с сетки на континуум. Так же
вычисляется магнитное поле Ва и действующая сила
F(ra) = Fa = q(Ea + va х Ва). (10.36)
Выбор для напряженности поля (10.34) и плотности
заряда (10.12) одинаковых интерполяционных формул,
а следовательно, одинаковых весовых функций, дает, по
крайней мере, в электростатических задачах, два пре-
имущества. Во-первых, можно показать, что если при
этом конечно-разностное уравнение Пуассона, связываю-
щее напряженность поля с плотностью заряда, простран-
ственно-симметрично, т. е. записано в центрально-раз-
ностных производных, то исключается самодействие: изо-
лированная частица в неограниченной или периодической
области, не испытывает действия сил.
Во-вторых, использование различных весовых функ-
ций Si и S2 может привести к неустойчивости, которая
называется гравитационной, и проявляется в том, что
одинаковые частицы не отталкиваются, а притягивают-
ся, как гравитационные. Если же Sj = S2 = S, гравита-
ционная неустойчивость не возникает.
Во многих моделях напряженность электрического поля
находится численным дифференцированием Е = -gradtp
сеточного потенциала, полученного в результате решения
уравнения Пуассона. За значение напряженности поля в
узлах обычно принимается центрально-разностная произ-
водная на целых или полуцелых шагах. Например, в дву-
мерной области в узле (хг, г/,) можно принять
Ех(1, j) = (<p(Z + 1, i) - <р(( - 1, i))/(2ftz) (Ю.37)
или
Ех(1 + 1/2, i) = (<p(Z + 1, i) - ф(/, i)}/hx (10.38)
и т. д. Полученные таким образом напряженности затем
используются в формуле взвешивания (10.35).
В некоторых важных случаях составляющие Ео, Е»
на каждом шаге моделирования являются известными
аналитическими достаточно простыми функциями ко-
ординат. Тогда целесообразно из уравнения Пуассона
вычислять лишь кулоновский потенциал <рр, сохраняя
его в виде сеточной функции и численно дифференци-
руя для нахождения поля Ер, например, по формулам
(10.37), (10.38).
Помимо конечно-разностных формул для вычисления
поля применяются сплайны. Сплайны позволяют полу-
чить более гладкое поле с меньшими вычислительными
огрешностями, но они замедляют расчеты и требуют
ополнительной памяти для хранения коэффициентов
плайна. Эти трудности резко возрастают с увеличением
азмерности пространства. Поэтому в численном экспе-
именте сплайны используются, как правило, для интер-
полирования одномерных функций. Возможно, более ра-
дикальным является отыскание решения системы урав-
нений Максвелла или уравнения Пуассона непосредственно
в виде сплайна, вместо определения решения на сетке с
последующей сплайн-интерполяцией. В многомерных об-
ластях эта возможность пока не исследовалась.
Помимо исследования ансамблей заряженных частиц,
етод частиц может успешно использоваться также для
оделирования многих явлений газовой динамики, гид-
динамики, пластичности, молекулярной физики, физи-
и атмосферы, небесной механики, нейтронной физики,
дерной физики и других областей физики. Как теория
етода, так и техника его практического использования
ктивно развивается и совершенствуется.
198
ЗАКЛЮЧЕНИЕ
Численные методы составляют сейчас важнейший раз-
дел прикладной математики, интенсивно развивающий-
ся одновременно с совершенствованием средств вычис-
лительной техники и находящий все более широкое при-
менение. Хотя современное состояние вычислительной
техники и вычислительной математики в большинстве
случаев не позволяет пока получать количественные ре-
зультаты, полностью отвечающие потребностям экспе-
риментаторов, проектировщиков и конструкторов, одна-
ко численные результаты позволяют достигнуть нового,
более высокого уровня понимания изучаемых процессов,
приборов, установок.
Поэтому при выполнении расчетов на компьютере,
численных (машинных) экспериментов целесообразно ру-
ководствоваться хорошим принципом, выдвинутым из-
вестным специалистом в области численных методов и
их применения Р. В. Хеммингом: «Цель расчетов — не
числа, а понимание». Но чтобы достигнуть этого пони-
мания, надо хорошо ориентироваться в численных мето-
дах, отчетливо представлять себе, что могут и что не
могут дать те или иные методы, каковы их особенности,
характеристики, область применения. Без этих знании
важные физические явления могут остаться не обнару-
женными, и наоборот, особенности методов можно оши-
бочно принять за особенности изучаемых объектов, на-
пример, неустойчивость трактовать как самовозбуЖД®'
ние, несохранение энергии вследствие погрешностей
выбранного метода — как диссипацию и т. д.
Конечно, изложенные в этом небольшом учебном по-
собии численные методы следует рассматривать лишь
как некоторую минимальную, общедоступную основу для
понимания заложенных в них принципов и путей при-
, менения в инженерно-исследовательской практике. Для
I более полного изучения численных методов, как изло-
женных в учебном пособии, так и не вошедших в него,
необходимо привлекать дополнительную литературу.
Некоторые издания, наиболее подходящие, по нашему
мнению, для студентов физических и технических спе-
циальностей, указаны в списке литературы [1-14].
Авторы надеются, что изложенный материал сможет
способствовать пробуждению у читателей интереса к са-
мостоятельному численному решению на компьютере раз-
нообразных физических задач.
200
список
РЕКОМЕНДУЕМОЙ
ЛИТЕРАТУРЫ
1. Бахвалов И. С., Жидков Н. П„ Кобельков Г. М. Численные мето-
ды. М.: СПб.: Физматлит, 2000.
2. Волков Е. А. Численные методы. М.: Наука, 1987.
3. Калиткин И. И. Численные методы. М.: Наука, 1978.
4. Марчук Г. И. Методы вычислительной математики. М.: Наука, 1989.
5. Самарский А. А., Гулин А. В. Численные методы. М.: Наука, 1989.
6. Турчак Л. И. Основы численных методов. М.: Наука, 1987.
7. Хемминг Р. В. Численные методы для научных работников и ин-
женеров. М.: Наука, 1968.
8. Самарский А. А., Гулин А. В. Численные методы математической
физики. М.: Научный мир, 2000.
9. Соболь И. М. Численные методы Монте-Карло. М.: Наука, 1973.
10. Ильин В. И. Численные методы решения задач электрофизики.
М.: Наука, 1985.
11. Карманов В. Г, Математическое программирование. М.: Наука, 1986.
12. Белоцерковский О. М„ Давыдов Ю. М. Метод крупных частиц в
газовой динамике. М.: Наука, 1982.
13. Хокни Р„ Иствуд Дж. Численное моделирование методом частиц.
М.: Мир, 1989.
14. Бэдсел Ч., Ленгдон А. Физика плазмы и численное моделирование.
М.: Энергоатомиздат, 1989.
ОГЛАВЛЕНИЕ
Введение.................................................. 3
А. Основные этапы решения
физических задач на компьютере ...................... 6
Б. Погрешности вычислений.......................... 10
В. Корректность и устойчивость..................... 13
'Глава п е р в а я. Интерполирование в физических задачах ... 14
1.1. Полиномиальная интерполяция .................... 16
1.2. Полином Лагранжа............................... 17
1.3. Интерполяционная формула Ньютона................ 18
1.4. Точность интерполяции........................... 20
1.5. Интерполяция сплайнами.......................... 20
1.6. Интерполирование
тригонометрическими полиномами....................‘. . 23
1.7. Применение быстрого преобразования
Фурье (БПФ) в физике................................. 27
Глава вторая. Аппроксимирование в физических задачах . . 29
2.1. Среднеквадратичное и равномерное приближения... 29
2.2. Разложение в степенные ряды.................... 31
2.3. Регрессионный анализ — метод выравнивания...... 33
2.4. Метод наименьших квадратов..................... 35
2.5. Цифровая фильтрация
экспериментальных результатов........................ 36
Глава третья. Численное решение
нелинейных алгебраических уравнений...................... 39
3.1. Уравнения с одним неизвестным.................. 39
3.1.1. Метод половинного деления (дихотомия)..... 41
3.1.2. Удаление корней........................... 41
3.1.3. Метод простой итерации.................... 42
3.1.4. Метод касательных......................... 44
3.1.5. Метод секущих............................. 47
3.1.6. Метод парабол............................. 49
3.2. Системы нелинейных уравнений................... 50
3.2.1. Метод простой итерации.................... 50
3.2.2. Метод Ньютона ........................... 51
203
Глава четвертая. Численное дифференцирование
и интегрирование.................................... 53
4.1. Численное дифференцирование.................... 53
4.1.1. Улучшение аппроксимации.................. 56
4.1.2. Дифференцирование со сглаживанием........ 57
4.1.3. Частные производные.......................58
4.2. Численное интегрирование....................... 59
4.2.1. Интерполяционные квадратуры.............. 61
4.2.2. Квадратурная формула Гаусса.............. 63
Глава пятая. Численные методы
линейной алгебры........................................ 66
5.1. Прямые методы решения систем
лйнейных алгебраических уравнений............... 66
5.2. Итерационные методы решения систем
линейных алгебраических уравнений.................. 72
5.3. Численные методы решения
проблемы собственных значений...................... 80
5.4. Применение в физических задачах ............... 84
Глава шестая. Численные методы решения
обыкновенных дифференциальных уравнений . .......... 86
6.1. Одношаговые численные методы
решения задачи Коши............................. 86
6.2. Многошаговые численные методы
решения задачи Коши................................ 91
6.3. Устойчивость численных методов
решения задачи Коши. Неявные методы................ 94
6.4. Численное решение краевых задач
для обыкновенных дифференциальных уравнений....... 97
6.5. Применение численных методов решения
обыкновенных дифференциальных уравнений
в физических задачах............................... 99
6.6. Численные методы решения жестких систем
обыкновенных дифференциальных уравнений........... 101
6.7. Численное решение обыкновенных
дифференциальных уравнений,
не приведенных к нормальному виду................. 103
6.8. Численное решение обыкновенных
дифференциальных уравнений второго порядка........ Ю4
Глава седьмая. Численные методы решения
уравнений в частных производных.................... 106
7.1. Разностные схемы.............................. 11®
7.2. Численное решение
одномерного уравнения переноса........................
7.3. Численное решение одномерного
уравнения теплопроводности............................
7.4. Численное решение двумерного
уравнения теплопроводности............................
7.5. Численные решения
уравнений эллиптического типа ........................
7.6. Дисперсия, диссипация
и монотонность разностных схем........................
204
7.7. Численные решения уравнений
гиперболического типа.............................. 135
7.8. Особенности численного решения
квазилинейных уравнений в частных производных 141
Глава восьмая. Численные методы решения задач
оптимизации и поиска минимума.................... 150
8.1. Постановка задач оптимизации
и поиска минимума................................. 150
8.2. Поиск минимума функции одной переменной....... 152
8.3. Поиск минимума случайной функции
одной переменной................................... 159
8.4. Поиск минимума функции
нескольких переменных.............................. 160
8.5. Оптимизация при наличии ограничений .......... 168
Глава девятая. Численные методы Монте-Карло............ 171
9.1. Генерирование случайных чисел
с заданным законом распределения............... 171
9.2. Вычисление многомерных интегралов
методом Монте-Карло................................ 175
9.3. Поиск минимума функции многих переменных...... 177
Глава десятая. Метод крупных частиц.................... 179
10.1. Модель крупных частиц......................... 179
10.2. Методы моделирования.......................... 186
10.3. Сглаживание концентраций, плотностей заряда,
плотностей тока и действующей силы.................. 189
Заключение............................................. 200
Список рекомендуемой литературы........................ 202
Владимир Иванович РАЩИКОВ,
Анатолий Самуилович РОШАЛЬ
ЧИСЛЕННЫЕ МЕТОДЫ
РЕШЕНИЯ
ФИЗИЧЕСКИХ ЗАДАЧ
Учебное пособие
Генеральный директор А. Л. Кноп
Директор издательства О. В. Смирнова
Художественный редактор С. Л, Шапиро
Редактор У. А. Елькина
Корректоры И. С. Соломина, Н. К. Белякова
Верстальщик С. Ю. Малахов
Выпускающие Н. К. Белякова, О. В. Шилкова
ЛР №065466 от 21.10.97
Гигиенический сертификат 78.01.07.953.П.001665.03.02
от 18.03.2002 г., выдан ЦГСЭН в СПб
Издательство «ЛАНЬ»
lan@lpbl.spb.ru
www.lanpbl.spb.ru
192029, Санкт-Петербург, Общественный пер., 5.
Издательство: тел./факс: (812)336-25-10, 336-25-09;
pbl@lpbl.spb.ru
print@lpbl.spb.ru
Торговый отдел: 193029, Санкт-Петербург, ул. Крупской, 13,
тел./факс: (812)567-54-93,
тел.: (812)567-85-78, (812)567-14-45,. 567-85-82, 567-85-91;
trade@lanpbl.spb.ru
Филиал в Москве:
109263, Москва, 7-я ул. Текстильщиков, 6/19,
тел.: (095)178-65-85, 178-57-04;
lanpress@ultimanet.ru
Филиал в Краснодаре:
350072, Краснодар, ул. Жлобы, 1/1, тел.: (8612)74-10-35;
lankr d98@mail .ru
Сдано в набор 21.06.04. Подписано в печать 20.11.04.
Бумага типографская. Гарнитура Школьная. Формат 84x108 '/32.
Печать высокая. Усл. п. л. 10,92. Тираж 3000 экз.
Заказ № 2845
Отпечатано с готовых диапозитивов
в ОАО «Владимирская книжная типография».
600000, г. Владимир, Октябрьский проспект, д, 7.
Качество печати соответствует качеству
предоставленных диапозитивов
I
I
X
1
л
X
X
X
X
X
X
X
X
X
X
X
X
X
X
к
t
X
X
X
I:
х
I
X
X
X
X
X
X
X
I
X
X
X
j X
Ц
5 i
x
: X
КНИГОИЗДАТЕЛЬСКАЯ
И КНИГОТОРГОВАЯ
ФИРМА
КНИГОИЗДАТЕЛЬСКАЯ
И КНИГОТОРГОВАЯ
.__ ФИРМА
ЛАНЬ®
Издательство «ЛАНЬ»
ПРЕДЛАГАЕТ
Тематика нашего Издательства ’>
БИОЛОГИЯ, ХИМИЯ, МАТЕМАТИКА, ФИЗИКА
СЕЛЬСКОЕ ХОЗЯЙСТВО, ВЕТЕРИНАРИЯ
ЭКОНОМИКА, МУЗЫКА
♦♦♦ Формирование контейнеров в любую точку страны
❖ Ответственное хранение по договорным ценам <
❖ Гибкая система скидок ❖
ПРИГЛАШАЕМ К СОТРУДНИЧЕСТВУ
АВТОРОВ И ИЗДАТЕЛЬСТВА
ДЛЯ СОВМЕСТНОЙ РАБОТЫ
Рукописи не рецензируются и не возвращаются
ЖДЕМ ВАС ПО АДРЕСАМ:
РФ, 192029, Санкт-Петербург, Общественный пер., 5
Издательский отдел: (812) 336-25-10, 336-25-09
Торговый отдел: 193029, ул. Крупской, 13,
(812) 567-85-78, 567-14-45,
тел/факс 567-54-93
www.lanpbl.spb.ru E-mail: lan@lpbl.spb.ru
рЫ@1рЫ.5рЬ.ги(издательский отдел), рпп(@1рЫ.5рЬ.ги(производствениый отдел)
frade@lanpbl.spb.ru(Toproeuii отдел), post@lanpbl.spb.ru(KHMra почтой)
Филиал в Москве: 109263, Москва, Z-я ул. Текстильщиков, д. 6/19
(м. Текстильщики) тел.(095) 178-65-85, 178-57-04; E-mair.lonpress@ultimanet.ru
Филиал в Краснодаре: 350072, Краснодар, ул. Жлобы, д. 1/1 (8612)74-10-35
E-mail: Iankrd98@mail.ru
X
X
X
X
X
X
х
х
X
X
X
X
X
i
i
X
i:
х
X
X
X
i
X
X
X
X
X
X
X
X
X
X
X
X
i
X
X
X
X
X
i
X
X
X
X
4
м*е
КНИГОИЗДАТЕЛЬСКАЯ
И КНИГОТОРГОВАЯ
ФИРМА
КНИГОИЗДАТЕЛЬСКАЯ
И КНИГОТОРГОВАЯ
_ ФИРМА
ЛАНкГ
Издательство «ЛАНЬ»
КНИГА - ПОЧТОЙ
УВАЖАЕМЫЕ ЧИТАТЕЛИ!
ВЫ МОЖЕТЕ ПРИОБРЕСТИ КНИГИ
НАШЕГО ИЗДАТЕЛЬСТВА
ОТПРАВИВ ПОЧТОВУЮ КАРТОЧКУ С ЗАКАЗОМ
ПО АДРЕСУ:
193029, САНКТ-ПЕТЕРБУРГ, ул. КРУПСКОЙ, 13
ОТДЕЛ «КНИГА - ПОЧТОЙ»
Образец заполнения почтовой карточки:
ПОЧТОВАЯ КАРТОЧКА
Куда: 193029, Санкт-Петербург,
ул. Крупской, 13
отд. «Книга — почтой»
Адрес отправителя:
198216, Санкт-Петербург,
Ленинский проспект, д. 5, кв. 40
Ельскому Юрию Михайловичу
ВЫ МОЖЕТЕ ОФОРМИТЬ ЗАКАЗ С ПОМОЩЬЮ ЭЛЕКТРОННОЙ ПОЧТЫ
E-MAIL POST@LPBLSPB.RU
СПРАВКИ ПО ТЕЛЕФОНАМ:
(812)567-54-93; (812)567-85-78; (812)567-14-45
ЛАНЬ