Ортега Дж., Пул У. Введение в численные методы решения дифференциальных уравнений. Под ред. А.А.Абрамова (1986) (1095855), страница 36
Текст из файла (страница 36)
Этого нельзя добиться с помощью кусочно-квадратичных полиномов, за исключением случая, когда данные таковы, что их можно аппроксимировать одним квадратичным полиномом на всем интервале. Таким образом, приходим к рассмотрению кусочно-кубического полинома С(х), обладающего следующими свойствами: С(х) — дважды непрерывно дифференцируемая функция; (5.2.8) на каждом отрезке 1; = 1х;, х;+, 1, 1 = 1,..., и — 1, (5.2.9) функция С(х) является кубическим полиномом.
Такая функция называется кубическим сллайном. Это название происходит от гибкой деревянной рейки, используемой чертежниками для проведения кривых. На каждом отрезке 21 функция С(х) представляется в виде С(х) = С;(х) =а!эха +а22х +а;1х+а2е, х2— : 1;. (5.2.10) Условие (5.2.8), разумеется, влечет за собой непрерывность функций С и С' на всем отрезке 1. Следовательно, должны выполняться Зп — б условий С1,(х,.) = С,(х1), С,',(х;) = С';(х1), (5.2.12) С(х;) =у;„ 1= 1,...,и, что дает л дополнительных соотношений. Нам нужно еще два условия, и их можно выбрать иэ самых разных соображений.
Так называемый естест- 10* 147 Так как для построения функции С надо определить 4п — 4 коэффициента аб в (5.2.10), то нам нужно еще л + 2 дополнительных условия. В случае задачи интерполяции или аппроксимации. мы потребуем, чтобы функция С принимала в узлах заданные значения где Ьд =х;+, — х; (д = 1,..., дд — 1) . Проинтегрировав это выражение дваж- ды, приходим к формуле для С(х): х С,'(х) =С,'.(х,)+Х С;"(г)ад = Хд [С'(хд+ д) С (хд)1 = С,'(х;)+ С,"(хд)(х — х;) + (х — хд)', (5.2.16) д С;(х) = С;(х;) +)' С,'(г)сдг = С;(х;) + С,'-(х;)(х — х;) + Хд е д) [ д( д д) д( д)~ 3 2 бл; Для удобства в дальнейшем будем пользоваться обозначениями у; = С;(х;) = С;, (х;), у,' = С,'(х;) = С,' д(х;), (5.2.18) у; =С;(х;) =С,',(х;), (5.2.17) в которых учтены условия (5.2Л1) и (5.2.12).
Заменяя теперь д на д' — 1 в (5.2.16) и полагая х =х;, получим Уд =Уд — д +(Уд +У| — д) (5.2.19) 2 Полагая затем х = х;,, в (5.2.17) и разрешая это соотношение относитель- но у;, получаем ю д,ю Уд+д 3 д 6 3 > Уд+д Уд Уд = д (5.2.20) 146 венный кубический сплайн удовлетворяет дополнительным условиям С"(хд) = С"(х„) =О. (5.2.13) л Можно показать, что если С вЂ” какой-либо другой кубический сплайн, удовлетворяющий условиям (5.2.8), (5.2.9) и (5.2Л2), то ь ь ~[С"(х)[дух <~ [С"(х)) э~В. (5.2,14) И й Сплайн С можно было бы построить, решив линейную систему уравнений (5.2.11) (5.2.13) относительно неизвестных коэффициентов а;;.
Существует, однако, другой подход, приводящий к простой трехдиагональной системе уравнений„в которой неизвестными являются значения вторых производных С в узлах сетки. Саму функцию С мы можем затем определить с помощью интегрирования. Чтобы прий н к этой трехдиагональной системе, нужно выполнить целый ряд преобразований, к которым мы теперь и приступаем. Во-первьдх, заметим, что так как С; — кубический полипом, то С," линейная функция.
Поэтому из формулы линейной интерполяции следует С,".(х) = С',.'(х;) + ' [С,"(х; +,) — С',.'(х;)1, (5.2.15) д Приравцивание правых частей (5.2.19) и (5.2.20) дает «« '71 — ! г+! "1 1~ . 1г, 1 „Ь1 Ь. '7 — ! +(У!+У! — !) = — У1+ ! — — У1 — . (5.2.21) Теперь мы хотим исключить У,, из (5.2.21). Заменяя для этого 7 на 1 — ' в (5.2.20) и подставляя выражение для у; ! в (5.2.21), получаем у .1 .г' — ! «1 — ! «1 — 1 «Н У1 — У1 — ! — +(!'1 +У! — !) 71+1 — у; /71 171 что после перегруппировки членов дает 177 у г' ! 171 ! + 2У,"(61+61 !) +У;"+, 177 = 1У1+ 1 —.!'1 Уг' Уг — ! 1 Ь1 йг , (5.2.22) « « Это система и — 2 линейных уравнений с л — 2 неизвестными У2,..., у„ напомним, что у! = у„= 0 согласно условию (5.2.13) .
Если положить "-' ],;=г...., (5.2.23) У +! У. 71 = б 61 примет вид НУ = Г, где У = (Уз,...,,у„,), т =(г2, то система (5.2.22) 7„!) и 2Й! 'г2) 172 2Й2 + 672) Йз (5.2.24) 17п — 2 Яп — 2 17п — ! ) 0 1= 1,...,77 — 1. Отметим, что если вы хотите вычислить С(х) при некотором конкретном Матрица Н трехдиагональная и диагонально доминирующая. (Она являетсн также симметричной и положительно определенной.) Следовательно, система Ну = у легко и эффективно решается методом гауссова исключения без каких-либо перестановок. После того как значения у, найдены, мы должны еще получить представления для полиномов С,, ..., С„,.
Так как величины у,. нам тоже известны, значения первых производных в узлах сетки можно определить из (5.2.20): У1+ — У1 «Ьг . У' = С (х.) = С (х ) = — 77.« — ' — а." —, 7' = 1...., 77 — 1. й, '"6 '3 (5.2.25) Выражения для самих С;(х) можно затем получить из формулы (5.2.17), переписав ее в обозначениях у1, у1 и у,; «(х — х;)2 ««(х — х)з С;(х) =У!+у,'.(х — х;)+У,-«+ (у,"+, — у,"1, (5.2.26) л значении х, то сначала необходимо определить отрезок 1~, в котором лежит л точка х, и затем воспользоваться выражением для соответствующего полинома С;. Теперь приведем простой пример построения кубического сплайна. Пусть заданы следующие узлы и соответствующие значения функции: х, =О, хз =1/4, хз =1/2, х4=3/4, х, =1, Уз 1 Уз 2! Уз 1 У4 О! Уз Здесь и = 5 и все /з; равны 1/4.
Матрица Н в (5.2.24) и вектор у, коор- динаты которого вычисляются по формулам (5.2.23), имеют вид — 48 0 48 4 1 0 1 4 1 0 1 4 1 Н=— 4 Таким образом, величины уз,уз и У4 находятся из системы линейных уравнений 4уз + уз = — 192, уз +4уз+ у~ — 0 уз + 4У4 = 192, которая легко решается методом исключения.
Накладывая, согласно (5.2.13), дополнительные условия у~' = уз' = О, получаем !! !! !! И !! У,=О, уз= — 48, уз=О, уа=48, уз=О. Подставляя эти значения у, в (5.2.25), находим значения у1. у,' =6, уз =О, уз = — 6, у~ =О. Сз (х) 1 + 6х 32хз 0 ~ <х ~~ 4 Сз(х)=2 --24 х — — ) +32~х — — ) 4 4 Сз(х) = 1 — 6 х — ) + 32 ~ х — — ) 2 2 С,(х) = 24 х — — — 32 х —— 1 1 — <х< —, 4 2 С(х) = 1 3 — ~х<— 2 4 3 — <х<1, 4 з Если нужно вычислить значение С в некоторой точке, скажем, при х = 0,35, то сначала замечаем, что 0,35 Е 11/4, 1/21, и используем для вычисления полипом Сз . С(0,35) = Сз(0,35) = 2 — 24(0,1) + 32(0,1)з = 1,792 В разделе 5.4 мы снова вернемся к методам коллокации и Галеркина используя в качестве базисных функций кубические сплайны.
В остальной 150 Теперь по формулам (5.2.26) составляем выражения для кубических, полиномов С,, Сз, Сз и С4, определяя тем самым искомый кубический сипай н: 1 части настоящего раздела мы рассмотрим другой подход к аппроксимации полиномами или иными функциями, когда критерием уже не является совпадение в некоторых точках значений исходной и аппроксимирующей функций. Мы имеем в виду аппроксимацию по методу наименьших квадратов. Напомним, что из раздела 2.3 уже известно, что если заданы значения функции (' в и + 1 различных точках х„, х,,..., х„, то существует единственный полипом степени п, такой, что р(х;) =((л;), ! = О, 1,..., и.
Предположим теперь, что функция ) сама является полиномом степени и, и наша задача состоит в определении его коэффициентов. Тогда, согласно приведснному результату, если бы значения функции г задавались точно, нам было бы достаточно знать эти значения в и + 1 различных точках. Однако во многих случаях значения ! определяются в результате измере- ний и могут содержать ошибки. При этом обычно проводят гораздо больше, чем и + 1 измерений, надеясь, что в результате "усреднения" зти ошибки исчезнут. То, как эти ошибки "усреднятся", зависит от метода обработки измерений, используемого для определения коэффициентов полннома !. По статистическим соображениям в качестве такого метода часто выбирают метод наименьших квадратов. Этот метод, кроме того, исключительно прост и элегантен с математической точки зрения.
Предположим теперь, что нам задано т точек х,,..., х„„где т > и + 1, и по крайней мере и + 1 из этих точек различны. Пусть |!,..., Г' — прибли- женные значения функции г' в точках т,,..., х,п. Мы хотим найти такой полипом р(х) = а, + а, х +... + а„х", чтобы на нем величина и! Х 1Д вЂ” Р(х;)] (5.2.27) !=! достигала минимума среди всех полиномов степени и, т.е. мы хотим найти такие коэффициенты а0, а,, ..., а„, чтобы сумма квадратов ошибок г';.
— р(х!) была минимальной. Простейший случай такой задачи возникает при и = О, когда полипом р является просто константой. Предположим, например, что мы имеем т измерений и,,..., и'„! веса некоторого предмета, причем эти данные полу- чены на и! различных весах. Здесь все точки х!,..., х идентичны и в вы- ражении явно не присутствуют. Привлекая принцип наименьших квадратов, приходим к задаче минимизации функции и! у(и!) = Х (и; — и) . !' = ! Из анализа известно, что функция я достигает минимума (локального) в л л и Л точке и, в которой я (и!) = О и а (и) > О.
Так как и! а'(и) = — 2 Х (и; — и'), я (и) = 2т, !' = 1 отсюда следует ] и! й' = — Х и;. и! !=! 151 и мы ищем минимум по коэффициентам а„и а, . Из анализа известно, что необходимым условием минимума функции я является выполнение соот- ношений ду — = — 2 Х (!! — ао — а!х) =О, аао ар — = — 2 Х хЯ вЂ” ао — а!х;) =О. аа! !'=! Группируя вместе коэффициенты при ао и а,, приходим к системе двух линейных уравнений гп ~п гп ФИ о! тао+( Х х!)а! = Х,!;, ( 2; х;) ао+( Х х2)а, = Х х;Д; и а,, решение которой находится по явным относительно неизвестных а, формулам: Хх,'.2.~;.