Полином Ньютона

Математическое выражение

В математической области численного анализа полином Ньютона , названный в честь его изобретателя Исаака Ньютона , [1] является интерполяционным полиномом для заданного набора точек данных. Полином Ньютона иногда называют интерполяционным полиномом разделенных разностей Ньютона , поскольку коэффициенты полинома вычисляются с использованием метода разделенных разностей Ньютона .

Определение

Дан набор из k  + 1 точек данных

( х 0 , у 0 ) , , ( х дж , у дж ) , , ( х к , у к ) {\displaystyle (x_{0},y_{0}),\ldots ,(x_{j},y_{j}),\ldots ,(x_{k},y_{k})}

где нет двух одинаковых x j , интерполяционный полином Ньютона представляет собой линейную комбинацию базисных полиномов Ньютона

Н ( х ) := дж = 0 к а дж н дж ( х ) {\displaystyle N(x):=\sum _{j=0}^{k}a_{j}n_{j}(x)}

с базисными полиномами Ньютона, определяемыми как

н дж ( х ) := я = 0 дж 1 ( х х я ) {\displaystyle n_{j}(x):=\prod _{i=0}^{j-1}(x-x_{i})}

для j > 0 и . н 0 ( х ) 1 {\displaystyle n_{0}(x)\equiv 1}

Коэффициенты определяются как

а дж := [ у 0 , , у дж ] {\displaystyle a_{j}:=[y_{0},\ldots ,y_{j}]}

где

[ у 0 , , у дж ] {\displaystyle [y_{0},\ldots ,y_{j}]}

это обозначение для разделенных разностей .

Таким образом, многочлен Ньютона можно записать как

Н ( х ) = [ у 0 ] + [ у 0 , у 1 ] ( х х 0 ) + + [ у 0 , , у к ] ( х х 0 ) ( х х 1 ) ( х х к 1 ) . {\displaystyle N(x)=[y_{0}]+[y_{0},y_{1}](x-x_{0})+\cdots +[y_{0},\ldots ,y_{k}](x-x_{0})(x-x_{1})\cdots (x-x_{k-1}).}

Формула Ньютона для прямого деления разности

Полином Ньютона можно выразить в упрощенной форме, если расположить его последовательно на равном расстоянии друг от друга. х 0 , х 1 , , х к {\displaystyle x_{0},x_{1},\точки ,x_{k}}

Если последовательно расположены и равномерно распределены для i = 0, 1, ..., k и некоторая переменная x выражается как , то разность можно записать как . Таким образом, многочлен Ньютона становится х 0 , х 1 , , х к {\displaystyle x_{0},x_{1},\точки ,x_{k}} х я = х 0 + я час {\displaystyle {x}_{i}={x}_{0}+ih} х = х 0 + с час {\displaystyle {x}={x}_{0}+sh} х х я {\displaystyle x-x_{i}} ( с я ) час {\displaystyle (си)ч}

Н ( х ) = [ у 0 ] + [ у 0 , у 1 ] с час + + [ у 0 , , у к ] с ( с 1 ) ( с к + 1 ) час к = я = 0 к с ( с 1 ) ( с я + 1 ) час я [ у 0 , , у я ] = я = 0 к ( с я ) я ! час я [ у 0 , , у я ] . {\displaystyle {\begin{aligned}N(x)&=[y_{0}]+[y_{0},y_{1}]sh+\cdots +[y_{0},\ldots ,y_{k}]s(s-1)\cdots (s-k+1){h}^{k}\\&=\sum _{i=0}^{k}s(s-1)\cdots (s-i+1){h}^{i}[y_{0},\ldots ,y_{i}]\\&=\sum _{i=0}^{k}{s \choose i}i!{h}^{i}[y_{0},\ldots ,y_{i}].\end{aligned}}}

Это называется формулой Ньютона для прямого деления разности . [ требуется ссылка ]

Формула Ньютона с обратной разделенной разностью

Если узлы переупорядочить следующим образом , то полином Ньютона станет x k , x k 1 , , x 0 {\displaystyle {x}_{k},{x}_{k-1},\dots ,{x}_{0}}

N ( x ) = [ y k ] + [ y k , y k 1 ] ( x x k ) + + [ y k , , y 0 ] ( x x k ) ( x x k 1 ) ( x x 1 ) . {\displaystyle N(x)=[y_{k}]+[{y}_{k},{y}_{k-1}](x-{x}_{k})+\cdots +[{y}_{k},\ldots ,{y}_{0}](x-{x}_{k})(x-{x}_{k-1})\cdots (x-{x}_{1}).}

Если они равномерно распределены при i = 0, 1, ..., k и , то, x k , x k 1 , , x 0 {\displaystyle {x}_{k},\;{x}_{k-1},\;\dots ,\;{x}_{0}} x i = x k ( k i ) h {\displaystyle {x}_{i}={x}_{k}-(k-i)h} x = x k + s h {\displaystyle {x}={x}_{k}+sh}

N ( x ) = [ y k ] + [ y k , y k 1 ] s h + + [ y k , , y 0 ] s ( s + 1 ) ( s + k 1 ) h k = i = 0 k ( 1 ) i ( s i ) i ! h i [ y k , , y k i ] . {\displaystyle {\begin{aligned}N(x)&=[{y}_{k}]+[{y}_{k},{y}_{k-1}]sh+\cdots +[{y}_{k},\ldots ,{y}_{0}]s(s+1)\cdots (s+k-1){h}^{k}\\&=\sum _{i=0}^{k}{(-1)}^{i}{-s \choose i}i!{h}^{i}[{y}_{k},\ldots ,{y}_{k-i}].\end{aligned}}}

