II Иванова Е.Е Дифференциальное исчисление функций одного переменного (1081372), страница 39
Текст из файла (страница 39)
использовать более двух узлов интерполяции. 10.3.Квадратичная интерполяция При трех узлах х1, х2 и хз интераоляиию называют квадратичной (или трехточечной), поскольку через три точки (х1, у1), (х~, уз) и (хз, уз), не лежащие на одной прямой (рис. 10.2, б), проходит единственная кривая с уравнением квадратного трехчлена у(х) =ах +6х+с.
(10.3) Правая часть (10.3) содержит интврно.мционный многоч,аен второй степени, тогда как правая часть (10.1) является интерполяционным многочленом первой степени. Если через три заданные точки проходила еще хотя бы одна кривая с уравнением у1(х) = а1х~+61х+с1 (см. рис. 10.2, б, штриховая линия), то многочлен второй степени Рг(х) = = (а-а1)х~+(6 — 61)х+(с-с1) обращалсябы в нуль вузлах х1, х~ и хз, т.е. имел бы три нулц что невозможно в силу основной теоремы алгебры и теоремы 4.3 ~1~. Поэтому Р~(х) = — 0 и, 314 10. ИНТЕРПОЛИРОВАНИЕ следовательно, а1 — — а, 61 —— 6 и с1 —— с, т.е.
действительно че рез три заданные точки можно провести только одну кривую с уравнением (10.3). Коэффициенты а, 6 и с в (10.3) можно найти из системы трех линейных алгебраических уравнений ахг1 + 6х1+ с = у1, ахг+ бхг+с = уг, ахгз + бхз+ с = Уз. Определитель этой системы х х1 1 г хг хг *3 хз 2 называют стпеиенным, или оиределитпелем Вандермонда — по имени французского математика А.Т. Вандермонда (1735 — 1796).
Этот определитель отличен от нуля при х1 у~ хг ф ф хз у~ х1, что обеспечивает единственность решения системы алгебраических уравнений. Если подставить найденные по правилу Крамера ~1Щ выражения для а, 6 и с в (10,3), то можно написать у хг х 1 у1 х1 х1 1 2 уг хг хг г уз хз хз 1 Это выражение справедливо при любой нумерации узлов интерполяции.
Если в него вместо х подставить значение х', то можно найти приближенное значение у' = ~~(х'), поскольку у элемента у минор Ф у~ О. Это выражение нетрудно обобщить на и узлов интерполяции. Однако при больших и раскрытие определителя порядка и+ 1 трудоемко. Есть более простые пути построения интерполяционного многочлена степени и — 1 при произвольном числе и узлов. 315 10.4.
Интернолационный кногочлен Лагранжа 10.4. Интерполяционный многочлен Лагранжа Рассмотрим яногочаен степени п — 1 ~* *'~"'~* *' '~~* *"~" ~* *"~ -П' *' (Х1 — Х1) ' * * (Х~ — Х~ 1) (Х1 — Х1+1) ' ' (Х1 — Хфь) .. Х~ — Х1 ,1Ф~ Он обращается в нуль во всех узлах х, кроме узла х;, в котором этот многочлен равен единице. Поэтому уравнение у = ь„ 1(х), где и в ~и-11~) ~ уюП ~ф~ 3 (10.4) описывает кривую, проходящую через все п точек с координатами х;, у;, г=1,п. Многочлен Ь„1(х) имеет степень и — 1. Его называют интперпохяционным многочяеном Логроижа.
Нумерация узлов в (10.4) произвольная. Таким образом, при иншерполлции в точке х' Е (х1, х„) У =ДХ ) Ь„1(Х ). (10.5) В частном случае при п=2 получим (10.2), а при п=3— соотношение (Х -Х2)(Х -ХЗ) (Х вЂ” Х1)(Х вЂ” ХЗ) (Х вЂ” Х1)(Х -Х2) У У1 +У2 +Уз (Х1 — Х2) (Х1 — ХЗ) (Х2 — Х1) (Х2 — ХЗ) (ХЗ вЂ” Х1) (ХЗ вЂ” Х2) Пример 10.1. Построим интерполяционный многочлен Лагранжа для функции, заданной в пяти узлах (и = 5) таблицей При последовательно занумерованных равноотстоящих узлах с шагом Ь = х;+1 — х; (г = 1,п — 1) знаменатель каждого слагаемого в (10.4) упрощается, поскольку все сомножители х; — х. будут кратными Ь.
316 10. ИНТЕРПОЛИРОВАНИЕ Из (10.4) следует, что Ь4(х) = 111,1(х — 1,1) (х — 1,3) (х — 1,5)(х — 1,6)— — 258,0(х — 1,0) (х — 1,3) (х — 1,5) (х — 1,6) + + 303,1(х — 1,0) (х — 1,1) (х — 1,5) (х — 1,6)— — 286,2(х — 1,0) (х — 1,1) (х — 1,3) (х — 1,6) + + 130,0(х — 1,0) (х — 1,1) (х — 1,3) (х — 1,5). При х' = 1,15 с учетом (10.4) и (10.5) находим у' - Ь4(1,15) = = 1,048. 4 Формулу (10.5) можно использовать и для экстраполяции при х' ~ ~х1, х„~, но по мере удаления точки х' от концов отрезка ~х1, х„] погрешность обычно быстро возрастает. Без учета ошибок округления погрешность обращается в нуль в узлах интерполяции. Положим ~р„(х) = Дх) — Ь„1(х) — Кы„(х), х Е ~а,6~, (10.6) где а = ппп(х1, х'~ и 6 = мах(х„, х'), а многочлен степени и (10.7) обращается в нуль во всех узлах интерполяции х;, ~ = 1, и.
Оценим погрешность интерполяции (или экстраполяции) в точке х', выбрав коэффициент К из условия у„(х') = О, т.е. с учетом (10.6) К = (~(х') — Ь„д(х')) /(ы„(х')). При таком выборе К функция у„(х) на отрезке [а, 01 обращается в нуль и+1 раз. Предположим, что в интервале (а, 6) функция Дх) дифференцируема и раз и ф")(х)~ < М„, 0 < М Е В. Тогда в (а, 6), согласно тпеореме 5.2 Ролля, ~р'„(х) обращается в нуль по крайней мере и раз, ф„'(х) — и — 1 раз, а у~" (х) — по крайней мере в одной точке х0 б (а, О), т.е., согласно (10.6), с учетом (10.7) получаем у®(х0) = ~~"~(х0) — Ка.
'= О, 317 10.4, Интерполацнонный многочлен Лагранжа поскольку сР й„д (х)(йх" = О, а в ы„(х) козффициент при х" равен 1. Отсюда К = ~ф") (хо)/и!. Так как у(х') = О, то ~(х*) — Ь„д (х") = Км„(х'). (10.8) Тогда погрешность в точке х' пдах ~ы„(х') ~ = = пдах$(х' — хд) "(х' — х„~2)(х — х„~~+д)" (х' — х„)$ < ( (-" — '" "" 'Й)*=(1 3" (и-1))*й, т.е. погрешность имеет порядок Ь", или ~(х') = Ь„д (х') + 0(Ь"). Рис. 10.3 й")-Ь. д(х И=, !ы„(х.)~<И„",~ .
(10.9) 1У<") (хоН . 1ы (х')1 Для равномерного расположения узлов интерполяции вид многочленов ы„(х) показан на рис. 10.3. При интерполяции выгоднее использовать четное число и узлов, симметрично расположенных относительно точки х' Е (хд, х„). Тогда при х;=хд+(д — 1)Ь, ~=1,и 318 10.
ИНТЕРПОЛИРОВА НИЕ При заданном и можно понизить значение пьах~и„(х') ~ если на отрезке ~х1, х„~ узлы интерполяции расположить не равномерно, сгущая их к концам отрезка. Оптимальным является выбор в качестве узлов интерполяции нулей многочленов Чебышева (см. далее Д.10.1). Практика показывает, что если при и = 4 или и = 6 не удается обеспечить требуемую точность интерполяции, то целесообразнее не увеличивать и, а уменьшать шаг между соседними узлами, т.е. использовать (если это возможно) таблицу значений у; = ~(х;) с меньшим шагом по х. При резком изменении функции ~(х) погрешность интерполяции может возрасти с увеличением и в результате роста абсолютного значения ф")(х)~ и-й производной.
Тогда целесообразно перейти к выравнивающим переменным и = и(у) и ~ =Цх), чтобы график интерполируемой функции в координатах ~, ц мало отличался от прямой. Например, для функции, близкой к показательной, у = Дх) = йа (рис. 10.4, и) можно использовать преобразование и=1он,у~х+!ои,й, ~ =х, что должно привести к выравниванию графика (рис. 10.4, б). Рис. 10.4 При интерполяции по Лагранжу для вычисления значений Ь„1(х') требуется выполнять значительное число умножений.
Это оправдано, когда в точке х' вычисляют приближенные 319 10.5. Иытерполнциониый мыогочлеы Ньютона 10.5. Интерполяционный многочлен Ньютона При п узлах интерполяции представим мноеочлен степени и — 1 в виде ~„1(х) =с1+сг(х — х1)+...+с;(х — х1)" (х — х; 1)+ +... + с„(х — х1) " (х — х„1). (10.10) Коэффициенты с; (1 = 1, и) найдем иэ условий Ф„1(х;) = = у;, которые приводят к системе п линейных алгебраических уравнений С1 с1 + сг(хг — х1) с1 + сг(х; — х1) +... + с;(х; — х1)" (х; — х; 1) У1> с1+сг(х„-х1) +...+с (х>1 — х1) (х„— х;) ° ° (х„- „1) = У>, с нижней тпреугольной матприцей Если обозначим У1 — Уг Уг Уз У -1 — Ув У12= Угз= »" У-1,> = х1- хг ' хг- хз У1,2 — Уг,з Уи-2 >в-1 Утв-1 и У1,2,3 > ° ° ° > Ув-г,я-1,ив Х1 ХЗ Хв-2 Ха У1,г,..., -1 — Уг,з,...,.
Х1 Х>> то получим С1 — У1> с2 — У1,2> ° ° ° > с1 = У1 2,...,1> ° ° ° > сп = У1,2,...„я значения нескольких функций, заданных на одном и том же наборе интерполяционных узлов. Для интерполирования одной функции в одной или нескольких точках х' удобнее использовать другие способы построения интерполяционного много- члена. 320 10. ИНТЕРПОЛИРОВАНИЕ Здесь у~, у1 г, У1,г .;, У1 㠄— разделенные разностпи нулевого, первого, (т — 1)-го и (и — 1)-го порядков. Например, при п = 4 последовательность вычисления разделенных разно стей видна из схемы У1 1 У1,г ) У1,г,з 3 Уг,з 1 У1,г,з,4 1 Уг,з,4 Уз 1 Уз,4 Такую последовательность вычислений нетрудно запрограммировать на ЭВМ. При равноотстоящих узлах с постоянным шагом Ь = х;+1 — х; (1 = 1, п — 1) числители в выражениях у|,г — — (уг — У1)/Ь, У1,г з — — (у1 — 2уг+уз)/(2Ьг), ...
называют нонечными разностплми соответствующего порядка. После подстановки коэффициентов с; в (10.10) получим интпериоллционный многочлен Ньтотпона У„1(х) =у1+у1,г(х-х1)+...+у1,г,,,;(х-х1)" (х-х; 1)+ +" +У1,г,...,и(х — х1) ° "(х — х„1). (10.12) Как и в (10.4) нумерация узлов в (10.12) может быть произвольной. Если интерполяционные узлы занумерованы так, что х1 < хг ( ... < х„, то говорят об интперполировании виеред, а если х1 > хг > ... ) х„, то об интперполировании назад. Поскольку через и точек с координатами х;, у;, ~ = 1, и, проходит единственная кривая, отвечающая многочлену степени п — 1, погрешность интерполирования по Ньютону будет такой же, как и по Лагранжу.
321 10.о. Интерполацнонный многочлен Ньютона Пример 10.2. Построим многочлен Ж~(х), используя схему (10.11) и данные таблицы в примере 10.1. хд —— 1,0 хг — — 1,1 хз — — 1,3 х4=1,5 хз — — 1,6 Интерполяционный многочлен Ньютона для интерполирования вперед имеет вид У4(х) — 1 000+ 03320(х — хд)— — 0,083(х — хд) (х — хг) + 0,042(х — хд) (х — хг) (х — хз)— — 0,087(х — х д) (х — хг) (х — хз) (х — х4), а для интерполирования назад (с учетом перенумерации уз- лов)— У4(х) = 1)170+ 0,250(х — хз)— — 0,067 (х — х5) (х — х4) — 0,010(х — хб) (х — х4) (х — хз)— 02087(х х5) (х х4) (х хз) (х х2) При х' = 1,15 оба многочлена для приближенного значения у' интерполируемой функции дают совпадающее до трех знаков после запятой число 1,048.
Оно совпадает и с результатом примера 10.1. ф При заданном х' для сокращения числа умножений можно при вычислении воспользоваться схемой Горнера в виде 2 = 113 ) Ж -1(Х*) = Д1+ 1Х вЂ” Х1)(У1 2+ 1Х вЂ” Х2)!Ц! 23+ +13 — 23)1У1,2,3,4+" )+" )+ "). гд-544 уд — — 1,000 Уд,г = уг = 1,032 Уг,з = уз = 1,091 У3,4 У4 —— 1,145 У413 У5 —— 1,170 0,320 Уд,г,з 0,295 У2,3,4 0,270 Уз,415 0,250 -0,083 у... =0,042 -0,062 Уд 2,3,4,5 = -0,087 Уг,з,4,5 = -0,010 -0,067 322 10.