Н.Н. Калиткин - Численные методы (1133437), страница 59
Текст из файла (страница 59)
Затруднения возникают в тех случаях, когда краевая задача (50) хорошо обусловлена, а соответствующая ей задача Коши плохо обусловлена. При этом численное интегрирование задачи Коши определяет функцию ар(а)) с большой погрешностью, что осложняет организацию итераций. В этом случае пробуют поставить начальные условия на другом конце отрезка х = (а, т. е.
интегрировать задачу Коши справа налево; нередко при этом устойчивость улучшается. Если изме- 2бб ОБЫКНОВЕННЫЕ ДИФФЕРЕНЦИАЛЬНЫЕ УРАВНЕНИЯ (ГЛ. ЧП1 пение направления интегрирования не помогает, то такую краевую задачу решают либо специальными, либо разностиыми методами. Одним из специальных методов для линейных нраевых задач является диффергнииильная прогонка (ее идея предложена в [(], а подробное описание алгоритма имеется,'например, в [3, 4]).
Этот метод хорошо устойчив именно в тои случае, когда задача Коши для исходной линейной системы плохо обусловлена; этот факт вызывал одно время большой интерес к прогонке. Однако при хорошей устойчивости линейной задачи Коши прогонка становится недостаточно устойчивой. Поэтому в настоящее время дифференциальная прогонка употребляется не часто. Обычно используются ее разностные аналоги, рассматриваемые ниже; они обеспечивают удовлетворительную устойчивость расчета в большинстве интересных случаев. 3. Уравнения высокого порядка или системы большого числа уравнений имеют соответствующее число краевых условий, и способы задания этих условий достаточно разнообразии(.
Поэтому к таким задачам применять метод стрельбы много труднее, чем к простейшей задаче (60). Рассмотрим тот (сравнительно несложный) случай, когда для системы р уравнений — =1а(х, и„и, ..., ир), ]и-)т-=р, а~х(Ь, (60а) дополнительные условия заданы только на концах отрезка и имеют следующий вид: (606) (60в) тра (и, (а), ..., ия (а)) = 0 1 -= й ( и, тр, (и, (Ь), ..., ир (Ь)) = 0 и + 1 ( й р.
Для определенности, будем полагать т~р/2. Выберем за исходный тот конец отрезка [а, Ь], где задана больитая часть краевых условий; в нашем случае это будет левый конец х=а. В качестве пристрелочных параметров возьмем р — и каких-то функций и„(х) из полного набора, например, иа (а) т(ч 1 и=- Ч == р лт' (61а) Если подставить эти значения в левые краевые условия (60б), то эти условия образуют систему алгебраических уравнений относительно начальных значений остальных функций; решая эту систему, найдем и (а)=зр (т(„т]ю ..., т] „), р — ел+1 сд(р. (616) Рассмотрим задачу Коши для системы уравнений (60а) с начальными условиями (61а, б).
Решение этой задачи, которое можно найти численным интегрированием, удовлетворяет левому краевому условию (60б) и зависит от параметров т[= (т(1, т]з, ..., т]р Подстановка этого решения в правые краевые условия (60в) КРАЕВЫЕ ЗАДАЧИ 267 определяет вспомогательные функции параметров ср«(Ч) =«р»(и«(Ь, т!), ..., ир(Б, «1)), т+1=-й«р; (62а) те значения параметров, которые удовлетворяют системе алгебраических уравнений !т»(Ч„Ч», ..., т! )=О, т+1«)««р, (62б) определяют искомое решение краевой задачи (60). Напомним, что решение системы алгебраических уравнений высокого порядка само по себе является нелегкой задачей. Здесь оно осложняется тем, что вычисление функций !«р»(Ч) очень трудоемко, ибо требует численного интегрирования системы дифференциальных уравнений.
Явный вид этих функций неизвестен, так что преобразовать систему (62б) к эквивалентной форме Ч« = ч!«(Ч) и применять метод последовательных приближений затруднительно. А если мы захотим, как в п. 2, построить аналог метода Ньютона, то для вычисления матрицы производных (дф»)дЧ«) надо будет дополнительно записать и численно интегрировать систему р (р — т) дифференциальных уравнений. Отсюда видно, что «пристрелка» большого числа параметров очень сложна.
Поэтому для нелинейных задач метод стрельбы употребляют в основном тогда, когда р — т= 1. Такие постановки краевых задач нередко встречаются в системах большого числа уравнений. Линейные, уравнения. В этом случае метод стрельбы сильно упрощается и позволяет легко решать задачи при любом числе параметров р — т. В самом 'деле, функции гг»(Ч) будут линейными, т.
е. они однозначно определяются по своим значениям в р — т+1 точке т!', ! =-З«р — т+1. Значит, выполнив р — т+ 1 интегрирование задачи Коши (60а), (61) с разными наборами параметров, можно найти искомый набор параметров Ч. Тогда (р — т+2)-е интегрирование даст решение краевой задачи (60). Вычисления при этом удобно вести следующим образом. Сначала возьмем некоторый набор параметров Ч"„Ч«,, Чр — е и обозначим полученные значения функций (62а) через гр»=-гр»(Ч«), т+ 1 й==" р. Затем изменим первый параметр на величину АЧ=1, т.
е. возьмем набор Ч!+1, Ч«, Ч,,', ..., Ч" „, и обозначим полученные значения функций через ц4. Затем возьмем набор Ч"„ Ч1+1 Ч', Ч' и т. д. Выполнив полный цикл вычислений, можно записать каждую функцию в виде многомерного ннтерполяционного многочлена Ньютона первой степени (2.36)! р — т !ри (Ч) = Й+ ~~ ~(!Т1 гр1)(Ч Ч») + ~ ~ р. «=1 268 овыкноввииыв диффвеннцихльиые !тлвивния !гл. ип Приравнивая эти функции нулю, получим систему линейных алгебраических уравнений для определения искомых параметров !1д. д — Ш '~~ ф !та) !1 '~' (!рд !ро) !)о !рд лт+ 1 «й» л (65) д=! д=! Заметим, что можно уменьшить на единицу число интегрирований системы линейных дифференциальных уравнений, если воспользоваться приемом, описанным в п.
2; но при большом значении р — !и зто лишь незначительно сокращает общий объем вычислений, а организацию расчета усложняет. 4. Разностный метод; линейные задачи. Подробно рассмотрим разностный метод на примере простейшей краевой задачи для линейного уравнения второго порядка с краевыми условиями первого рода и" (х) — р (х) и (х) =1 (х), а ( х ( 5, (64а) и (а) = а, и (Ь) = 6. (64б) Введем на (а, 5) сетку а=хд х!(хд( (хл"=5 которую для упрощения выкладок будем считать равномерной. Приближенно выразим вторую производную от решения через значения решения в узлах сетки и„ = и(х„); например, воспользуемся простейшей аппроксимацией (3.7): и" (х„) — --, (ид т — 2и„+ и„.,), а = х„, — х„= сопз1. (65) Такую аппроксимацию можно записать в каждом внутреннем узле сетки х„, 1=-а==У вЂ” 1.
Если подставить ее в уравнение (64а), то уравнение станет приближенным; точно удовлетворять зтому уравнению будет уже не искомое решение и (х), а некоторое приближенное решение д„— и(х„). Выполняя эту подстановку и обозначая р„=р (х„) и )„=((х„), получим у„! — (2+)!др,) р„+ у„д! =л')'„, 1 =' и == У вЂ” 1. (66а) Эта система состоит из У вЂ” 1 алгебраического уравнения, а неизвестнь!ми в ией являются приближенные значения решения в узлах сетки.
Число неизвестных у„, О==а(У, равно У+1, т. е. оно больше, чем число уравнений (66а). Недостающие два уравнения легко получить из краевых условий (64б): у!д = р (666) Решая алгебраическую систему (бба, б), найдем приближенное решение. При таком подходе возникает три вопроса, 1) Существует ли (вещественное) решение алгебраической системы типа (66)2 2) Как КРАЕВЫЕ ЗАДАЧИ Значит, точное решение удовлетворяет разностному уравнению ил,— (2+)ьлр„)и +и„„=РР~„+1- иш($„), 1(п =У вЂ” 1. Вычитая из него уравнение (бба), получим удовлетворяет погрешность е =ул — и(хл); в следующем виде: дл (2+)Ь'Рл) гл = гл-, + елп+ 12 итг ($л), г, =- О, гн = О.
уравнение, которому его удобно записать 1 ( и — )У вЂ” 1, (67а) (67б) Последние два уравнения являются очевидным следствием того, что уравнение (665) точно передает граничное условие первого рода. Выберем такую точку хл„где ~ г„) достигает своего максимума; очевидно, это не граничная точка.
Учитывая условие рл О, фактически находить это решение? 3) Сходится ли разностное решение к точному в какой-либо норме при стремлении шага сетки к нулю? В качестве иллюстрации проведем полное исследование рассмотренного выше примера, дополнительно требуя р (х) ) О. Сначала рассмотрим вопрос о существовании разностного решения. Исходная задача (64) была линейной, разностная аппроксимация (65) — тоже линейна.
Благодаря этому система (бба, б) оказалась системой линейных алгебраических уравнений. Поскольку р„> О, то в матрице этой системы диагональные элементы преобладают: в каждой строке модуль диагонального элемента больше суммы модулей остальных элементов. Как отмечалось в главе Ч, $ 3, п. 4, при этом решение линейной системы существует и единственно. Вычислить решение линейной системы всегда можно методом исключения Гаусса. В данном случае благодаря использованию трехточечной аппроксимации (65) система (66) имеет трехдиагональную матрицу.
Поэтому решение экономично находится частным случаем метода Гаусса — методом алгебраической прогонки (см, главу Ч, э 1, п. 5) Д о к а ж е м у т в е р ж д е н в е: если р (х) и 7" (х) дважды непрерывно диухреренцируемы, то розностное решение равномерно сходится к точному с погрешностью 0(й') при й — «О. При сделанном предположении и(х) имеет четвертую непрерывную производную; тогда для погрешности аппроксимации (65) справедливо соотношение (3.12): 1 з 1ч „—, (ил т — 2ил+ ил„) — ил (хл) = )уйли'ч ($.), хл,(Е„( хл„,. 270 оаыдноввннын диоокрснцихльныа уравнения ~гл. глп сравним в этой точне модули правой и левой частей уравнения (67а): (2+ и рлЭ ! Гвч ! ~ ! ап,— 1 ! + ! за~+ 1 ! + 112! и (йаа)" Заменяя в правой части ! г„, 1! на ! г„, !, мы только усилим неравенство и после сокращений получим оценку погрешности л "(ь.,) л 12 ! р(х) (68) и" (х) + и (х) = — х, и (0) = и ( — '2) = 0.