Это называется формулой Ньютона с обратной разделенной разностью . [ требуется ссылка ]

Значение

Формула Ньютона интересна тем, что она представляет собой простую и естественную версию разностей многочлена Тейлора. Многочлен Тейлора сообщает, куда пойдет функция, на основе ее значения y и ее производных (ее скорости изменения и скорости изменения ее скорости изменения и т. д.) при одном конкретном значении x . Формула Ньютона — это многочлен Тейлора, основанный на конечных разностях вместо мгновенных скоростей изменения.

Полиномиальная интерполяция

Для полинома степени, меньшей или равной n, который интерполируется в узлах , где . Пусть будет полиномом степени, меньшей или равной n+1, который интерполируется в узлах , где . Тогда задается как: p n {\displaystyle p_{n}} f {\displaystyle f} x i {\displaystyle x_{i}} i = 0 , 1 , 2 , 3 , , n {\displaystyle i=0,1,2,3,\cdots ,n} p n + 1 {\displaystyle p_{n+1}} f {\displaystyle f} x i {\displaystyle x_{i}} i = 0 , 1 , 2 , 3 , , n , n + 1 {\displaystyle i=0,1,2,3,\cdots ,n,n+1} p n + 1 {\displaystyle p_{n+1}}

p n + 1 ( x ) = p n ( x ) + a n + 1 w n ( x ) {\displaystyle p_{n+1}(x)=p_{n}(x)+a_{n+1}w_{n}(x)}

где и . w n ( x ) := i = 0 n ( x x i ) {\textstyle w_{n}(x):=\prod _{i=0}^{n}(x-x_{i})} a n + 1 := f ( x n + 1 ) p n ( x n + 1 ) w n ( x n + 1 ) {\textstyle a_{n+1}:={f(x_{n+1})-p_{n}(x_{n+1}) \over w_{n}(x_{n+1})}}

Доказательство:

Это можно показать для случая, когда : и когда : i = 0 , 1 , 2 , 3 , , n {\displaystyle i=0,1,2,3,\cdots ,n} p n + 1 ( x i ) = p n ( x i ) + a n + 1 j = 0 n ( x i x j ) = p n ( x i ) {\displaystyle p_{n+1}(x_{i})=p_{n}(x_{i})+a_{n+1}\prod _{j=0}^{n}(x_{i}-x_{j})=p_{n}(x_{i})} i = n + 1 {\displaystyle i=n+1}

p n + 1 ( x n + 1 ) = p n ( x n + 1 ) + f ( x n + 1 ) p n ( x n + 1 ) w n ( x n + 1 ) w n ( x n + 1 ) = f ( x n + 1 ) {\displaystyle p_{n+1}(x_{n+1})=p_{n}(x_{n+1})+{f(x_{n+1})-p_{n}(x_{n+1}) \over w_{n}(x_{n+1})}w_{n}(x_{n+1})=f(x_{n+1})}

В силу уникальности интерполированных полиномов степени меньше , требуется интерполяция полинома. Таким образом, функция может быть выражена как: n + 1 {\displaystyle n+1} p n + 1 ( x ) = p n ( x ) + a n + 1 w n ( x ) {\textstyle p_{n+1}(x)=p_{n}(x)+a_{n+1}w_{n}(x)}

p n ( x ) = a 0 + a 1 ( x x 0 ) + a 2 ( x x 0 ) ( x x 1 ) + + a n ( x x 0 ) ( x x n 1 ) {\textstyle p_{n}(x)=a_{0}+a_{1}(x-x_{0})+a_{2}(x-x_{0})(x-x_{1})+\cdots +a_{n}(x-x_{0})\cdots (x-x_{n-1})}

где факторы представляют собой разделенные разности . Таким образом, полиномы Ньютона используются для предоставления полиномиальной интерполяционной формулы n точек. [2] a i {\displaystyle a_{i}}


Принимая для некоторой неизвестной функции в формулах разделенных разностей Ньютона, если представление x в предыдущих разделах было принято как , в терминах прямых разностей , формула прямой интерполяции Ньютона выражается как: тогда как для того же самого в терминах обратных разностей формула обратной интерполяции Ньютона выражается как: Это следует из того, что связь между разделенными разностями и прямыми разностями задается как: [3] тогда как для обратных разностей она задается как: [ требуется ссылка ] y i = f ( x i ) {\displaystyle y_{i}=f(x_{i})} x = x j + s h {\displaystyle x=x_{j}+sh} f ( x ) N ( x ) = N ( x j + s h ) = i = 0 k ( s i ) Δ ( i ) f ( x j ) {\displaystyle f(x)\approx N(x)=N(x_{j}+sh)=\sum _{i=0}^{k}{s \choose i}\Delta ^{(i)}f(x_{j})} f ( x ) N ( x ) = N ( x j + s h ) = i = 0 k ( 1 ) i ( s i ) ( i ) f ( x j ) . {\displaystyle f(x)\approx N(x)=N(x_{j}+sh)=\sum _{i=0}^{k}{(-1)}^{i}{-s \choose i}\nabla ^{(i)}f(x_{j}).} [ y j , y j + 1 , , y j + n ] = 1 n ! h n Δ ( n ) y j , {\displaystyle [y_{j},y_{j+1},\ldots ,y_{j+n}]={\frac {1}{n!h^{n}}}\Delta ^{(n)}y_{j},} [ y j , y j 1 , , y j n ] = 1 n ! h n ( n ) y j . {\displaystyle [{y}_{j},y_{j-1},\ldots ,{y}_{j-n}]={\frac {1}{n!h^{n}}}\nabla ^{(n)}y_{j}.}

