Ортега Дж., Пул У. Введение в численные методы решения дифференциальных уравнений. Под ред. А.А.Абрамова (1986) (1095855), страница 41
Текст из файла (страница 41)
Можем выписать этот сплайн явно: Используя определение (5.4.8), легко проверить, что р!(0) = р„(1) =О. Рис. 5.4. Кубический В-спяайн л "т т ! 'хх "~е+! 'ае+2 Более того, ясно, что любая линейная комбинация (5.4.3) является кубическим сплайном для узлов х0, х,, ..., х„+, и удовлетворяет условиям и(0) =и(1) =О. Нам теперь нужно определить коэффициенты (5.4.5), а для этого нам потребуется вычислитьзначенияВг,В;иВ! в узловых точках. Это легко делается (упражнение 5.4.2), и полученнь!е результаты мы свели в табл.
5.1. Отметим, что согласно определению В; все значения в узловых точках, которые не указаны в табл. 5 .1, равны нулю. Отсюда, в частности, следует, что все коэффициенты а!; в (5.4.5) равны нулю, за исключением случаев, когда !! — /~ <1 и, возможно, ! = 1 или /= и. При вычислении ненулевых коэффициентов а; будем пользоваться обозначениями р!=Р(х!), р; = р'(х!) и 4! =4 (х!~. Тогда, согласно (5.4.5) и табл. 5.1, имеем аи = р<В! (х!) + р ;'В (х!) + ц;В!(х) = — Зр(И' + с/!.
!' = 2,..., и — 1, а! !+! =р!В!+! (х!)+р;В,'+! (х;) +с/!В!+! (х;) = = Зр ((2ИИ)+Зр;/(4И)+!7!/4, г= 1...,,и — 2, а; ! ! =р;В; ! (х!)+р;В< ! (х,)+цэВ! ! (х;) = = Зр;((2И~) — Зр!/(4И)+!7!/4, /= 3,...,и. (5.4.11) При вычислении остальных коэффициентов мы используем функции р! и р„из (5.4.10) и получаем, а!, = — 27р,/(2И~) + Зр',((4И)+ 15!7!(4, ат! 6Р2/И ЗР2/И + !!2 з а„„= — 27Ря/(2Ит) — ЗР /(4И)+154 /4.
(5.4.12) а„, „= бр„,/И' + Зр„'/И+!1„ $70 Обратите внимание, что используемые в (5.49) функции Ве, В,, В„и В„„требуют введения вспомогательных точек сетки х т, х !, хе и х„+ !, Хи+э, Хи+3. Теперь вернемся к краевой задаче (5.4.1), (5.4.2). По-прежнему предпо- лагаем, что узловые точки равноудалены и что х0 = О,х„+, = 1. Мы бы хоте- ли, чтобы баэисными функциями р !,..., Р„были В-сплайны В,, „, В„. Но хотя Вт, ..., В„, удовлетворяют нулевым граничным условиям, сплайны В, и В„не удовлетворяют этим условиям.
Поэтому в качестве базисных функций ч!! берем р;(х) =В;(х), 1= 2,...,и — 1, р!(х) = 4В,(х) — В0(х), р„(х)= 4В„(х) — В„+! (х). Таблица 5.1 х(-( т( х(+( х(+ 1/4 1 1/4 В" 3/(26') — 3//(* 3/(2Ь'.) 3/(4Ы О вЂ” 3/(4 В) В( В;. Координаты вектора правой части Г системы (5.4 4) суть просто/" (х,),...
..., ~(х„). Таким образом, коэффициенты с~,..., с„линейной комбинации (5.4.3) определяются из системы (5.4.4) с трехдиагонапьной матрицей коэффициентов А, элементы которой находятся по формулам (5.4.11) и (5.4.12). Заметим, что в частном случае, когда р(х): — 1 и д (х) = О (т.е.
уравнение (5.4.1) есть просто ц '(х) =/ (х) ), матрица коэффициентов А принимает вид 9 — 1 3 — 4 2 — 1 А= —— — 1 2 — 1 2/(2 — 1 2 — 4 — 1 9 и, за исключением множителя — 3/(2/(~). и элементов первой и последней строк и первого и последнего столбцов, совпадает с матрицей коэффициентов, полученной при использовании метода конечных разностей в разделе 3.2. Можно показать, что если решение п уравнения (5.4.1) достаточно гладкое, то описанный метод имеет ошибку дискретизации порядка /(~, т.е.
того же порядка, что и метод конечных разностей раздела 3.2, использующий центральные разности. Больший порядок точности можно получить, используя сплайны более высокой степени, Так, например, с помошью сплайнов пятой степени, т.е. функций, которые четыре раза непрерывно дифференцируемы и на каждом отрезке [х(, х(+, ! являются полиномами пятой степени, можно получить четвертый порядок точности.
Обратимся теперь к методу Галеркнна. Мы по-прежнему будем стремиться аппроксимировать решение задачи (5.4.1) — (5.4.2) линейной комбинацией вида (5.43), где коэффициенты с ~,..., с„будут теперь определяться на основании критерия Галеркина, рассмотренного в разделе 5.1. Это приводит нас к решению системы (5.4.4), где согласно (5.1.17) и (5,1.18) 1 1 а„-= — 1 р(х) р;(х) р/(х)(/х+,/ г/(х) р((х) р/(х)йх, /,/'= 1,...,п, (5.4.13) 1 ~,= / г"(х) р((х)Их, о (5.4.14) /=1,...,л. В качестве базисных функций мы снова будем использовать кусочные полиномы. Давайте сначала как простейшую возможность рассмотрим 171 р;(х) = (х — х; 1)//1, — (х — х!+1)//1, О Х; 1~Х<Х1, х;< х- 'х;„, при остальных х. (5.4..15) Внд этих конкретных кусочно-линейных функций, называемых функция. Рис.
5.5. Фуя!«ция-крышка ми-крышками или линейными В-сллайнами, показан на рис, 5.5. Интуитивно ясно, и это легко показать (упражнение 5.4.4), что любая кусочна-линейная функция, определенная на узлах хе, х„..., х„+ ! и обращающаяся в нуль в хе и х„+„может быть представлена как линейная комбинация функций !р !, °, !ра. Мы теперь хотим использовать базисные функции (5.4,15) в методе Галеркина. На первый взгляд кажется, что это будет связано с трудностями, поскольку в выражения (5.4.13) для а!/ входят производные !р!, которые в точках х;,, х! и х!+ ! не существуют.
Заметим, однако, что р! — это просто кусочно-постоянная функция: 1//!, х;, ( х < х1, — 1//1, х!< х( х!+1, О при остальных х. (5.4.16) Эта функция имеет разрывы в точках х! !, х! и х!+!, но это не влияет на результат интегрирования. Интегрирование в (5.4.13) можно проводить отдельно по каждому отрезку разбиения, получая п хе+! а!! = Х /' [ — р(х) р,'.(х) !р'(х)+ц(х) р!(х) ~р (х)] «/х. (5.4.17) В=о ха По определению функций р1произведения р! р1 и р! р; тождественно равны нулю, за исключением случая ! — 1 < / < ! + 1.
Следовательно, а! =О, если |! — /1>1. (5.4.18) Для вычисления остальных коэффициентов ар~ мы сначала введем обозна- чения Х ° х! Р; = 5 р(х)«/х, Д; = 1 и(х) (х — х; !)т !/х, '~! — ! «-! Х «.! х (5.4.19) В,= / ц(х)(х — х;~!)э«Ех, 5!= / ц(х)(х — х;,)(х — х!)«Кх, х! м. ! — ! 1?2 кусочно-линейные функции. Предполагая, как и раньше, что точки сетки О =хе, х,,..., х„, х„+, = 1 находятся на одинаковом расстоянии /! друг от друга, мы в качестве базисных функций р! (! = 1, ..., л) возьмем функции и заметим, что "г+ ~ 1 Хя ] Р(х) р.(х)~р,(х)Их — Р,+„~ р(х) р,(х) р~(х)дх- Р~, х~ й х~ Х 1 ц (х) р~(х) ~р;(х) с/х = — Я ~, й2 1 ц (х) р;, (х) р~ (х) сГх — — — 5;. /2 х~+ ~ 1 р(х) р~(х) р,'~~ (х)Нх= — —, Р; ~, Д~ х; 1 х~ о(х) р~(х) р,(х)Их- Д;, 1 х~ и х~ Следовательно, согласно (5.4.17), яп = — (Рг+Рр ь — Я вЂ” Ръ ")/М~, г = 1, .
а;;~~ =(Р;~ц — Яр.,~)/Ь', /=1,...,л а;ч 1 ~ (Р; — Я;)/62, / = 2,..., л. (5.4.20) и матрица коэффициентов А есть просто 2 — 1 — 1 2 — 1 1 А= —— /т — 1 2 — 1 — 1 2 За исключением множителя Ь ', это в точности та же матрица, которая возникала в гл. 3 при конечно-разностной аппроксимации уравнения с В предположении достаточной гладкости решения уравнения (5.4.1) можно показать, что метод Галеркина с кусочно-линейными базисными функциями (5,4.15) имеет второй порядок точности, т.е. ошибка дискретизации равна 0(Ь~).
Используя кубические сплайны, можно увеличить порядок точности на два, т.е. сделать ошибку дискретизации равной 0(л~) . 173 Координаты вектора правой части системы (5.4.4) вычисляются по формуле х ° — /'(х) (х — х~,) Ых + Й х; 1 "~+) + — ) /'(х) (х~+~ — х)Ых, ! = 1,...,л. (5.4.21) А~ Таким образом, коэффициенты с ~,..., с„разложения (5.4.3) определяют- ся из линейной системы (5.4.4) с трехдиагональной матрицей коэффициен- тов А, элементы которой задаются формулами (5.4.20), и вектором правой части 1', координаты которого задаются формулой (5.4.21) . Отметим, что в частном случае, когда р(х) = 1 и 4 (х) — = О, все Д;, А~ и 5; равны нулю, а Р, = Ь.
Следовательно, ад= — 2/Ь, а;;+~ = 1/Ь, а;;, = 1/Ь, Мы закончим этот раздел примером применения метода коллокации к решению краевой задачи и»(х) — Зо(х)=х'+10[о(х))г, О< х~ 1, и(0)=и(1)=0, (5.4.22) 1 А= —— 4Нг 12 + 12Нг 24+ 12Нг 6+ ЗНг 54+ 45Нг Таким образом, в случае линейной задачи (5.4.23) нам бы пришлось решать систему линейных уравнений Ас =~ с матрицей коэффициентов (5.4.24) и ~= (/(х, ),...,/'(х»)) = Нг(1, 2г, 3,..., и ). (5.4.25) В случае нелинейной задачи (5.4.22) мы должны добавить к системе А с = !' вектор нелинейных членов 10([ Е с ~р.(х,)], [ Х с 1р (хг))~,..., [ Х с ~р.(х»)) ).