Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Интерполяционный многочлен Лагранжа
Часто в вычислительных задачах функции задаются не формулами, а конечным числом значений, вычисленных в некоторых точках, т.е. таблицами вида
Естественно возникает вопрос о нахождении формулы, дающей в заданных точках указанные значения. Одним из простейших видов зависимостей, определяющих функции, являются многочлены. Поэтому возникает вопрос: всегда ли найдётся многочлен p(x) Î C [x], принимающий в попарно различных точках x1, …, xn Î С значения y1, …, yn Î C: p(xi) = yi (1 £ i £ n)? Сразу нужно отметить, что решение этого вопроса существенно зависит от области коэффициентов: например, многочлен с целыми коэффициентами f(x) = fk× xk + … + f1× x + f0 Î Z [x] не может принимать значение y1 = 2 при x1 = 2 и значение y2 = 5 при x2 = 4. Действительно, первое условие f(2) = fk× 2k + … + f1× 2 + f0 = 2 гарантирует чётностьсвободного члена f0 Î Z, вопреки второму условию f(4) = fk× 4k+…+f1× 4+f0 = 5. Теорема (интерполяционная формула Лагранжа). Пусть даны попарно различные точки поля x1, …, xn Î F, и произвольные y1, …, yn Î F.Тогда существует однозначно определённый многочлен L(x) Î F[x] степени не выше n – 1, принимающий в точках x1, …, xn значения y1, …, yn: L(xi) = yi (1 £ i £ n). При этом имеет место явная формула для нахождения многочлена L(x), называемая интерполяционной формулой Лагранжа: L(x) = . Доказательство. Формула Лагранжа корректно определена, т.к. точки x1, …, xn попарно различны, и значит, знаменатели всех слагаемых ненулевые. Подставляя в формулу Лагранжа значение x = xi, непосредственно убеждаемся, что при i ≠ k. Поэтому получаем: . Таким образом, указанный в формуле Лагранжа многочлен действительно принимает заданные значения yi при x = xi (1 £ i £ n). Многочлен L(x), будучи суммой многочленов степени n – 1, самимеет степень не выше n – 1. Таким образом, L(x) – искомый многочлен степени не выше n – 1. Он определён однозначно, т.к. если p(x) – ещё один многочлен степени не выше n – 1, принимающий заданные значения yi при x = xi (1 £ i £ n), то разность L(x) – p(x) тоже имеет степень не выше n – 1 и обращается в ноль в n различных точках x1, …, xn вопреки теореме о числе корней многочлена. Теорема доказана. Пример: Найти комплексный многочлен не выше второй степени, принимающий в точках 0, 1, 2 значения – 1, 2, –3 соответственно. По интерполяционной формуле Лагранжа имеем:
Теорема (общий вид интерполяционного многочлена). Пусть F – поле, x1, …, xn – попарно различные точки поля F, y1, …, yn Î F. Тогда любой многочлен p(x) Î F[x], принимающий в точках x1, …, xn заданные значения y1, …, yn (1 £ i £ n) имеет вид p(x) = L(x) + (x – x1)× …× (x – xn)× q(x), где q(x) – некоторый многочлен над F. Доказательство. Многочлен p(x) – L(x) обращается в ноль при любом значении x = xi (1 £ i £ n). По теореме Безу рассматриваемая разность делится на каждый из двучленов x – xi, а значит, и на их произведение: p(x) – L(x) = (x – a1)× …× (x – an)× q(x) при некотором q(x) Î F[x]. Теорема доказана. Описанные выше методы позволяют решить и более сложную интерполяционную задачу: всегда ли найдётся такой многочлен f(x) Î F[x], что в различных точках x1, …, xn Î F он принимает заданные значения y1, …, yn Î F, в то время как его производная f¢ (x) в тех же точках принимает значения z1, …, zn: f(xi) = yi, f¢ (xi) = zi (1 £ i £ n)? Теорема (об интерполяции с производными). Пусть F – поле, x1, …, xn – попарно различные точки поля F, y1, …, yn, z1, …, zn Î F. Тогда существует такой однозначно определённый многочлен f(x) Î F[x] степени не выше 2× n – 1, принимающий в точках x1, …, xn заданные значения y1, …, yn, что значения его производной в этих же точках равны z1, …, zn соответственно: f(xi) = yi, f¢ (xi) = zi (1 £ i £ n). Таким образом, любой многочлен степени 2× n – 1 над полем полностью определяется своими значениями и значениями своей производной в n попарно различных точках. Доказательство. Если f(x) – искомый многочлен, то предыдущая теорема позволяет искать его в виде f(x) = L(x)+(x–x1)× …× (x–xn)× q(x), где q(x) – некоторый многочлен степени не выше n–1 (учтено ограничение d(f) £ 2× n–1). Остаётся найти многочлен q(x). Сведём эту задачу к предыдущей, вычислив значения многочлена q(x) в точках x1, …, xn. Имеем f¢ (x) = L¢ (x)+[(x–x1)× …× (x–xn)]¢ × q(x)+(x–x1)× …× (x–xn)× q¢ (x) = = = Поэтому zi = f¢ (xi) = L¢ (xi)+q(xi)× (ai –x1)× …× (xi –xi–1)× (xi –xi+1)× …× (xi –xn), и значения
однозначно определены. Поэтому многочлен q(x) степени не выше n–1 однозначно восстанавливается. Теорема доказана. Пример. Найти многочлен, принимающий в точках 0, 1, 2 значения 1, 2, 3 и имеющий в этих точках значения производной –1, 0, 1 соответственно. Согласно теореме будем искать многочлен в виде f(x) = L(x)+x× (x–1)× (x–2)× q(x), где q(x) – многочлен степени не выше 2, а L(x) = x + 1. Тогда L¢ (x) = 1 и . Решаем задачу интерполяции для q(x) поформуле Лагранжа:
= – × (x2 – 3× x + 2) – (x2 – 2× x) = – × x 2+ × x – 1. Итак, окончательно получаем f(x) = x + 1 + x× (x – 1)× (x – 2)× (– × x2 + × x – 1) = = x + 1+ x× (x2 – 3× x + 2)× (– × x2 + × x – 1) = = x + 1+ x× (– × x4 + 8× x3 – × x2 + 10× x – 2) = = – × x5 + 8× x4 – × x3 + 10× x2 – x + 1. Упражнения: 1. Существует ли многочлен с целыми коэффициентами, принимающий в точках 1, 2, 3 значения 5, 6, 7 соответственно? Найдите такой многочлен с рациональными коэффициентами. 2. Найти все многочлены над R, принимающие в точках –1, 0, 1, 2 значения –2, –1, 0, 1 соответственно. 3. Найти все многочлены над R, принимающие в точках –1, 0, 1, 2 значения –2, –1, 0, 1 соответственно и имеющие значение производной в этих точках 0, 1, 0, –1 соответственно. Конечно, построенный многочлен может совершенно не отражать свойств исходной функции, поскольку через заданные n точек можно провести бесконечное число графиков различных функций. Поэтому для задач аппроксимации важно уметь оценивать величину |f(x) – L(x)| отклонения интерполяционного многочлена от исходной функции с точки зрения той или иной нормы на пространстве функций. Теорема (о величине отклонения многочлена Лагранжа). Пусть функция f: [a; b] ® R является n раз непрерывно дифференцируемой на отрезке [a; b]. Если по заданным точкам x1, …, xn Î [a; b] и значениям функции в этих точках y1 = f(x1), …, yn = f(xn) построен многочлен Лагранжа L(x), то справедлива оценка , где Пn(x) = (x – x1)× … × (x – xn), Mn = . Доказательство. Рассмотрим функцию u(x) = f(x) – L(x) – c× Пn(x), где c – некоторая постоянная, значение которой будет указано позднее. Поскольку Пn(x) = 0 при x = xi, f(xi) = L(xi) (1 £ i £ n), то функция u(x) имеет на отрезке [a; b], как минимум, n корней xi Î [a; b]. Выберем точку p Î [a; b], не совпадающую с x1, …, xn и положим . Тогда функция u(x) будет обращаться в ноль и в точке p, т.е. она будет иметь не менее n + 1 корня на отрезке [a; b]. Пусть (для определённости) p Î (xi; xi+1). Тогда функция u(x) на концах каждого из отрезков [x1; x2], …, [xi–1; xi], [xi; p], [p; xi+1], [xi+1; xi+2], …, [xn–1; xn] принимает одинаковые (нулевые) значения. По теореме Ролля на каждом из этих отрезков производная u¢ (x) обращается в ноль. Эти n нулей производной образуют систему из (n – 1)- гоотрезка, на каждом из концов которых u¢ (x) принимает одинаковые (нулевые) значения. Значит к производной снова можно применить теорему Ролля и найти n – 1 нуль второй производной u¢ ¢ (x). Продолжая этот процесс, найдём, по крайней мере, один нуль n- й производной u(n)(x) – точку x Î [a; b]. Поскольку L(x) – многочлен степени не выше n – 1, а Пn(x) – многочлен степени n, то L(n)(x) º 0, Пn(n)(x) = n! и 0 = u(n)(x) = f (n)(x) – 0 – c× n!, т.е. . Это значение должно совпадать с выбранным ранее: , так что f(p) = L(p) + × Пn(p). Поскольку точка p выбиралась произвольно с единственным условием p ¹ xi (1 £ i £ n), то получена формула f(x) = L(x) + × Пn(x) (x Î [a; b]), которая верна и при x = xi: f(xi) = L(xi), × Пn(xi) = 0. Поэтому |f(x) – L(x)| = и . Теорема доказана. Следствие (об аппроксимации многочленами некоторых бесконечно дифференцируемых функций). Если f – бесконечно дифференцируемая на (a; b) функция, причём все её производные ограничены одной константой на [a; b], т.е. $ M Î R " x Î [a; b] |f (n)(x)| £ M, то функция f сколь угодно близко аппроксимируется многочленом: " e > 0 $ p(x) Î R[x] . Доказательство. Разобьём отрезок [a; b] на n равных отрезков точками x1 = a, x2, …, xn = b и построим интерполяционный многочлен Лагранжа L(x). Тогда , и последняя величина при больших n может быть сделана меньше любого e > 0, т.к. по формуле Стирлинга . Следствие доказано. Замечание: Условие равномерной ограниченности всех производных на отрезке [a; b] существенно: для функции на отрезке [–1; 1] интерполирование по равномерной сетке с шагом 2 / n не приводит к близкой аппроксимации, т.к. . Причина кроется в неограниченности производных этой бесконечно дифференцируемой функции при n ® ¥. Интерполяционный многочлен Лагранжа применяется для решения задачи интерполяции функций. Пример. Найти приближённое значение функции, заданной таблично, в точке x = 1, 0663
Воспользуемся интерполяционной формулой Лагранжа: , которая может быть переписана в виде , где Пn+1(x) = (x – x0)× (x – x1)× … × (x – xn), Di = (xi – x0)× … × (xi – xi–1)× (x – xi) (xi – xi+1)× … × (xi – xn). Для равноотстоящих друг от друга узлов имеем xi+1 = xi + h (0 £ i £ n–1), где h = . Поэтому Di = (xi – x0)× … × (xi – xi–1)× (x – xi) (xi – xi+1)× … × (xi – xn) = = i× h× (i – 1)× h× …× h× (x – xi)× (–h)× …× (i – n)× h = (–1)n–i× i! × (n – i)! × (x – xi)× hn = = (–1)n–i× i! × (n – i)! × (x – x0 – i× h)× hn = (–1)n–i× i! × (n – i)! × (t – i)× hn+1 при t = . Кроме того, Пn+1(x) = (x – x0)× (x – x1)× … × (x – xn) = = t× h× (t – 1)× h× …× (t – n)× h = t× (t – 1)× …× (t – n)× hn+1, так что , где Пn+1(t) = t× (t – 1)× …× (t – n), Сi = (–1)n–i× i! × (n – i)!. По этой формуле и вычисляем y(x)» Ln(x). При этом, как доказано выше, в предположении о (n+1)- кратной непрерывной дифференцируемости функции y(x) выполняется оценка , где . Вычисления можно оформить в виде таблицы:
Итак, y(x)» 1, 43688.
|