Добавление новых точек

Как и в случае с другими формулами разности, степень интерполирующего полинома Ньютона можно увеличить, добавляя больше членов и точек, не отбрасывая существующие. Форма Ньютона проста тем, что новые точки всегда добавляются на одном конце: прямая формула Ньютона может добавлять новые точки справа, а обратная формула Ньютона может добавлять новые точки слева.

Точность полиномиальной интерполяции зависит от того, насколько близко интерполируемая точка находится к середине значений x используемого набора точек. Очевидно, что по мере добавления новых точек на одном конце эта середина становится все дальше и дальше от первой точки данных. Поэтому, если неизвестно, сколько точек понадобится для желаемой точности, середина значений x может оказаться далеко от того места, где выполняется интерполяция.

Гаусс, Стерлинг и Бессель разработали формулы для решения этой проблемы. [4]

Формула Гаусса поочередно добавляет новые точки на левом и правом концах, тем самым сохраняя набор точек центрированным около одного и того же места (около оцененной точки). При этом она использует термины из формулы Ньютона, причем точки данных и значения x переименовываются в соответствии с выбором точки данных, которая обозначается как точка данных x 0 .

Формула Стирлинга остается центрированной вокруг конкретной точки данных и используется в случаях, когда оцениваемая точка находится ближе к точке данных, чем к средней из двух точек данных.

Формула Бесселя сохраняет центрирование вокруг определенной середины между двумя точками данных и используется в случаях, когда оцениваемая точка находится ближе к середине, чем к точке данных.

Бессель и Стирлинг достигают этого, иногда используя среднее двух разностей, а иногда используя среднее двух произведений биномов по x , тогда как Ньютон или Гаусс использовали бы только одну разность или произведение. Стирлинг использует среднюю разность в терминах нечетной степени (разность которых использует четное количество точек данных); Бессель использует среднюю разность в терминах четной степени (разность которых использует нечетное количество точек данных).

Сильные и слабые стороны различных формул

Для любого заданного конечного набора точек данных существует только один полином наименьшей возможной степени, который проходит через все из них. Таким образом, уместно говорить о «форме Ньютона» или форме Лагранжа и т. д. интерполяционного полинома. Однако различные методы вычисления этого полинома могут иметь различную вычислительную эффективность. Существует несколько похожих методов, таких как методы Гаусса, Бесселя и Стирлинга. Их можно вывести из метода Ньютона путем переименования x -значений точек данных, но на практике они важны.

Бессель против Стерлинга

Выбор между Бесселем и Стерлингом зависит от того, находится ли интерполированная точка ближе к точке данных или ближе к середине между двумя точками данных.

Ошибка полиномиальной интерполяции стремится к нулю, когда точка интерполяции приближается к точке данных. Таким образом, формула Стирлинга обеспечивает улучшение точности там, где это меньше всего нужно, а формула Бесселя обеспечивает улучшение точности там, где это больше всего нужно.

Таким образом, можно сказать, что формула Бесселя является наиболее последовательно точной разностной формулой и, в целом, наиболее последовательно точной из известных формул полиномиальной интерполяции.

Методы разделенных разностей против метода Лагранжа

Иногда говорят, что метод Лагранжа требует меньше работы, и иногда его рекомендуют для задач, в которых заранее, из предыдущего опыта, известно, сколько членов необходимо для достаточной точности.

Методы разделенных разностей имеют преимущество в том, что можно добавлять больше точек данных для повышения точности. Термины, основанные на предыдущих точках данных, можно продолжать использовать. С обычной формулой Лагранжа, чтобы решить задачу с большим количеством точек данных, потребуется переделать всю задачу.

Существует «барицентрическая» версия Лагранжа, которая позволяет избежать необходимости повторного выполнения всего расчета при добавлении новой точки данных. Но она требует, чтобы значения каждого члена были записаны.

Однако способность Гаусса, Бесселя и Стерлинга сохранять точки данных центрированными вблизи интерполированной точки дает им преимущество перед Лагранжем, когда заранее неизвестно, сколько точек данных понадобится.

Кроме того, предположим, что кто-то хочет выяснить, достаточно ли точна линейная интерполяция для некоторого конкретного типа задачи. Это можно определить, оценив квадратичный член формулы разделенной разности. Если квадратичный член пренебрежимо мал — то есть линейный член достаточно точен без добавления квадратичного члена — то линейная интерполяция достаточно точна. Если задача достаточно важна или если квадратичный член почти достаточно велик, чтобы иметь значение, то можно захотеть определить, достаточно ли велика сумма квадратичного и кубического членов, чтобы иметь значение в задаче.

Конечно, для такого определения можно использовать только метод разделенных разностей.

Для этой цели формула разделенной разности и/или ее точка x 0 должны быть выбраны таким образом, чтобы формула использовала для своего линейного члена две точки данных, между которыми будет выполняться интересующая нас линейная интерполяция.

Формулы разделенной разности более универсальны и полезны в большем количестве типов задач.

