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

Кусочно-линейная интерполяция

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

. (7.5)

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

, где – целая часть аргумента x.

________________________________________________________________________________

Пример: Вычислить F(x), зная значения F(xi) и F(xi+1), используя формулу для кусочно-линейной интерполяции.

Вид функции x xi F(xi) xi+1 F(xi+1)
sin(x)+cos(x) 3.6 -0.849 -1.410

Рассмотрим решение для функции f(x) = sin(x)+cos(x).

Имеем: x=3.6, xi=3, xi+1=4, f(xi)=-0.849, f(xi+1)=-1.410

В общем виде формула для кусочно-линейной интерполяции имеет вид:

 

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

Если рассчитать точное значение с помощью калькулятора, то получим . Точное аналитическое решение и решение, полученное интерполяцией, отличаются в точке x=3.6 на . То есть относительная ошибка составляет

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

___________________________________________________________________________________

В Mathcad.е имеется встроенная функция, специально предназначенная для такого вида интерполяции . linterp(vx, vy, x) .линейная интерполяция. Аргументами этой функции являются два вектора vxи vy, содержащие исходные данные и независимая переменная x.

Пример использования функции linterp:

 

3.2. Кусочно-квадратичная интерполяция. Если рассмотреть интервал, содержащий три узловых точки, например, , и , то аналогично можно построить интерполяционный полином второй степени, т.е. параболу (для случая равноотстоящих узлов ):

. (7.6)

Существенным недостатком кусочной интерполяции является то, что в точках стыка разных интерполяционных полиномов оказывается разрывной их первая производная. Этот недостаток устраняется при использовании особого вида многоинтервальной интерполяции – интерполяции сплайнами (англ. spline – рейка, линейка).

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

На интервале кубический сплайн можно представить в следующем виде

, (7.7)

где – коэффициенты сплайнов; – номер сплайна (интервала).

Для определения коэффициентов сплайнов на всех n элементарных отрезках необходимо получить 4n уравнений. Часть из них вытекает из так называемых условий сшивания соседних сплайнов в узловых точках:

1) равенство значений сплайнов и аппроксимируемой функции в узлах – условия Лагранжа, т.е. , . Эти условия можно записать в виде:

, ,

. (7.8)

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

, , (7.9)

Подставляя выражение (7.13) в (7.15) получаем уравнений

, . (7.10)

Недостающие два уравнения можно получить из условия закрепления концов сплайна. Если потребовать нулевой кривизны сплайна в граничных точках и , то дополнительными условиями будут являться равенства нулю вторых производных сплайнов на концах интервала интерполяции: , . (7. 11)

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

Подстановка выражения (7.13) в (7.11) дает , . (7.12)

Соотношения (7.8), (7.10) и (7.12) дают полную систему из 4n линейных алгебраических уравнений относительно коэффициентов сплайнов . На практике эту систему преобразуют к виду с трехдиагональной матрицей и решают методом прогонки. Подробное рассмотрение этих вопросов выходят за рамки данного пособия.

Интерполяция сплайнами имеет очень простое и наглядное физико-механическое обоснование. Если попытаться совместить упругую металлическую линейку (или тонкий стержень) с узловыми точками, то форма, которую примет в этом случае линейка между соседними узлами будет совпадать с графиком кубического сплайна (сплошная линия на рисунке). С физической точки зрения линейка принимает форму, при которой оказывается минимальной её потенциальная энергия. Из курса сопротивления материалов известно, что при этом форма линейки будет описываться уравнением вида . Откуда следует, что между каждой парой соседних узлов функция является полиномом степени не выше третьей. Вне узловых точек, где линейка свободна, она описывается уравнением прямой. Соответствующее поведение сплайна обеспечивается условием (3.11), в связи с чем, его иногда называют “условием свободных концов сплайнов”. Если к свободным концам линейки подвесить небольшие грузы, то линейка деформируется (пунктирная линия на рисунке) и ее поведение вне узловых точек может быть описано, например, уравнением параболы. В этом случае условия (3.11) будут совершенно иными (“условия нагруженных сплайнов”).

Mathcad содержит в себе четыре функции, обеспечивающие интерполяцию кубическими сплайнами: