Скачать презентацию Интерполяционный метод Лагранжа. Сплайн-интерполяция.  Интерполяционный метод Лагранжа. Скачать презентацию Интерполяционный метод Лагранжа. Сплайн-интерполяция. Интерполяционный метод Лагранжа.

Интерполяционный метод Лагранжа.ppt

  • Количество слайдов: 19

Интерполяционный метод Лагранжа. Сплайн-интерполяция. Интерполяционный метод Лагранжа. Сплайн-интерполяция.

Интерполяционный метод Лагранжа. Пусть известны значения некоторой функции f в n+1 различных точках х0, Интерполяционный метод Лагранжа. Пусть известны значения некоторой функции f в n+1 различных точках х0, х1, …, xn, которые обозначим следующим образом: Fi=f(xi), i=0, 1, …, n. n Например, эти значения получены из эксперимента или найдены с помощью достаточно сложных вычислений. Возникает задача приближенного восстановления функции f в произвольной точке х. Часто для решения этой задачи строится алгебраический многочлен Ln(x) степени n, который в точках xi, принимает заданные значения, т. е. Ln(xi)=fi, i=0, 1, …, n (1) И называется интерполяционным. Точки xi, i=0, 1, …, n, называются узлами интерполяции. n

Для удобства изложения под многочленом степени n мы будем подразумевать многочлен степени не выше Для удобства изложения под многочленом степени n мы будем подразумевать многочлен степени не выше n. Например, если fi=0, 1, …, n, то интерполяционный многочлен Ln(x)==0, фактически имеет нулевую степень, но его тоже будем называть интерполяционным многочленом n-ой степени. Приближенное восстановление функции f по формуле F(x)~Ln(x) (2) Называется интерполяцией функции f ( с помощью алгебраического многочлена). Если х расположен вне минимального отрезка, содержащего все узлы интерполяции х0, х1, …, xn, то замену функции f по формуле (2) называют так же интерполяцией. n

Выясним вопрос существования и единственности интерполяционного многочлена. n Теорема 1. Существует единственный интерполяционный многочлен Выясним вопрос существования и единственности интерполяционного многочлена. n Теорема 1. Существует единственный интерполяционный многочлен n-ой степени, удовлетворяющий условиям (1) Доказательство. Существование интерполяционного многочлена установим непосредственно, выписав его. Пусть n=1, тогда L 1(x)=x-x 1/x 0 -x 1*f 0+x-x 0/x 1 -x 0*f 1 (1) При n=2 L 2(x)=(x-x 1)(x-x 2)/(x 0 -x 1)(x 0 -x 2)*f 1+(x-x 0)(x-x 2)/(x 1 -x 0)(x 1 -x 2)*f 1+(x-x 0)(x-x 1)/(x 2 -x 0)(x 2 -x 1)*f 2 (4) И, наконец, в общем случае при любом натуральном n L. n (x)= (5)

Где pni(x)= (x-x 0)…(x-xi-1)(x-xi+1)…(xxn)/(xi-x 0)…(xi-xi-1)(xi-xi+1)…(xi-xn), i=0, 1, …, n. (6) Действительно, выражение (3) представляет Где pni(x)= (x-x 0)…(x-xi-1)(x-xi+1)…(xxn)/(xi-x 0)…(xi-xi-1)(xi-xi+1)…(xi-xn), i=0, 1, …, n. (6) Действительно, выражение (3) представляет собой линейную функцию, т. е. многочлен первой степени, причем L 1(x 0)=f 0, L 1(x 1)=f 1. Таким образом, требования (1) при n=1 выполнены. Аналогично, формула (4), задает некоторый многочлен L 2(x) второй степени, удовлетворяющий при n=2 условиям (1). При произвольном натуральном n функции (6), выражающиеся в виде дроби, в числители которой стоит произведение n линейных множителей, а в знаменателе - некоторое отличное от нуля число, являются алгебраическими многочленами степени n. Следовательно, функция (5) тоже является алгебраическим многочленом степени n, причем, поскольку pni(xi)=1, а pni(xj)=0 при j не равным i, 0<=j<=n, выполнены требования (1).

Остается доказать единственность интерполяционного многочлена. Допустим, что кроме интерполяционного многочлена (5) имеется еще некоторый Остается доказать единственность интерполяционного многочлена. Допустим, что кроме интерполяционного многочлена (5) имеется еще некоторый алгебраический многочлен Ln(x) n-ой степени, удовлетворяющий условиям Ln(xi)=fi, i=0, 1, …, n. (7) Тогда согласно (1) и (7) Ln(xi)-Ln(xi)=0, i=0, 1, …, n. (8) Эта разность имеет не более n корней, что противоречит равенствам (8), число которых равно n+1. Следовательно, Ln(x)~Ln(x). Что и требовалось доказать. Интерполяционный многочлен, представленный в виде (5), называется Интерполяционным многочленом Лагранжа, а функции (многочлены)(6)лагранжевыми коэффициентами. n