Формула Лагранжа наиболее эффективна, когда вся интерполяция выполняется при одном значении x , а значения y точек данных меняются от задачи к задаче, и когда из прошлого опыта известно, сколько членов необходимо для достаточной точности.

С помощью формы Ньютона интерполирующего полинома существует компактный и эффективный алгоритм для объединения членов с целью нахождения коэффициентов полинома. [5]

Точность

Когда в методах Стирлинга или Бесселя последний используемый член включает среднее значение двух разностей, то используется на одну точку больше, чем Ньютоновская или другие полиномиальные интерполяции использовали бы для той же степени полинома. Таким образом, в этом случае Стирлинг или Бессел не помещают полином степени N −1 через N точек, а вместо этого обменивают эквивалентность с Ньютоном на лучшее центрирование и точность, что дает этим методам иногда потенциально большую точность для данной степени полинома, чем другие полиномиальные интерполяции.

Общий случай

Для частного случая x i = i существует тесно связанный набор полиномов, также называемых полиномами Ньютона, которые являются просто биномиальными коэффициентами для общего аргумента. То есть, также имеются полиномы Ньютона, заданные как p n ( z ) {\displaystyle p_{n}(z)}

p n ( z ) = ( z n ) = z ( z 1 ) ( z n + 1 ) n ! {\displaystyle p_{n}(z)={z \choose n}={\frac {z(z-1)\cdots (z-n+1)}{n!}}}

В этой форме полиномы Ньютона порождают ряды Ньютона . Они, в свою очередь, являются частным случаем общих разностных полиномов , которые позволяют представлять аналитические функции через обобщенные разностные уравнения.

Основная идея

Решение задачи интерполяции приводит к задаче линейной алгебры, где нам нужно решить систему линейных уравнений. Используя стандартный мономиальный базис для нашего интерполяционного полинома, мы получаем очень сложную матрицу Вандермонда . Выбрав другой базис, базис Ньютона, мы получаем систему линейных уравнений с гораздо более простой нижней треугольной матрицей , которую можно решить быстрее.

Для k  + 1 точек данных мы строим базис Ньютона как

n 0 ( x ) := 1 , n j ( x ) := i = 0 j 1 ( x x i ) j = 1 , , k . {\displaystyle n_{0}(x):=1,\qquad n_{j}(x):=\prod _{i=0}^{j-1}(x-x_{i})\qquad j=1,\ldots ,k.}

Используя эти полиномы в качестве основы, нам нужно решить Π k {\displaystyle \Pi _{k}}

[ 1 0 1 x 1 x 0 1 x 2 x 0 ( x 2 x 0 ) ( x 2 x 1 ) 1 x k x 0 j = 0 k 1 ( x k x j ) ] [ a 0 a k ] = [ y 0 y k ] {\displaystyle {\begin{bmatrix}1&&\ldots &&0\\1&x_{1}-x_{0}&&&\\1&x_{2}-x_{0}&(x_{2}-x_{0})(x_{2}-x_{1})&&\vdots \\\vdots &\vdots &&\ddots &\\1&x_{k}-x_{0}&\ldots &\ldots &\prod _{j=0}^{k-1}(x_{k}-x_{j})\end{bmatrix}}{\begin{bmatrix}a_{0}\\\\\vdots \\\\a_{k}\end{bmatrix}}={\begin{bmatrix}y_{0}\\\\\vdots \\\\y_{k}\end{bmatrix}}}

решить задачу полиномиальной интерполяции.

Эту систему уравнений можно решить итеративно, решив

i = 0 j a i n i ( x j ) = y j j = 0 , , k . {\displaystyle \sum _{i=0}^{j}a_{i}n_{i}(x_{j})=y_{j}\qquad j=0,\dots ,k.}

Вывод

Хотя формулу интерполяции можно найти, решив линейную систему уравнений, теряется интуиция в том, что показывает эта формула, и не совсем очевидно, почему работает формула интерполяции Ньютона. Для начала нам нужно установить два факта:

Факт 1. Изменение условий разделенной разницы на обратные оставляет ее неизменной: [ y 0 , , y n ] = [ y n , , y 0 ] . {\displaystyle [y_{0},\ldots ,y_{n}]=[y_{n},\ldots ,y_{0}].}

Доказательство этого — простая индукция: мы вычисляем n = 1 {\displaystyle n=1} [ y 0 , y 1 ] = [ y 1 ] [ y 0 ] x 1 x 0 = [ y 0 ] [ y 1 ] x 0 x 1 = [ y 1 , y 0 ] . {\displaystyle [y_{0},y_{1}]={\frac {[y_{1}]-[y_{0}]}{x_{1}-x_{0}}}={\frac {[y_{0}]-[y_{1}]}{x_{0}-x_{1}}}=[y_{1},y_{0}].}

Шаг индукции: Предположим, что результат справедлив для любой разделенной разности, включающей не более членов. Тогда, используя гипотезу индукции в следующем 2-м равенстве, мы видим, что для разделенной разности, включающей члены, мы имеем n + 1 {\displaystyle n+1} n + 2 {\displaystyle n+2}

