Главная > Математика > Численные методы
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

5. Разностный метод; нелинейные задачи.

Выше была построена несложная разностная схема для простейшей задачи. Перейдем к более общим случаям.

Наибольшие трудности вызывают нелинейные задачи. Рассмотрим краевую задачу для нелинейного уравнения второго порядка

с краевыми условиями первого рода. Будем предполагать, что ограничена и непрерывна вместе со своими вторыми производными, так что существует ограниченная и непрерывная . Обозначим через .

Аналогично п. 4, введем на равномерную сетку и заменим вторую производную разностным выражением (65). Подставляя его в дифференциальное уравнение (70), получим систему нелинейных алгебраических уравнений

последние два уравнения аппроксимируют краевые условия.

Докажем сходимость разностного решения к точному, дополнительно предполагая, что . Поскольку для погрешности аппроксимации производной (65) справедливо соотношение (3.12):

точное решение удовлетворяет разностным уравнениям

Вычитая эти уравнения из (71), обозначая погрешность и учитывая, что получим для погрешности систему уравнений

Пусть , есть узел, в котором максимален. В этом узле перепишем соотношение (72) в форме неравенства

Усилим это неравенство, заменяя в правой части на тогда получим

Это означает, что при разностное решение равномерно сходится к точному со вторым порядком точности.

Займемся фактическим нахождением разностного решения. Алгебраические системы общего вида решают методами последовательных приближений или линеаризации. Однако, если взять метод последовательных приближений в естественной форме (5.44):

то нетрудно убедиться, что критерии сходимости этого метода (5.45) не выполняются. Положение улучшается, если придать методу последовательных приближений специфическую форму

Тогда для определения на каждой итерации получается линейная система, решаемая алгебраической прогонкой. Исследуем сходимость итераций (74).

Рассмотрим погрешность итерации . Она удовлетворяет системе уравнений, получаемой вычитанием (71) из (74):

Решим эту трехдиагональную систему методом прогонки. Для данной системы рекуррентные соотношения (5.12) для коэффициентов прогонки нетрудно преобразовать к такому виду:

Формулы обратного хода прогонки (5.11) также преобразуются

и дают искомое решение системы (75).

Для правых частей системы (75) выполняется неравенство

Подставляя его в (76), получим

Отсюда следует

(77)

Это означает, что итерации (74) сходятся при выполнении условия

Из соотношения (78) следует, что сходимость линейная, т. е. довольно медленная.

Условие (78) является достаточным, но оно близко к необходимому: более сложные оценки показывают, что если , то итерации (74) могут расходиться.

Целесообразнее решать уравнения (71) методом Ньютона. Соответствующие формулы нетрудно записать, линеаризуя правые части этих уравнений:

Линеаризованную систему также решают алгебраической прогонкой. Сходимость итераций исследуют описанными выше приемами. Потребуем, чтобы . Тогда сравнивая (79) и (71), можно получить для поправки такое неравенство:

Это означает, что если нулевое приближение взято не слишком далеко от корня (например, удовлетворяет условию

то итерации (79) сходятся, причем квадратично. Поэтому метод Ньютона обычно выгодней метода последовательных приближений, несмотря на более громоздкие формулы.

Замечание. Если итерации (79) или (74) сходятся, то в силу непрерывности и гладкости функции они сходятся к решению системы (71). Тем самым устанавливается существование разностного решения в этих случаях.

Для нелинейных задач очень эффективна комплексная организация расчета, позволяющая при небольшом объеме вычислений получать высокую точность. Опишем ее.

Возьмем первую сетку с очень малым числом интервалов остальные сетки получим из нее последовательным сгущением вдвое. На первой сетке начальное приближение выберем каким-либо приближенным способом: методом Галеркина. или разложением по малому параметру. Поскольку для первой сетки порядок алгебраической системы мал, качество нулевого приближения здесь малосущественно.

Когда итерации сошлись, полученное разностное решение интерполируем (например, линейно) на второй сетке и возьмем на ней в качестве нулевого приближения. Тогда итерации обычно быстро сходятся; в методе Ньютона достаточно 2—4 итераций. Интерполируем это решение на следующей сетке и т. д. Общий объем расчетов при этом невелик и примерно эквивалентен 5—8 итерациям последней сетки.

В заключение разностное решение на всех сетках уточним по рекуррентному правилу Рунге. Это настолько повышает точность, что даже в сложных задачах позволяет ограничиться небольшим числом интервалов последней сетки .

Если проводится серия расчетов при варьировании параметров исходной задачи, то целесообразно результат расчета одного варианта брать в качестве нулевого приближения для первой сетки следующего варианта.

Рассмотрим некоторые другие усложнения задачи.

1) Сетка может быть неравномерной. В этом случае надо использовать соответствующую аппроксимацию производных, например,

Напомним, что эта аппроксимация имеет погрешность на квазиравномерных сетках и на произвольных сетках. Исследование разностной схемы (71), проведенное выше, легко обобщается на случай неравномерной сетки.

2) Можно использовать аппроксимации, явно учитывающие вид общего решения исходного дифференциального уравнения; при этом получаются специальные схемы (см. § 1, п. 9). Составим, например, для задачи (64) с такую схему, чтобы она была точна при . При этом ограничении общее решение уравнения (64а) имеет вид

где — произвольные постоянные. Легко проверить, что на равномерной сетке подстановка этого решения в разностную схему

(краевые условия учитываются аналогично ) дает тождество. Следовательно, эта схема точна в указанном смысле. Она позволяет получать хорошую точность расчета быстро осциллирующих решений даже на грубой сетке, если являются медленно меняющимися функциями.

Однако заметим, что применять правило Рунге для уточнения разностных решений, полученных подсхемам типа (80), можно не всегда. Причина этого была подробно рассмотрена в связи с формулами Филона (глава IV, § 2, п. 3).

3) Дифференциальное уравнение может иметь более высокий порядок. Аппроксимация старших производных требует большего числа узлов, и каждое уравнение типа (71) или (66а) будет содержать соответственно большее число неизвестных. Поэтому для решения алгебраической линейной (или линеаризованной) системы вместо алгебраической прогонки надо использовать несколько более трудоемкие способы. Но принципиальных осложнений это не вызывает.

4) Возможны более сложные краевые условия. Рассмотрим, например, нелинейное условие третьего рода

Если подставить в него аппроксимацию то ее погрешность велика, что ухудшает общую точность расчета. Чтобы записать разностное краевое условие повышенной точности, рассмотрим формулу Тейлора

и на основании уравнения (70) положим а из краевого условия (81) возьмем и Тогда получим

Другие способы аппроксимации краевых условий будут рассмотрены в главе IX.

Подведем итоги. Разностный метод имеет свои трудности, связанные в основном с решением алгебраической системы уравнений. Однако эти трудности успешно преодолеваются. Метод естественно переносится на уравнения высокого порядка, причем трудоемкость вычислений почти не возрастает. Его численная устойчивость обычно хорошая.

Поэтому для уравнений второго порядка разностный метод успешно конкурирует с методом стрельбы, а для уравнений более высокого порядка, особенно при сложной постановке краевых условий, оказывается выгоднее стрельбы.

<< Предыдущий параграф Следующий параграф >>
Оглавление