Ортега Дж., Пул У. Введение в численные методы решения дифференциальных уравнений. Под ред. А.А.Абрамова (1986) (1095855), страница 34
Текст из файла (страница 34)
В основе всех этих методов лежит попытка аппроксимировать решение дифференциального уравнения конечной линейной комбинацией заданных функций. Эти заданные функции, называемые обычно баэисными функциями (или пробными функциями), выбираются относительно простыми: полиномы, тригонометрические функции и сплайн-функции. Наиболее важными из них являются сплайнфункции, которые мы изучим в следующем разделе. Суть методов заключается в том, что мы рассматриваем решение как лежащее в некотором бесконечномерном функциональном пространстве и пытаемся построить приближенное решение, которое лежит в конечиомерном подпространстве, определяемом этими базиснымн функциями.
"Проекция'* решения на это подпространство и есть приближенное решение. Эти общие идеи мы проиллюстрируем на линейной двухточечной краевой задаче У В последнем случае приближенным решением (5.1.3) является полипом и (х) = х (1 — х) (с, + сэ х +... + с„х" ~ ) степени п + 1, обращающийся в нуль в точках 0 и 1. Нашим главным примером набора базисных функций являются, однако, сплайн-функции, которые, как упоминалось выше, будут рассмотрены в следующем разделе. При заданном наборе базисных функций мы должны указать, в каком смысле функция (5.1.3) будет являться приближенным решением, т.е.
какой критерий следует использовать для определения коэффициентов су линейной комбинации. Здесь имеется несколько возможных подходов, но мы остановимся только на двух, которые имеют широкую область применения и часто используются на практике. Сначала рассмотрим метод коллокации. Пусть на отрезке [О, 1] выбрано и не обязательно равноудаленных точек х„..., х„. Потребуем, чтобы приближенное решение (5.1.3) удовлетворяло дифференциальному уравнению (5.1,1) в этих и точках, т.е. мы требуем выполнения соотношений гу и — р (х) — ( 2 су ру (х)) + сух гух у= г ~ ~хг +гу (хг) 2' су р.
(х;)=у(х;), у= 1,...,п. у= 1 При этом, естественно, предполагаем, что базисные функции являются дважды дифференцируемыми. Выполняя дифференцирование в (5.1.7) и собирая коэффициенты при су „получаем П Х с [р (х;) рул(хг) + р '(х;) р' (х;) + !=1 + гу (х;) ру (хг) ] = У'(х;), У = 1,..., и. (5.1.В) Это система л линейных уравнений с гг неизвестными с,,..., с„. С вычислительной точки зрения задача состоит в определении коэффициентов аг -=р (х;) ~р (хг)+р (х,) р;(ху)+гу (х,) ~ру (х;) (5.1.9) и последующем решении системы линейных уравнений Ас =)', (5.1.10) где А — матрица размера и Х л с элементами игу, с = (сг,..., с„) и у'= (у'(х,),...,у (х„)). В качестве простого примера рассмотрим уравнение [(1+х~) и'(х)] +х и(х) =ха, 0 <х <1, (5.1.1 1) с граничными условиями (5.1.2).
Здесь р(х) = 1+ х~ игу(х) =х . Давайте сначала используем базисные функции (5.1.5) . Тогда ~р; (х) = ул соаулх, ~ру (х) = — (ул) япулх, так что коэффициенты (5.1.9) имеют вид а; = — (1+хг) (ул)~ а1пулх;+2улх; соаулх;+х3япулхг= = [ — (1 + х~) (ул)~ +х~] зупуггх, + 2улх соауггх;. !39 Компоненты вектора правой части системы (5.1.10) суть просто у (х!) =х! Если же в качестве базисных взять функции (5.1.6), то р (х) =ху ! [у' — (у+ 1)х], р (х) =уху 2 [у — 1 — (у+ 1)х] и коэффициенты (5.1.9) примут вид а;.=(1+х~)ух!у [у' — 1 — (у+1)х] +2ху [у — (у'+1)х;] +х! (1 — х!).
Компоненты правой части будут по-прежнему равны л,э. В обоих случаях, как только выбраны узлы сетки х,,..., х„,коэффициенты системы (5.1.10) легко вычисляются. Мы вернемся к обсуждению метода коллокации после рассмотрения другого подхода к определению коэффициентов с!, ..., с„. Этот подход, известный как метод Галеркина, основывается на понятии ортогональ- ности функций.
Напомним, что два вектора у и я называются ортогональными, если равно нулю их скалярное произведение: (у а) =ут~ = Х у;г, = О. (5.1.12) у= ! Предположим теперь, что координатами векторов ~ и я являются значения двух функций у' и я в и узлах равномерной сетки на отрезке [О, 1], т.е.
у =(У'(У!),У(2У!),...,у'(пУ!)), где Ь = (и + 1) ' — шаг сетки„и аналогично представляется вектора. Тогда условие ортогональности (5.1.12) запишется как Х ЖУ!)а(уУ!)=О, у= ! или, умножая обе части равенства на У!, У! Х ЛуУ!)к(уУ!) =О. (5.1.13) у= ! Пусть теперь п -+ (или, что то же, пусть У! 0). Тогда, в предположении интегрируемости функций у' и я, левая часть (5.1.13) будет стремиться ! к у'у (х) « (х) Ых.
Будем называть функции у' и г ортогональными на ото резке [О, 1], если выполняется условие ! у У'(х) а (х) !Ух = О. (5.1.14) а Основанием для метода Галеркина являются следующие соображения. Определим невяэку приближенного решения и (х) как г(х) = (р (х) и' (х)) + !у (х) и (х) -- у'(х), 0 К х < 1. (5.1.15) Если бы и (х) было точным решением уравнения (5.1.1), то невязка была бы тождественно равна нулю. Очевидно, что в этом случае невязка была бы ортогональна любой функции и, в частности, была бы ортогональна набору базисных функций. Мы не можем, однако, ожидать, что функция и (х) бу- 140 дет точным решением, поскольку мы ограничили ее выбор линейной комбинацией базисных функций.
В методе Галеркина предлагается въ1бирать коэффициенты этой линейной комбинации так, чтобы невязка функции и (х) была ортогональна всем базисным функциям <р1,..., ~р„: 1 1 [(р(х) и (х)) +су(х)и(х) — 1'(х)] 1р1(х)11х=О, 1'= 1,...,и. (5.1.16) о Подставляя (5.1.3) в (5.1.16) и меняя местами суммирование и интегрирование, получаем л 1 Х с, 1 [р(х) ~р'(х)) +11(х) р>(х)]~р;(х)стх = /=1 о 1 = Я Дх) р;(х)сКх, 1= 1„...,п. о Таким образом, снова приходим к системе линейных уравнений в форме (5.1.10), где 1 Д = [Дх) р;(х)11х, 1=1...л, (5.1.17) о 1 а;, = Х [(р(х) р,'(х)) +11(х) вр1(х)] р1(х)11х.
о Интегрируя здесь первый член по частям 1 1(р(х) р (х)) р;(х)11х = о = р(х) р (х) рг(х) ~ — 1 Р(х) 1о,'(х) ~,'(х) 1гх о и замечая, что проинтегрированный член исчезает (так как функции ч11 равны нулю на концах отрезка), можем переписать выражение для коэффициентов как 1 1 а, = — ] р(х) рг(х) р,'(х)4х+ ] 11(х) дарг(х) р,(х) гаях. (5.1.18) о о Таким образом, система уравнений для определения коэффициентов с1, ..., с„в методе Галеркина имеет вид Ас = ~, где элементы матрицы А задаются формулой (5.1.18), а вектора К вЂ” формулой (5.1.17) .
В качестве примера приведем систему уравнений, возникающую при применении метода Галеркина к дифференциальному уравнению (5.1.11) с граничными условиями (5.1.2). В случае базисных функций (5.1.6) коэффициенты (5.1.18) определяются по формуле 1 и, = — /х'+' ~ (1+х')(1' — (1'+1)х)(1 — (1+1)х)о1х+ о 1 + ]'хс+1+2 (1 х)2 ах = о Ц 211'+1+/ (1+ 1) (У+ 1)+ Ц' 2Д ~ 1'+1 + — + 1+1 — 1 1+у 1+1'+ 1 ~'+у + 2 0+1) 0'+1)+1 2 1 + + 1+!+3 г' ~1'+ 4 1+!'+ 5 а координаты вектора правой части по формуле 1 1 1 Л= Ухй'+2(1 х)(Ух= г'+ 3 с'+ 4 Выполнив вычисления по этим формулам, легко сформировать систему уравнений Ае =1.
В упражнении 5.1.5 предлагается определить коэффициенты этой системы для базисных функций (5.1.5) . Сделаем теперь несколько замечаний по поводу применения конечно-разностных методов, метода коллокации и метода Галеркина к уравнению (5 1.1) . В каждом случае центральной вычислительной проблемой является решение системы линейных уравнений. Хотя в конечно-разностных методах и в методе коллокации линейные системы строятся по и узловым точкам отрезка, природа решений этих систем совершенно различна, В конечно-разностных методах — это приближения к значениям решения дифференциального уравнения в точках сетки, а в методе коллокации — это коэффициенты представления (5.1.3) для приближенного решения. Следовательно, в методе коллокации (и в методе Галеркина) для получения значения приближенного решения в произволъной точке х данного отрезка требуется дополнительное вычисление по формуле и(х)= Х с, Р1(х).
/= 1 Хотя конечно-разностные методы не требуют никакой дополнительной работы для нахождения приближенного решения в узлах сетки, это решение определено только в этих узлах, так что для построения решения в других точках отрезка необходимо использовать интерполяцию. В то же время метод коллокации и метод Галеркина дают представление приближенного решения сразу на всем отрезке. Как мы видели в гл. 3, система линейных уравнений метода конечных разностей легко строится и обладает тем важным свойством (для используемых там разностных аппроксимаций второго порядка), что матрица коэффициентов системы является трехдиагональной. Решение такой системы связано со сравнительно небольшими затратами машинного времени, так как требуемое при этом число арифметических операций пропорционально л (см.
раздел 3.3). Если базисные функции р~ достаточно просты, то и в методе коллокации элементы матрицы коэффициентов сравнительно легко вычисляются по формулам (5.1.9). Однако теперь матрица коэффициентов в общем случае оказывается заполненной, что приводит не только к необходимости вычисления всех п~ элементов, но и к тому, что время решения системы становится пропорционалъным пэ.
Очень важным свойством, возникающим при использовании в качестве базисных функций сплайнов (сплайны рассматриваются в следующем разделе), является то, что тогда функции у~ будут отличны от нуля только на некотором отрезке, 142 и и = р (и), и (0) = п (1) = О, (5.1.19) где я заданная нелинейная функция одной переменной. В методе коллокации мы, как и прежде, потребуем, чтобы приближенное решение (5.1.3) удовлетворяло уравнению (5.1.19) в заданных точках х,,..., хл. Это приводит к системе уравнений Х с р1л(хг)=я( Е с р (х;)), 1=1,...,п, 1=1 1=1 (5.1.20) относительно коэффициентов с,,..., сл.
Так как функция я нелинейна, система (5.1.20) также является нелинейной. Аналогично этому, в методе Галеркнна невязка (5.1.15) теперь определяется соотношением л л г(х) = Х су р~л(х) — у( 2: с~ р;(х)), 1=1 1= 1 так что соответствующая (5.1.16) система уравнений принимает вид 1 л л / ~ 2: сур"(х) — я( Х с1 р, (х))3 р;(х)сКх=О, 1=1,...,и.(5.1.21) 0 1=1 1=1 Как и раньше, можем проинтегрировать первый член по частям и 143 содержащем точку х~. В случаях, которые рассматриваются в разделе 5.4, этот отрезок распространяется только от х~ з до хг+з, и матрица коэффициентов при этом оказывается трехдиагональной.