[ y 0 , , y n + 1 ] = [ y 1 , , y n + 1 ] [ y 0 , , y n ] x n + 1 x 0 = [ y n , , y 0 ] [ y n + 1 , , y 1 ] x 0 x n + 1 = [ y n + 1 , , y 0 ] . {\displaystyle [y_{0},\ldots ,y_{n+1}]={\frac {[y_{1},\ldots ,y_{n+1}]-[y_{0},\ldots ,y_{n}]}{x_{n+1}-x_{0}}}={\frac {[y_{n},\ldots ,y_{0}]-[y_{n+1},\ldots ,y_{1}]}{x_{0}-x_{n+1}}}=[y_{n+1},\ldots ,y_{0}].}

Сформулируем следующий Факт 2, который для целей индукции и ясности мы также называем Утверждением ( ): n {\displaystyle n} Stm n {\displaystyle {\text{Stm}}_{n}}

Факт 2. ( ): Если есть какие-либо точки с различными -координатами и есть единственный многочлен степени (не выше), график которого проходит через эти точки, то имеет место соотношение Stm n {\displaystyle {\text{Stm}}_{n}} ( x 0 , y 0 ) , , ( x n 1 , y n 1 ) {\displaystyle (x_{0},y_{0}),\ldots ,(x_{n-1},y_{n-1})} n {\displaystyle n} x {\displaystyle x} P = P ( x ) {\displaystyle P=P(x)} n 1 {\displaystyle n-1} n {\displaystyle n} [ y 0 , , y n ] ( x n x 0 ) ( x n x n 1 ) = y n P ( x n ) {\displaystyle [y_{0},\ldots ,y_{n}](x_{n}-x_{0})\cdot \ldots \cdot (x_{n}-x_{n-1})=y_{n}-P(x_{n})}

Доказательство. (Для беглого прочтения доказательства будет полезно иметь в виду точное утверждение и его тонкость: определяется прохождением через , но формула также говорит по обе стороны от дополнительной произвольной точки с -координатой, отличной от другой .) P {\displaystyle P} ( x 0 , y 0 ) , . . . , ( x n 1 , y n 1 ) {\displaystyle (x_{0},y_{0}),...,(x_{n-1},y_{n-1})} ( x n , y n ) {\displaystyle (x_{n},y_{n})} x {\displaystyle x} x i {\displaystyle x_{i}}

Мы снова докажем эти утверждения по индукции. Чтобы показать, пусть будет любой одной точкой и пусть будет единственным многочленом степени 0, проходящим через . Тогда очевидно и мы можем записать так, как и хотели. Stm 1 , {\displaystyle {\text{Stm}}_{1},} ( x 0 , y 0 ) {\displaystyle (x_{0},y_{0})} P ( x ) {\displaystyle P(x)} ( x 0 , y 0 ) {\displaystyle (x_{0},y_{0})} P ( x ) = y 0 {\displaystyle P(x)=y_{0}} [ y 0 , y 1 ] ( x 1 x 0 ) = y 1 y 0 x 1 x 0 ( x 1 x 0 ) = y 1 y 0 = y 1 P ( x 1 ) {\displaystyle [y_{0},y_{1}](x_{1}-x_{0})={\frac {y_{1}-y_{0}}{x_{1}-x_{0}}}(x_{1}-x_{0})=y_{1}-y_{0}=y_{1}-P(x_{1})}

Доказательство предположения уже установлено: Пусть — многочлен степени (не выше), проходящий через Stm n + 1 , {\displaystyle {\text{Stm}}_{n+1},} Stm n {\displaystyle {\text{Stm}}_{n}} P ( x ) {\displaystyle P(x)} n {\displaystyle n} ( x 0 , y 0 ) , , ( x n , y n ) . {\displaystyle (x_{0},y_{0}),\ldots ,(x_{n},y_{n}).}

Поскольку является единственным многочленом степени (не выше), проходящим через точки , мы можем записать следующую цепочку равенств, где мы используем в предпоследнем равенстве, к которому применяется Stm : Q ( x ) {\displaystyle Q(x)} n 1 {\displaystyle n-1} ( x 1 , y 1 ) , , ( x n , y n ) {\displaystyle (x_{1},y_{1}),\ldots ,(x_{n},y_{n})} n {\displaystyle _{n}} Q {\displaystyle Q}


[ y 0 , , y n + 1 ] ( x n + 1 x 0 ) ( x n + 1 x n ) = [ y 1 , , y n + 1 ] [ y 0 , , y n ] x n + 1 x 0 ( x n + 1 x 0 ) ( x n + 1 x n ) = ( [ y 1 , , y n + 1 ] [ y 0 , , y n ] ) ( x n + 1 x 1 ) ( x n + 1 x n ) = [ y 1 , , y n + 1 ] ( x n + 1 x 1 ) ( x n + 1 x n ) [ y 0 , , y n ] ( x n + 1 x 1 ) ( x n + 1 x n ) = ( y n + 1 Q ( x n + 1 ) ) [ y 0 , , y n ] ( x n + 1 x 1 ) ( x n + 1 x n ) = y n + 1 ( Q ( x n + 1 ) + [ y 0 , , y n ] ( x n + 1 x 1 ) ( x n + 1 x n ) ) . {\displaystyle {\begin{aligned}&[y_{0},\ldots ,y_{n+1}](x_{n+1}-x_{0})\cdot \ldots \cdot (x_{n+1}-x_{n})\\&={\frac {[y_{1},\ldots ,y_{n+1}]-[y_{0},\ldots ,y_{n}]}{x_{n+1}-x_{0}}}(x_{n+1}-x_{0})\cdot \ldots \cdot (x_{n+1}-x_{n})\\&=\left([y_{1},\ldots ,y_{n+1}]-[y_{0},\ldots ,y_{n}]\right)(x_{n+1}-x_{1})\cdot \ldots \cdot (x_{n+1}-x_{n})\\&=[y_{1},\ldots ,y_{n+1}](x_{n+1}-x_{1})\cdot \ldots \cdot (x_{n+1}-x_{n})-[y_{0},\ldots ,y_{n}](x_{n+1}-x_{1})\cdot \ldots \cdot (x_{n+1}-x_{n})\\&=(y_{n+1}-Q(x_{n+1}))-[y_{0},\ldots ,y_{n}](x_{n+1}-x_{1})\cdot \ldots \cdot (x_{n+1}-x_{n})\\&=y_{n+1}-(Q(x_{n+1})+[y_{0},\ldots ,y_{n}](x_{n+1}-x_{1})\cdot \ldots \cdot (x_{n+1}-x_{n})).\end{aligned}}}