n n Рассмотрим пример: Нужно построить интерполяционный многочлен Лагранжа по следующим данным: i 0 n n Рассмотрим пример: Нужно построить интерполяционный многочлен Лагранжа по следующим данным: i 0 1 2 3 xi 0 2 3 5 fi 1 3 2 5 n Решение: Согласно (5) при n=3 имеем: n L 3(x)=(x-2)(x-3)(x-5)/(0 -2)(0 -3)(0 -5)*1+x(x-3)(x 5)/2(2 -3)(2 -5)*3+x(x-2)(x-5)/3(3 -2)(3 -5)*2+x(x 2)(x-3)/5(5 -2)(5 -3)*5=1+62/15*x 13/6*x^2_3/10*x^3

Сплайн-интерполяция. n n n Пусть отрезок [a, b]разбит на N равных частичных отрезков [xi, Сплайн-интерполяция. n n n Пусть отрезок [a, b]разбит на N равных частичных отрезков [xi, xi+1], где xi=a+ih, i=0, 1…, N-1, x. N=b, h=(b-a)/N. Сплайном называется функция, которая вместе с несколькими производными непрерывна на всем заданном отрезке, а на каждом частичном отрезке [xi, xi+1] в отдельности является некоторым алгебраическим многочленом. Максимальная по всем частичным отрезкам степень многочленов называется степенью сплайна, а разность между степенью сплайна и порядком наивысшей непрерывной на отрезке производнойдефектом сплайна.

n n n Например, непрерывная кусочно линейная функция( ломаная) является сплайном первой степени с n n n Например, непрерывная кусочно линейная функция( ломаная) является сплайном первой степени с дефектом, равным единицы, так как непрерывна только сама функция (нулевая производная), а первая производная уже разрывна. На практике более широкое распространение получили сплайны третьей степени, имеющие на отрезке непрерывную, по крайней мере, первую производную. Эти сплайны называются кубическими и обозначаются через S 3(x). Величина mi=S 3’(xi) называется наклоном сплайна в точке (узле) xi. Нетрудно убедиться, что кубический сплайн S 3(x), принимающий в узлах xi, xi+1 соответственно значения fi, fi+1, имеет на частичном отрезке [xi, xi+1] вид: (1)

n n n Можно доказать, что любой алгебраический многочлен третьей степени, принимающий в точках n n n Можно доказать, что любой алгебраический многочлен третьей степени, принимающий в точках xi, xi+1 значения, равные соответственно fi, fi+1, и имеющий в этих точках производную, соответственно равную mi, mi+1, тождественно совпадает с многочленом (1). Итак, чтобы задать кубический сплайн S 3(x), на всем отрезке, нужно задать в N+1 узлах xi его значения fi и наклоны mi, i=0, 1, …, N. Сплайны используются для различных целей. Кубический сплайн, принимающий в узлах xi те же значения fi, что и некоторая функция f, называется интерполяционным. Он служит для аппроксимации f на отрезке [a, b] вместе с несколькими производными.

n Способы задания наклонов интерполяционного кубического сплайна. n 1. (упрощенный способ). Полагаем (2) (3) n Способы задания наклонов интерполяционного кубического сплайна. n 1. (упрощенный способ). Полагаем (2) (3) Заметим, что формулы (2) и (3) являются формулами численного дифференцирования второго порядка точности относительно шага h=(b-a)/N.

n n 2. Если известны значения fi’, i=0, 1, …, N. Способы 1, 2 n n 2. Если известны значения fi’, i=0, 1, …, N. Способы 1, 2 называются локальными, поскольку с их помощью на каждом частичном отрезке [xi, xi+1] сплайн строится отдельно(непосредственно по формуле(1)). При этом тем не менее соблюдается непрерывность в узлах xi производной S 3’(x). Непрерывность же второй производной S 3’’(x) в узлах сплайна, построенного локальным способом 1 или 2, не гарантируется. Поэтому дефект такого сплайна обычно равен двум.

3. (глобальный способ). Обозначим через S 3’’(xi+0) значение S 3’’(x) в узле xi справа, 3. (глобальный способ). Обозначим через S 3’’(xi+0) значение S 3’’(x) в узле xi справа, а через S 3’’(xi-0) значение S 3’’(x) в узле xi слева, то есть найденное из соответствующего выражения S 3(х) на частичном отрезке [xi-1, xi], которое получается из (1) заменой i на i-1. Имеем S 3’’(xi+0)=-4 mi/h-2 mi+1/h+6*fi+1 -fi/h^2 S 3’’(xi-0)=2 mi-1/h+4 mi/h-6*fi-fi-1/h^2 Требуем непрерывность S’’(x) в узлах: S 3’’(xi-0)=S 3’’(xi+0), i=1, 2, …, N-1, и приходим к следующей системе линейных алгебраических уравнений относительно наклонов: mi-1+4 mi+mi+1=3(fi+1 -fi-1)/h, i=1, 2, …, N-1 (4) n Поскольку неизвестных N+1, то нужно задать еще два условия, которые называются краевыми ( они обычно связаны с «крайними» значениями m 0, m. N). n

n n Дадим три варианта краевых условий. А)Если известны f 0’=f’(a), f. N’=f’(b), то n n Дадим три варианта краевых условий. А)Если известны f 0’=f’(a), f. N’=f’(b), то задаем m 0=f 0’, m. N=f. N’. (5) n Б)Производные F 0’, f. N’ аппроксимируем формулами численного дифференцирования третьего порядка точности, полученными отбрасыванием остаточных членов, и полагаем: m 0=1/6 h(-11 f 0+18 f 1 -9 f 2+2 f 3), m. N=1/6 h(11 f. N-18 f. N-1+9 f. N-2 -2 f. N-3) (6) n В) В некоторых случаях бывают известны значения f’’ на концах отрезка, т. е. величины f 0’’=f’’(a), f. N’’=f’’(b). Тогда требования S 3’’(a)=f 0’’, S 3’’(b)=f. N’’ приводят к краевым условиям: n m 0=-m 1/2+3/2*f 1 -f 0/h-h/4*f 0’’, n m. N=-m. N-1/2+3/2*f. N-1/h+h/4*f. N’’ (7)

