Вычисление значений функции с помощью интерполяционного полинома Лагранжа, страница 7

Лабораторная работа № 2.10. Интерполяция сплайнами

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

Оборудование и программное обеспечение: Персональный компьютер под управлением операционной системы семейства Windows, пакет Microsoft Office, интегрированная среда программирования Turbo C.

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

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

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

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

 .

(4.10.1)

Функцию j(x) и будем использовать для аппроксимации зависимости f(x), заданной в узлах x0, x1, ¼, xn следующими значениями f0, f1, ¼, fn соответственно.

Если в качестве функции j(x) брать полином, то, учитывая соотношение (4.10.1), следует, что степень полинома должна быть не выше третьей. Полином называется кубическим сплайном, если на интервале xÎ[xi-1, xi] записывается в виде

 ,

(4.10.2)

где ai, bi, ci и di – коэффициенты сплайна, i=1, 2, ¼, n – номер полинома.

В отличие от интерполяции Лагранжа, когда вся аппроксимируемая зависимость описывается одним полиномом, при сплайновой аппроксимации на каждом i-ом интервале [xi-1, xi] строится отдельный полином третьей степени (4.10.2) со своими коэффициентами.

Значение коэффициентов сплайнов определяется из дополнительных условий сшивания соседних полиномов (сплайнов) в узловых точках:

1) равенство значений сплайнов j(x) и аппроксимируемой функции f(x) в узлах – условия Лагранжа

  ,    ;

(4.10.3)

2) непрерывность первой и второй производных от сплайнов в узлах

  ,

(4.10.4)

  .

(4.10.5)

Кроме перечисленных условий необходимо задать недостающие условия на концах, т. е. в точках x0 и xn. В общем случае эти условия зависят от конкретной задачи. Довольно часто используются условия свободных концов сплайнов, которые соответствуют тому, что линейка не закреплена в точках вне интервала [x0, xn]. если реализуется такая ситуация, то там она описывается уравнением прямой, т. е. полиномом первой степени. Следовательно, исходя из условий (4.10.5) непрерывности вторых производных сплайнов на концах интервала, имеем соотношения

  ,

(4.10.6)

  .

(4.10.7)

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

Вычисление коэффициентов кубического сплайна. Коэффициенты кубического сплайна находятся из условий (4.10.3) – (4.10.7). Условия (4.10.4) в узлах xi-1 и xi после подстановки i-го полинома принимают вид