Индукционная гипотеза применима также ко второму равенству в следующем вычислении, где добавляется к точкам, определяющим  : Q {\displaystyle Q} ( x 0 , y 0 ) {\displaystyle (x_{0},y_{0})} Q {\displaystyle Q}

Q ( x 0 ) + [ y 0 , , y n ] ( x 0 x 1 ) ( x 0 x n ) = Q ( x 0 ) + [ y n , , y 0 ] ( x 0 x n ) ( x 0 x 1 ) = Q ( x 0 ) + y 0 Q ( x 0 ) = y 0 = P ( x 0 ) . {\displaystyle {\begin{aligned}&Q(x_{0})+[y_{0},\ldots ,y_{n}](x_{0}-x_{1})\cdot \ldots \cdot (x_{0}-x_{n})\\&=Q(x_{0})+[y_{n},\ldots ,y_{0}](x_{0}-x_{n})\cdot \ldots \cdot (x_{0}-x_{1})\\&=Q(x_{0})+y_{0}-Q(x_{0})\\&=y_{0}\\&=P(x_{0}).\\\end{aligned}}}

Теперь посмотрим на По определению этот многочлен проходит через и, как мы только что показали, он также проходит через Таким образом, это единственный многочлен степени , который проходит через эти точки. Следовательно, этот многочлен есть то есть: Q ( x ) + [ y 0 , , y n ] ( x x 1 ) ( x x n ) . {\displaystyle Q(x)+[y_{0},\ldots ,y_{n}](x-x_{1})\cdot \ldots \cdot (x-x_{n}).} Q {\displaystyle Q} ( x 1 , y 1 ) , . . . , ( x n , y n ) {\displaystyle (x_{1},y_{1}),...,(x_{n},y_{n})} ( x 0 , y 0 ) . {\displaystyle (x_{0},y_{0}).} n {\displaystyle \leq n} P ( x ) ; {\displaystyle P(x);} P ( x ) = Q ( x ) + [ y 0 , , y n ] ( x x 1 ) ( x x n ) . {\displaystyle P(x)=Q(x)+[y_{0},\ldots ,y_{n}](x-x_{1})\cdot \ldots \cdot (x-x_{n}).}