n n n Краевые условия (5) – (7) можно комбинировать, т. е. в левом n n n Краевые условия (5) – (7) можно комбинировать, т. е. в левом и правом крайних узлах выбирать их независимо. Система (4) при всех рассмотренных краевых условиях имеет единственное решение, для нахождения которого могут быть применены методы прогонки и итераций. Решая систему (4) при выбранных краевых условиях, находим наклоны mi, i=0, 1, …, N, во всех узлах. Затем по формуле (1) задаем сплайн на каждом частичном отрезке [xi, xi+1], i= 0, 1, …, N 1. Построенный данным глобальным способом сплайн S 3(x) имеет дефект не больше единицы, так как этот сплайн обладает на отрезке [a, b] непрерывной второй производной S 3’’(x).

n n n Погрешность приближения сплайном. Кубический интерполяционный сплайн достаточно хорошо приближает гладкие функции n n n Погрешность приближения сплайном. Кубический интерполяционный сплайн достаточно хорошо приближает гладкие функции вместе с несколькими производными, о чем свидетельствует следующая теорема: Теорема 1. Если f Є Ck+1[a, b], 0<=k<=3, то интерполяционный сплайн S 3(x) с наклонами, заданными способом 2 и 3, удовлетворяет неравенству: Где i=0, 1, …, N-1, m=0, 1, …, k, c- независящая от h, I, f постоянная. Таким образом, если f Є C 4[a, b], т. е. к=3, и наклоны сплайна S 3(x)найдены глобальным способом, то на [a, b] максимальное по модулю уклонения S 3(x) от f(x), S 3’(x) от f’(x) и S 3’’(x) от f’’(x). Сплайны являются более удобным средством аппроксимации функций на больших промежутках (при больших Т), чем, скажем, интерполяционные многочлены.

n n Разбиение заданного отрезка [a, b] на несколько частей с построением на каждой n n Разбиение заданного отрезка [a, b] на несколько частей с построением на каждой части самостоятельного интерполяционного многочлена неудобно тем, что на стыках будет терпеть разрыв первая производная двух соседних интерполяционных многочленов. Возможно, даже не совпадут на стыке сами значения интерполяционных многочленов, если точка стыка не является их общим узлом. Кубический же сплайн, наклоны которого найдены глобальным способом, дважды непрерывно дифференцируем на всем отрезке, т. е. имеет непрерывную кривизну. Точность аппроксимации функции f сплайном S 3(x) управляется выбором N, т. е. шагом h=(b-a)/N.

n n n n n n n МЕТОД ЛАГРАНЖА xi=[0. 115 0. 125 0. n n n n n n n МЕТОД ЛАГРАНЖА xi=[0. 115 0. 125 0. 135 0. 145 0. 155 0. 165]; yi=[8. 6573 7. 9583 7. 3624 6. 8482 6. 3999 6. 0055]; plot(xi, yi, '*'), grid on, hold on; x 2=0. 115: 0. 005: 0. 165; for k=1: 1: 11; S(k)=0; n=6; for j=1: 1: n; H=1; for i=1: 1: n; if i~=j; H=H*(x 2(k)-xi(i))/(xi(j)-xi(i)); end S(k)=S(k)+yi(j)*H; end plot(x 2, S, '^'), grid on; set(gca, 'Fontname', 'Arial Cyr', 'Font. Size', 16); СПЛАЙН-ИНТЕРПОЛЯЦИЯ x=[0. 115 0. 125 0. 135 0. 145 0. 155 0. 165]; y=[8. 6573 7. 9583 7. 3624 6. 8482 6. 3999 6. 0055]; x 1=0. 115: 0. 005: 0. 165; y 2=spline(x, y, x 1); plot(x, y, '*', x 1, y 2, x, y), grid on set(gca, 'Fontname', 'Arial Cyr', 'Font. Size', 16);

n Метод Лагранжа n Сплайн-интерполяция n Метод Лагранжа n Сплайн-интерполяция