Главная страница
Навигация по странице:

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

  • 5.3. Интерполяционный полином Ньютона для равноотстоящих узлов

  • 5.3.1. Конечные разности

  • 5.3.2. Первая интерполяционная формула Ньютона

  • 5.3.3. Вторая интерполяционная формула Ньютона

  • 5.4. Погрешность интерполяции

  • 5.5. Сплайн-интерполяция

  • ЛЕКЦИЯ № 2. ИНТЕРПОЛИРОВАНИЕ ФУНКЦИЙ. Лекция интерполирование функций план Постановка задачи Интерполяционный полином Лагранжа


    Скачать 7.76 Mb.
    НазваниеЛекция интерполирование функций план Постановка задачи Интерполяционный полином Лагранжа
    АнкорЛЕКЦИЯ № 2. ИНТЕРПОЛИРОВАНИЕ ФУНКЦИЙ.doc
    Дата15.02.2017
    Размер7.76 Mb.
    Формат файлаdoc
    Имя файлаЛЕКЦИЯ № 2. ИНТЕРПОЛИРОВАНИЕ ФУНКЦИЙ.doc
    ТипЛекция
    #2709

    ЛЕКЦИЯ № 2. ИНТЕРПОЛИРОВАНИЕ ФУНКЦИЙ

    План


    5.1. Постановка задачи

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

    5.3. Интерполяционный полином Ньютона для равноотстоящих узлов

    5.3.1. Конечные разности

    5.3.2. Первый интерполяционный полином Ньютона

    5.3.3. Второй интерполяционный полином Ньютона

    5.4. Погрешность метода многочленной интерполяции

    5.5. Сплайн-интерполяция
    5.1. Постановка задачи
    Пусть известные значения некоторой функции f(x) образуют следующую таблицу:

    Таблица 5.1


    x

    x0

    x1



    xn

    f(x)

    y0

    y1



    yn
    Требуется получить значение функции f(x) для значения аргумента xx0,xn, несовпадающего ни с одним из значений хi (i = 0, 1,.., n).

    Решение задачи находится отысканием некоторой приближающей функции F(x), близкой в некотором смысле к функции f(x), для которой известно аналитическое выражение.

    Классический подход к решению задачи построения приближающей функции основан на требовании строгого совпадения значений функций f(xF(x) в точках


    . (5.1)

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

    Будем искать интерполирующую функцию F(x) в виде многочлена степени n:

    . (5.2)

    Условия (5.1), наложенные на многочлен, позволяют однозначно определить его коэффициенты. Действительно, требуя для выполнения условий (5.1), получаем линейную систему, состоящую из уравнения:

    . (5.3)

    Решив систему (5.3) относительно неизвестных , находим значения этих неизвестных и, подставив в (5.2), находим аналитическое выражение аппроксимирующей функции.

    Система (5.4) всегда имеет единственное решение, т. к. ее определитель

    , (5.4)

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

    Следовательно, интерполяционный многочлен существует и единственен.

    Документ пакета MathCAD, содержащий решение задачи интерполяции полиномом n-ой степени, состоит из следующих блоков.

    1. Задание табличных значений интерполируемой функции







    2. Визуализация табличной зависимости и истинных значений функции (рис. 5.1)



    Рис. 5.1

    3. Задание функции, возвращающей значения полинома (5.2)



    4. Задание функции, возвращающей значения элементов матрицы Вандермонда



    5. Вычисление значений элементов матрицы Вандермонда



    6. Вычисление коэффициентов полинома



    7. Построение разности между точным и интерполированными значениями функции (рис. 5.2)



    Рис. 5.2. Погрешность аппроксимации функции sin(x)

    полиномом 8-й степени
    5.2. Интерполяционный полином Лагранжа
    Для функции, заданной табл. 5.1, построим интерполяционный многочлен , степень которого не выше n и выполнены условия (5.1).

    Будем искать в виде

    , (5.5)

    где  многочлен степени n, причем

    . (5.6)

    Очевидно, что требование (5.6) с учетом (5.5) обеспечивают выполнение условий (5.1).

    Многочлены составим следующим способом:

    , (5.7)

    где  постоянный коэффициент, значение которого находится из первой части условия (5.6):

    . (5.8)

    Подставив в (5.7) и далее в (5.5), окончательно получим:

    . (5.9)

    Формула (5.9) окончательно решает поставленную задачу.

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

    1. Задание табличных значений интерполируемой функции






    2. Задание функции, возвращающей значение многочлена (рис. 5.3)



    Рис. 5.3. Функция, возвращающая значение многочлена . Аргументы функции: x координата точки; i  номер многочлена; X  вектор, содержащий координаты узловых точек; Y  вектор, содержащий значения интерполируемой функции в узловых точках

    3. Задание функции, возвращающей значения полинома Лагранжа



    4. Построение разности между точными и интерполированными значениями функции (рис. 5.3)


    Рис. 5.3. Погрешность аппроксимации функции sin(x) полиномом

    Лагранжа
    5.3. Интерполяционный полином Ньютона для равноотстоящих

    узлов
    Интерполяционные формулы Ньютона строятся для функций, заданных таблицами с равноотстоящими значениями аргумента h:

    . (5.10)
    5.3.1. Конечные разности
    Для функции, заданной табл. 5.1 с постоянным шагом (5.10), определим разности между значениями функции в соседних узлах интерполяции:

    , (5.11)

    называемые конечными разностями первого порядка.

    Из конечных разностей первого порядка можно образовать конечные разности второго порядка:

    . (5.12)

    Аналогично получают выражение для конечных разностей третьего порядка:



    . (5.13)

    Методом математической индукции можно доказать, что

    . (5.14)
    5.3.2. Первая интерполяционная формула Ньютона
    Будем искать интерполяционный полином в виде:

    . (5.15)

    Значения коэффициентов найдем из условия совпадения значений исходной функции и многочлена в узлах. Полагая , из (5.15) найдем , откуда . Далее последовательно придавая х значения и , получаем:



    откуда ;

    ,

    т. е.

    ,

    или

    ,

    откуда

    .

    Затем, проведя аналогичные выкладки, можно получить

    .

    В общем случае выражение для будет иметь вид

    . (5.16)

    Подставляя (5.16) в выражение для многочлена (5.15), получаем



    (5.17)

    Функция пакета MathCAD, возвращающая значения первого интерполяционного полинома Ньютона, представлена на рис. 5.4.




    Рис. 5.4. Функция, возвращающая значения первого интерполяционного полинома Ньютона. Аргументы функции: t координата точки; x вектор, содержащий координаты узловых точек; y вектор, содержащий значения интерполируемой функции в узловых точках

    При ручных вычислениях формула (5.17) применяется несколько в ином виде. Положим , т.е. , тогда:

    ,

    ,



    .

    Подставляя данные выражения в (5.17), окончательно получаем:

    .

    . (5.18)

    Формула (5.18) называется первой интерполяционной формулой Ньютона. Данная формула применяется для интегрирования в начале отрезка, когда t мало по абсолютной величине.
    5.3.3. Вторая интерполяционная формула Ньютона
    Когда значение аргумента находится ближе к концу отрезка интерполяции, используется вторая интерполяционная формула Ньютона, которая получается, если отыскивать интерполяционный полином в виде:

    (5.19)

    Коэффициенты полинома (5.19), находятся из условия совпадения значений функции и интерполяционного многочлена в узлах:

    . (5.20)

    Функция пакета MathCAD, возвращающая значения второго интерполяционного полинома Ньютона, представлена на рис. 5.5.



    Рис. 5.5. Функция, возвращающая значения второго интерполяционного полинома Ньютона. Аргументы функции: t  координата точке; x  вектор, содержащий координаты узловых точек; y  вектор, содержащий значения интерполируемой функции в узловых точках

    Подставив (5.20) в (5.19) и перейдя к переменной , получим окончательный вид интерполяционной формулы Ньютона, используемой при ручных вычислениях:

    . (5.21)
    5.4. Погрешность интерполяции
    Погрешность интерполяции полиномом Лагранжа оценивается по формуле:

    , (5.22)

    где

    , (5.23)

    . (5.24)

    Погрешность интерполяции полиномом Ньютона оценивается по формулам:

    , (5.25)

    . (5.26)
    5.5. Сплайн-интерполяция
    При большом количестве узлов интерполяции приходится использовать интерполяционные полиномы высокой степени, что создает определенные неудобства при вычислениях. Можно избежать высокой степени интерполяционного многочлена, разбив отрезок интерполяции на несколько частей с построением на каждой части самостоятельного интерполяционного многочлена. Однако такое интерполирование обладает существенным недостатком: в точках сшивки разных интерполяционных полиномов будет разрывной их первая производная, поэтому для решения задачи кусочно-линейной интерполяции используют особый вид кусочно-полиномиальной интерполяции  сплайн-интерполяцию.

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

    Пусть интерполируемая функция f(x) задана своими значениями в узлах , . Обозначим длину частичного отрезка . Будем искать кубический сплайн на каждом из частичных отрезков в виде:

    , (5.27)

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

    Потребуем совпадения значений в узлах с табличными значениями функции :

    , (5.28)

    . (5.29)

    Число этих уравнений (2n) в два раза меньше числа неизвестных коэффициентов. Для того чтобы получить дополнительные условия, потребуем также непрерывности первой и второй производных сплайна во всех точках, включая узлы. Для этого следует приравнять левые и правые производные , , , во внутреннем узле .

    Вычислив выражения для производных , последовательным дифференцированием (5.27):

    , (5.30)

    , (5.31)

    найдем правые и левые производные в узле:

    ,

    ,

    где .

    Аналогично поступаем для второй производной:

    ,

    .

    Приравняв левые и правые производные, получаем:

    , (5.32)

    , (5.33)

    где .

    Уравнения (5.32), (5.33) дают еще 2(n1) условий. Для получения недостающих уравнений накладывают требования к поведению сплайна на концах отрезка интерполяции. Если потребовать нулевой кривизны сплайна на концах отрезка интерполяции (т.е. равенство нулю второй производной), то получим:

    , (5.34)

    Исключив из уравнений (5.28)(5.33) n неизвестных , получаем систему уравнений:

    (5.35)

    где .

    Система (5.35) состоит из 3n уравнений. Решив систему (5.35), получаем значения неизвестных , определяющих совокупность всех формул для искомого интерполяционного сплайна

    (5.36)

    где .

    Программа, реализующая метод сплайн-интерполяции оказывается достаточно громоздкой, поэтому мы ограничимся обсуждением решения задачи об интерполяции синуса с помощью сплайнов, используя функции пакета MathCAD: interp(VS,x,y,z), lspline(x,y),pspline(x,y),cspline(x,y).

    Документ пакета MathCAD, содержащий решение задачи сплайн-интерполяции, состоит из следующих блоков.

    1. Задание табличных значений интерполируемой функции







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







    3. Задание дискретной сетки для вычисления значений сплайнов

    Np := 1000 i := 0 .. Np Xi := Np

    4. Вычисление значений сплайнов в узлах сетки

    Y1i := interp(vs1, x, y, Xi)

    Y2i := interp(vs2, x, y, Xi)

    Y3i := interp(vs3, x, y, Xi)
    5. Визуализация сплайнов (рис. 5.6)

    6. Построение разности между сплайнами различного типа в узлах координатной сетки (рис. 5.7)

    7. Вычисление значений первых производных сплайнов






    Рис. 5.6



    Рис. 5.7

    8. Построение графиков первых производных сплайнов (рис. 5.8)

    9. Вычисление значений вторых производных сплайнов











    Рис. 5.8


    Рис. 5.9

    9. Построение графиков вторых производных сплайнов (рис. 5.9)

    10. Вычисление значений третьих производных сплайнов




    11. Построение графиков третьих производных сплайнов (рис. 5.10)



    Рис. 5.10

    Как видно из рис. 5.85.10, первая и вторая производные сплайнов являются непрерывными функциями, третья и производные более высокого порядка  разрывными функциями.


    написать администратору сайта