Таким образом, мы можем записать последнюю строку в первой цепочке равенств как ` ' и тем самым установить, что Итак, мы установили , и, следовательно, завершили доказательство Факта 2. y n + 1 P ( x n + 1 ) {\displaystyle y_{n+1}-P(x_{n+1})} [ y 0 , , y n + 1 ] ( x n + 1 x 0 ) ( x n + 1 x n ) = y n + 1 P ( x n + 1 ) . {\displaystyle [y_{0},\ldots ,y_{n+1}](x_{n+1}-x_{0})\cdot \ldots \cdot (x_{n+1}-x_{n})=y_{n+1}-P(x_{n+1}).} Stm n + 1 {\displaystyle {\text{Stm}}_{n+1}}

Теперь посмотрим на Факт 2: Его можно сформулировать следующим образом: Если — единственный многочлен степени не выше , график которого проходит через точки, то — единственный многочлен степени не выше, проходящий через точки. Таким образом, мы видим, что интерполяция Ньютона действительно позволяет добавлять новые точки интерполяции, не разрушая то, что уже было вычислено. P {\displaystyle P} n 1 {\displaystyle n-1} ( x 0 , y 0 ) , . . . , ( x n 1 , y n 1 ) , {\displaystyle (x_{0},y_{0}),...,(x_{n-1},y_{n-1}),} P ( x ) + [ y 0 , , y n ] ( x x 0 ) ( x x n 1 ) {\displaystyle P(x)+[y_{0},\ldots ,y_{n}](x-x_{0})\cdot \ldots \cdot (x-x_{n-1})} n {\displaystyle n} ( x 0 , y 0 ) , . . . , ( x n 1 , y n 1 ) , ( x n , y n ) . {\displaystyle (x_{0},y_{0}),...,(x_{n-1},y_{n-1}),(x_{n},y_{n}).}

полином Тейлора

Предел многочлена Ньютона, если все узлы совпадают, является многочленом Тейлора , поскольку разделенные разности становятся производными. lim ( x 0 , , x n ) ( z , , z ) f [ x 0 ] + f [ x 0 , x 1 ] ( ξ x 0 ) + + f [ x 0 , , x n ] ( ξ x 0 ) ( ξ x n 1 ) = f ( z ) + f ( z ) ( ξ z ) + + f ( n ) ( z ) n ! ( ξ z ) n {\displaystyle {\begin{aligned}&\lim _{(x_{0},\dots ,x_{n})\to (z,\dots ,z)}f[x_{0}]+f[x_{0},x_{1}]\cdot (\xi -x_{0})+\dots +f[x_{0},\dots ,x_{n}]\cdot (\xi -x_{0})\cdot \dots \cdot (\xi -x_{n-1})\\&=f(z)+f'(z)\cdot (\xi -z)+\dots +{\frac {f^{(n)}(z)}{n!}}\cdot (\xi -z)^{n}\end{aligned}}}

Приложение

Как видно из определения разделенных разностей, новые точки данных могут быть добавлены к набору данных для создания нового интерполяционного полинома без пересчета старых коэффициентов. И когда точка данных изменяется, нам обычно не нужно пересчитывать все коэффициенты. Кроме того, если x i распределены эквидистантно, вычисление разделенных разностей становится значительно проще. Поэтому формулы разделенных разностей обычно предпочтительнее формы Лагранжа для практических целей.

Примеры

Разделенные разности можно записать в виде таблицы. Например, для функции f требуется интерполировать по точкам . Запишите x 0 , , x n {\displaystyle x_{0},\ldots ,x_{n}}

x 0 f ( x 0 ) f ( x 1 ) f ( x 0 ) x 1 x 0 x 1 f ( x 1 ) f ( x 2 ) f ( x 1 ) x 2 x 1 f ( x 1 ) f ( x 0 ) x 1 x 0 x 2 x 0 f ( x 2 ) f ( x 1 ) x 2 x 1 x 2 f ( x 2 ) x n f ( x n ) {\displaystyle {\begin{matrix}x_{0}&f(x_{0})&&\\&&{f(x_{1})-f(x_{0}) \over x_{1}-x_{0}}&\\x_{1}&f(x_{1})&&{{f(x_{2})-f(x_{1}) \over x_{2}-x_{1}}-{f(x_{1})-f(x_{0}) \over x_{1}-x_{0}} \over x_{2}-x_{0}}\\&&{f(x_{2})-f(x_{1}) \over x_{2}-x_{1}}&\\x_{2}&f(x_{2})&&\vdots \\&&\vdots &\\\vdots &&&\vdots \\&&\vdots &\\x_{n}&f(x_{n})&&\\\end{matrix}}}

Затем интерполяционный полином формируется, как указано выше, с использованием самых верхних элементов в каждом столбце в качестве коэффициентов.

Например, предположим, что нам нужно построить интерполяционный многочлен для f ( x ) = tan( x ), используя разделенные разности в точках

n {\displaystyle n} x n {\displaystyle x_{n}} f ( x n ) {\displaystyle f(x_{n})}
0 {\displaystyle 0} 3 2 {\displaystyle -{\tfrac {3}{2}}} 14.1014 {\displaystyle -14.1014}
1 {\displaystyle 1} 3 4 {\displaystyle -{\tfrac {3}{4}}} 0.931596 {\displaystyle -0.931596}
2 {\displaystyle 2} 0 {\displaystyle 0} 0 {\displaystyle 0}
3 {\displaystyle 3} 3 4 {\displaystyle {\tfrac {3}{4}}} 0.931596 {\displaystyle 0.931596}
4 {\displaystyle 4} 3 2 {\displaystyle {\tfrac {3}{2}}} 14.1014 {\displaystyle 14.1014}

Используя шестизначную точность, мы строим таблицу

3 2 14.1014 17.5597 3 4 0.931596 10.8784 1.24213 4.83484 0 0 0 0 1.24213 4.83484 3 4 0.931596 10.8784 17.5597 3 2 14.1014 {\displaystyle {\begin{matrix}-{\tfrac {3}{2}}&-14.1014&&&&\\&&17.5597&&&\\-{\tfrac {3}{4}}&-0.931596&&-10.8784&&\\&&1.24213&&4.83484&\\0&0&&0&&0\\&&1.24213&&4.83484&\\{\tfrac {3}{4}}&0.931596&&10.8784&&\\&&17.5597&&&\\{\tfrac {3}{2}}&14.1014&&&&\\\end{matrix}}}

Таким образом, интерполяционный полином равен

14.1014 + 17.5597 ( x + 3 2 ) 10.8784 ( x + 3 2 ) ( x + 3 4 ) + 4.83484 ( x + 3 2 ) ( x + 3 4 ) ( x ) + 0 ( x + 3 2 ) ( x + 3 4 ) ( x ) ( x 3 4 ) = 0.00005 1.4775 x 0.00001 x 2 + 4.83484 x 3 {\displaystyle {\begin{aligned}&-14.1014+17.5597(x+{\tfrac {3}{2}})-10.8784(x+{\tfrac {3}{2}})(x+{\tfrac {3}{4}})+4.83484(x+{\tfrac {3}{2}})(x+{\tfrac {3}{4}})(x)+0(x+{\tfrac {3}{2}})(x+{\tfrac {3}{4}})(x)(x-{\tfrac {3}{4}})\\={}&-0.00005-1.4775x-0.00001x^{2}+4.83484x^{3}\end{aligned}}}

При большем количестве цифр точности в таблице первый и третий коэффициенты будут равны нулю.

Другой пример:

Последовательность такая, что и , т.е. они находятся от до . f 0 {\displaystyle f_{0}} f 0 ( 1 ) = 6 , f 0 ( 2 ) = 9 , f 0 ( 3 ) = 2 {\displaystyle f_{0}(1)=6,f_{0}(2)=9,f_{0}(3)=2} f 0 ( 4 ) = 5 {\displaystyle f_{0}(4)=5} 6 , 9 , 2 , 5 {\displaystyle 6,9,2,5} x 0 = 1 {\displaystyle x_{0}=1} x 3 = 4 {\displaystyle x_{3}=4}

Наклон порядка получается следующим образом: 1 {\displaystyle 1}

  • f 1 ( x 0 , x 1 ) = f 0 ( x 1 ) f 0 ( x 0 ) x 1 x 0 = 9 6 2 1 = 3 {\displaystyle f_{1}(x_{0},x_{1})={\frac {f_{0}(x_{1})-f_{0}(x_{0})}{x_{1}-x_{0}}}={\frac {9-6}{2-1}}=3}
  • f 1 ( x 1 , x 2 ) = f 0 ( x 2 ) f 0 ( x 1 ) x 2 x 1 = 2 9 3 2 = 7 {\displaystyle f_{1}(x_{1},x_{2})={\frac {f_{0}(x_{2})-f_{0}(x_{1})}{x_{2}-x_{1}}}={\frac {2-9}{3-2}}=-7}
  • f 1 ( x 2 , x 3 ) = f 0 ( x 3 ) f 0 ( x 2 ) x 3 x 2 = 5 2 4 3 = 3 {\displaystyle f_{1}(x_{2},x_{3})={\frac {f_{0}(x_{3})-f_{0}(x_{2})}{x_{3}-x_{2}}}={\frac {5-2}{4-3}}=3}

Так как у нас есть наклоны порядка , то можно получить следующий порядок: 1 {\displaystyle 1}

  • f 2 ( x 0 , x 1 , x 2 ) = f 1 ( x 1 , x 2 ) f 1 ( x 0 , x 1 ) x 2 x 0 = 7 3 3 1 = 5 {\displaystyle f_{2}(x_{0},x_{1},x_{2})={\frac {f_{1}(x_{1},x_{2})-f_{1}(x_{0},x_{1})}{x_{2}-x_{0}}}={\frac {-7-3}{3-1}}=-5}
  • f 2 ( x 1 , x 2 , x 3 ) = f 1 ( x 2 , x 3 ) f 1 ( x 1 , x 2 ) x 3 x 1 = 3 ( 7 ) 4 2 = 5 {\displaystyle f_{2}(x_{1},x_{2},x_{3})={\frac {f_{1}(x_{2},x_{3})-f_{1}(x_{1},x_{2})}{x_{3}-x_{1}}}={\frac {3-(-7)}{4-2}}=5}

Наконец, определим наклон порядка : 3 {\displaystyle 3}

  • f 3 ( x 0 , x 1 , x 2 , x 3 ) = f 2 ( x 1 , x 2 , x 3 ) f 2 ( x 0 , x 1 , x 2 ) x 3 x 0 = 5 ( 5 ) 4 1 = 10 3 {\displaystyle f_{3}(x_{0},x_{1},x_{2},x_{3})={\frac {f_{2}(x_{1},x_{2},x_{3})-f_{2}(x_{0},x_{1},x_{2})}{x_{3}-x_{0}}}={\frac {5-(-5)}{4-1}}={\frac {10}{3}}}

Получив наклон, мы можем определить последующие полиномы:

  • p 0 ( x ) = 6 {\displaystyle p_{0}(x)=6} .
  • p 1 ( x ) = 6 + 3 ( x 1 ) {\displaystyle p_{1}(x)=6+3(x-1)}
  • p 2 ( x ) = 6 + 3 ( x 1 ) 5 ( x 1 ) ( x 2 ) {\displaystyle p_{2}(x)=6+3(x-1)-5(x-1)(x-2)} .
  • p 3 ( x ) = 6 + 3 ( x 1 ) 5 ( x 1 ) ( x 2 ) + 10 3 ( x 1 ) ( x 2 ) ( x 3 ) {\displaystyle p_{3}(x)=6+3(x-1)-5(x-1)(x-2)+{\frac {10}{3}}(x-1)(x-2)(x-3)}

Смотрите также

Ссылки

  1. ^ Данхэм, Уильям (1990). "7". Путешествие сквозь гениальность: Великие теоремы математики . Kanak Agrawal, Inc. стр. 155–183. ISBN 9780140147391. Получено 24 октября 2019 г. .
  2. ^ Эпперсон, Джеймс Ф. (2013). Введение в численные методы и анализ (2-е изд.). Хобокен, Нью-Джерси: Wiley. ISBN 978-1-118-36759-9.
  3. ^ Берден, Ричард Л.; Фейрес, Дж. Дуглас (2011). Числовой анализ (9-е изд.). Cengage Learning. стр. 129. ISBN 9780538733519.
  4. ^ Хэмминг, Ричард В. (1986). Численные методы для ученых и инженеров (Несокращенный пересказ 2-го изд. (1973) ред.). Нью-Йорк: Довер. ISBN 978-0-486-65241-2.
  5. ^ Стетеклух, Джефф. «Алгоритм для ньютоновской формы интерполяционного многочлена».
  • Модуль для полинома Ньютона Джона Х. Мэтьюза
Retrieved from "https://en.wikipedia.org/w/index.php?title=Newton_polynomial&oldid=1189644821"