Численные методы интерполяция функций кубический сплайн. Кубический интерполяционный сплайн

2.2 Интерполяция с помощью кубического сплайна

Кубическим интерполяционным сплайном, соответствующим данной функции f(x) и данным узлам x i , называется функция S(x), удовлетворяющая следующим условиям:

1. На каждом сегменте , i = 1, 2, ..., N функция S(x) является полиномом третьей степени,

2. Функция S(x), а также ее первая и вторая производные непрерывны на отрезке ,

3. S(x i) = f(x i), i = 0, 1, ..., N.

На каждом из отрезков , i = 1, 2, ..., N будем искать функцию S(x) = S i (x) в виде полинома третьей степени:

S i (x) = a i + b i (x - x i - 1) + c i (x - x i - 1) 2 + d i (x - 1) 3 ,

x i - 1 Ј x Ј x i ,

где a i , b i , c i , d i - коэффициенты, подлежащие определению на всех n элементарных отрезках. Чтобы система алгебраических уравнений имела решение, нужно, чтобы число уравнений точно равнялось числу неизвестных. Поэтому мы должны получить 4n уравнения.

Первые 2n уравнения мы получим из условия, что график функции S(x) должен проходить через заданные точки, т. е.

S i (x i - 1) = y i - 1 , S i (x i) = y i .

Эти условия можно записать в виде:

S i (x i - 1) = a i = y i - 1 ,

S i (x i) = a i + b i h i + c i h + d i h = y i ,

h i = x i - x i - 1 , i = 1, 2, ..., n.

Следующие 2n - 2 уравнения вытекают из условия непрерывности первых и вторых производных в узлах интерполяции, т. е. условия гладкости кривой во всех точках.

S i + 1 (x i) = S i (x i), i = 1, ..., n - 1,

S i (x) = b i + 2 c i (x - x i - 1) + 3 d i (x - x i - 1),

S i + 1 (x) = b i + 1 + 2 c i + 1 (x - x i) + 3 d i + 1 (x - x i).

Приравнивая в каждом внутреннем узле x = x i значения этих производных, вычисленные в левом и правом от узла интервалах, получаем (с учетом h i = x i - x i - 1):

b i + 1 = b i + 2 h i c i + 3h d i , i = 1, ..., n - 1,

S i (x) = 2 c i + 6 d i (x - x i - 1),

S i + 1 (x) = 2 c i + 1 + 6 d i + 1 (x - x i),

если x = x i

c i + 1 = c i + 3 h i d i , i = 1,2, ..., n - 1.

На данном этапе мы имеем 4n неизвестных и 4n - 2 уравнений. Следовательно, необходимо найти еще два уравнения.

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

S 1 (x 0) = 0 и S n (x n) = 0,

c i = 0 и 2 c n + 6 d n h n = 0.

Уравнения составляют систему линейных алгебраических уравнений для определения 4n коэффициентов: a i , b i , c i , d i (i = 1, 2, . . ., n).

Эту систему можно привести к более удобному виду. Из условия сразу можно найти все коэффициенты a i .

i = 1, 2, ..., n - 1,

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

b i = - (c i + 1 + 2c i) , i = 1,2, ..., n - 1,

b n = - (h n c n)

Исключаем из уравнения коэффициенты b i и d i . Окончательно получим следующую систему уравнений только для коэффициентов с i:

c 1 = 0 и c n + 1 = 0:

h i - 1 c i - 1 + 2 (h i - 1 + h i) c i + h i c i + 1 = 3 ,

i = 2, 3, ..., n.

По найденным коэффициентам с i легко вычислить d i ,b i .

Вычисление интегралов методом Монте-Карло

В данном программном продукте реализована возможность задавать дополнительные ограничения области интегрирования двумя двумерными сплайн - поверхностями (для подынтегральной функции размерности 3)...

Интерполирование функций

Пусть задана таблица значений функции f(xi) = yi (), в которой они расположены по возрастанию значений аргумента: x0 < x1 < … < xn. Чтобы построить кубический сплайн, требуется определить коэффициенты ai0, ai1, ai2, ai3...

Интерполяция сплайнами

Интерполяция сплайнами

Интерполяция сплайнами

Познакомимся с алгоритмом работы программы. 1. Вычисляем значения и 2. На основе этих значений считаем коэффициенты прогонки и о. 3. На основе полученных данных высчитываем коэффициенты 4...

Математическое моделирование технических объектов

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

Методы аппроксимации функций

На каждом отрезке интерполяционный многочлен равен константе, а именно левому или правому значению функции. Для левой кусочно-линейной интерполяции F(x)= fi-1, если xi-1 ?x

Методы аппроксимации функций

На каждом интервале функция является линейной Fi(x)=kix+li. Значения коэффициентов находятся из выполнения условий интерполяции в концах отрезка: Fi(xi-1)=fi-1, Fi(xi-1)=fi . Получаем систему уравнений: kixi-1+ li= fi-1, kixi+ li= fi , откуда находим ki=li= fi- kixi...

Методы решения системы линейных уравнений. Интерполяция

Постановка задачи интерполяции. На интервале задана система точек (узлы интерполяции) xi, i=0,1,…,N; a ? x i ? b, и значения неизвестной функции в этих узлах fn i=0,1,2,…,N. Могут быть поставлены следующие задачи: 1) Построить функцию F (x)...

Построение математической модели, описывающей процесс решения дифференциального уравнения

3.1 Построение интерполяционного многочлена Лагранжа и сгущение значений Очевидный прием решения данной задачи - вычисление значений ѓ(x), воспользовавшись аналитическими значениями функции ѓ. Для этого - по исходной информации...

Если являются степенями {1, х, х2, …, хn}, то говорят об алгебраической интерполяции, а функцию называют интерполяционным полиномом и обозначим как: (4) Если () (5), то можно построить интерполяционный полином степени n и притом только один...

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

Рассмотрим пример интерполяции для элементов множества. Для простоты и краткости возьмем =[-1;1], . Пусть точки и будут разными между собой. Поставим такую задачу: (12) построить многочлен, удовлетворяющий данным условиям...

Применение численных методов для решения математических задач

Численные методы

Итак, как было сказано выше, задачей интерполяции является поиск такого многочлена, график которого проходит через заданные точки. Пусть функция y=f(x) задана с помощью таблицы (табл. 1)...

Численные методы решения математических задач

Свои способности человек может узнать, только попытавшись приложить их. (Сенека)

Интерполяция сплайнами: пример построения сплайна в программе STATISTICA

Структура данных

Пусть нам заданы значения неизвестной функции на некотором наборе точек. (На самом деле, переменная y является значениями функции y= sinx на точках из отрезка .)

Построим по этим данным интерполяционную кривую, воспользуясь программой STATISTICA .

Шаг 1 Выберем 2М Графики - Диаграмма рассеяния в меню Графика.

Шаг 2 Откроем вкладку Дополнительно, выберем в качестве переменных x и y, в качестве подгонки - Сплайны.

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

Изменим количество точек.

Теперь в качестве исходных данных имеем набор из двадцати точек.

Повторяя шаги, описанные выше, получим:

Попробуем также построить сплайн на наборе из пятидесяти точек.

Фрагмент таблицы исходных данных:

Полученный результат:

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

Исходные данные (фрагмент таблицы):

Построенный аналогичным способом график:

Теперь сравним полученные результаты с исходной функцией y= sinx, график которой имеет следующий вид:

Как видим, сплайны довольно точно интерполируют исходную функцию.

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

Реальный пример: Клиническое испытание лекарств

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

Очень важной характеристикой лекарственного препарата является т.н. AUC (Area under the plasma drug concentration-time curve) - площадь под кривой концентрация-время.

Данная кривая отражает фактическое воздействие препарата на организм человека после введения определенной дозы. Величина AUC измеряется в мг · ч / л. Площадь под кривой зависит от скорости выведения препарата из организма и введенной дозы. Общее количество препарата, выведенного из организма, можно подсчитать суммированием или интегрированием количества препарата, выведенного в каждый отдельный момент времени.

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

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

Часто для оценки AUC применяют метод трапеций: площадь под графиком концентрация-время разбивается на трапеции и AUC вычисляется суммированием площадей этих трапеций (что по сути эквивалентно интерполяции линейными функциями).

AUC = AUC0-2+AUC2-4+AUC4-6+AUC6-8+AUC8-10+AUC10-12+AUClast-infinity

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

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

Построим по ним диаграмму рассеяния и интерполируем значения при помощи сплайна в программе STATISTICA .

Как видно из графика, максимальное значение концентрации С pmax = 29,78 мг/л соответствует времени t max = 8 ч. Воспользуемся редактором данных графика и получим значения подгонки:

Рассчитаем по ним описанным выше методом трапеций значение AUC. Получим, AUC = 716,11 мг · ч / л.

Список литературы:

В.П.Боровиков. STATISTICA . Искусство анализа данных на компьютере: для профессионалов (2-е издание), СПб.: Питер, 2003. - 688 с.: ил.

E. A.Волков. Численные методы. Москва, “Наука”, Главная редакция физико-математической литературы, 1987 г.

Пусть задана таблица значений функции y i в узлах х 0 < х 1 < ... < х п .Обозначим h i = x i – x i -1 , i = 1, 2, ... , п .

Сплайн – гладкая кривая, проходящая через задан­ные точки (х i , y i ), i = 0, 1, ... , п . Интерполяция сплай­нами заключается в том, что на каждом отрезке [х i -1 , x i ]используется многочлен определенной степени. Наиболее часто применяется многочлен третьей степени, реже – второй или четвертой. При этом для определения коэффициентов многочленов используются условия непре­рывности производных в узлах интерполяции.

Интерполяция кубическими сплайнами представляет собой локальную интерполяцию, когда на каждом отрез­ке [х i -1 , x i ], i = 1, 2, ... , п применяется кубическая кри­вая, удовлетворяющая некоторым условиям гладкости, а именно, непрерывности самой функции и ее первой и вто­рой производных в узловых точках. Использование куби­ческой функции вызвано следующими соображениями. Если предположить, что интерполяционная кривая соот­ветствует упругой линейке, закрепленной в точках (х i , y i ),то из курса сопротивления материалов известно, что эта кривая определяется как решение дифференциального уравнения f (IV) (x ) = 0 на отрезке [х i -1 , x i ](для простоты из­ложения мы не рассматриваем вопросы, связанные с физи­ческими размерностями). Общим решением такого уравне­ния является многочлен 3-й степени с произвольными коэффициентами, который удобно записать в виде
S i (x ) = а i + b i (х - x i -1) + с i (x - x i -1) 2 + d i (x - x i -1) 3 ,
х i -1 £ х £ х i , i = 1, 2, ... , п .(4.32)

Коэффициенты функций S i (x )определяются из усло­вий непрерывности функции и ее первой и второй произ­водных во внутренних узлах x i , i = 1, 2,..., п - 1.

Из формул (4.32) при х = х i -1 получим

S i (x i- 1) = y i -1 = a i , i = 1, 2,..., п ,(4.33)

а при х = х i

S i (x i ) = а i + b i h i + с i h i 2 + d i h i 3 ,(4.34)

i = 1, 2,..., n .

Условия непрерывности интерполяционной функции записываются в виде S i (x i ) = S i -1 (x i ), i = 1, 2, ... , n - 1 и из условий (4.33) и (4.34) следует, что они выполнимы.

Найдем производные функции S i (x ):

S" i (x ) = b i + 2с i (х - x i -1) + 3di (х x i -1) 2 ,

S" i (x ) = 2c i + 6d i (x - x i -1).

При x = x i -1 , имеем S" i (x i -1) = b i , S" (x i -1) = 2с i , а при х = х i получим

S" i (x i ) = b i + 2с i h i + 3dih i 2 , S" (x i ) = 2с i + 6d i h i .

Условия непрерывности производных приводят к уравнениям

S" i (x i ) = S" i +1 (x i ) Þ b i + 2с i h i + 3dih i 2 = b i +1 ,

i = l, 2,... , п - 1. (4.35)

S" i (x i ) = S" i +1 (x i ) Þ 2с i + 6d i h i = 2c i +1 ,

i = l, 2,..., n - 1. (4.36)

Всего имеем 4n – 2 уравнений для определения 4n не­известных. Чтобы получить еще два уравнения, исполь­зуют дополнительные краевые условия, например, требо­вание нулевой кривизны интерполяционной кривой в концевых точках, т. е. равенства нулю второй производ­ной на концах отрезка [а , b ] а = х 0 , b = х n :

S" 1 (x 0) = 2c 1 = 0 Þ с 1 = 0,

S" n (x n ) = 2с n + 6d n h n = 0 Þ с n + 3d n h n = 0. (4.37)

Систему уравнений (4.33)–(4.37) можно упростить и получить рекуррентные формулы для вычисления коэф­фициентов сплайна.

Из условия (4.33) имеем явные формулы для вычисле­ния коэффициентов a i :

a i = y i -1 , i= 1,..., n . (4.38)

Выразим d i через c i с помощью (4.36), (4.37):

; i = 1, 2,...,n ; .

Положим с n +1 = 0, тогда для d i получим одну формулу:

, i = 1, 2,...,n . (4.39)

Подставим выражения для а i и d i в равенство (4.34):

, i = 1, 2,..., n .

и выразим b i , через с i :

, i = 1, 2,..., n . (4.40)

Исключим из уравнений (4.35) коэффициенты b i и d i с помощью (4.39) и (4.40):

i = 1, 2,..., n -1.

Отсюда получим систему уравнений для определения с i :

Система уравнений (4.41) может быть переписана в виде

Здесь введено обозначение

, i =1, 2,..., n - 1.

Решим систему уравнений (4.42) методом прогонки. Из первого уравнения выразим с 2 через с 3:

c 2 = a 2 c 3 + b 2 , , . (4.43)

Подставим (4.43) во второе уравнение (4.42):

h 2 (a 2 c 3 + b 2) + 2(h 2 + h 3)c 3 + h 3 c 4 = g 2 ,

и выразим с 3 через с 4:

с 3 = a 3 с 4 + b 3 , (4.44)

Предполагая, что с i -1 = a i -1 c i + b i -1 из i -го уравне­ния (4.42) получим

c i = a i с i +1 + b i

, i = 3,..., n – 1, a n = 0, (4.45) c n +1 = 0,

c i = a i с i +1 + b i , i = n , n -1,..., 2, (4.48)

c 1 = 0.

3. Вычисление коэффициентов а i , b i , d i :

a i = y i -1 ,

i = 1, 2,..., n .

4. Вычисление значения функции с помощью сплай­на. Для этого найти такое значение i ,что данное значе­ние переменной х принадлежит отрезку [x i -1 , x i ] и вы­числить

S i (x ) = а i + b i (х - x i -1) + с i (x - x i -1) 2 + d i (x - x i -1) 3 . (4.50)

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

Федеральное государственное автономное образовательное учреждение

высшего профессионального образования

«Уральский федеральный университет имени первого Президента России Б.Н.Ельцина»

Институт радиоэлектроники и информационных технологий - РТФ

Кафедра Автоматика и информационные технологии

Интерполяция сплайнами

МЕТОДИЧЕСКИЕ УКАЗАНИЯ К лабороторной работе ПО ДИСЦИПЛИНЕ «Численные методы»

Составитель И.А.Селиванова, ст.преподаватель.

ИНТЕРПОЛЯЦИЯ СПЛАЙНАМИ: Методические указания к практическим занятиям по дисциплине «Численные методы»

Указания предназначены для студентов всех форм обучения направления 230100 – «Информатика и вычислительная техника».

Ó ФГАОУ ВПО «УрФУ имени первого Президента России Б.Н.Ельцина», 2011

1. ИНТЕРПОЛЯЦИЯ СПЛАЙНАМИ. 4

1.1. Кубические сплайны. 4

1.2. Специальная форма записи сплайна. 5

1.3. Квадратичные сплайны. 13

1.4. Задание на практику. 18

1.5. Варианты заданий. 19

Список литературы 21

1. Интерполяция сплайнами.

В случаях, когда промежуток [a ,b ], на котором требуется заменить функцию f (x ) велик, можно применить интерполяцию сплайнами.

1.1. Кубические сплайны.

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

Пусть на отрезке [a , b ] вещественной оси x задана сетка , в узлах которой определены значения
функцииf (x ). Требуется построить на отрезке [a , b ] непрерывную функцию-сплайн S (x ), которая удовлетворяет следующим условиям:



Для построения искомого сплайна требуется найти коэффициенты
многочленов
,i =1,… n , т.е. 4 n неизвестных коэффициента, которые удовлетворяют 4 n -2 уравнениям (1), (2), (3). Чтобы система уравнений имела решение, добавляют еще два дополнительных (краевых) условия. Используется три типа краевых условий:

Условия (1), (2), (3) и одно из условий (4), (5), (6) образуют СЛАУ порядка 4 n . Решение системы можно провести с помощью метода Гаусса. Однако, выбрав специальную форму записи кубического многочлена, можно существенно снизить порядок решаемой системы уравнений.

1.2. Специальная форма записи сплайна.

Рассмотрим отрезок
. Введем следующие обозначения переменных:

Здесь
- длина отрезка
,

,
- вспомогательные переменные,

x – промежуточная точка на отрезке
.

Когда x пробегает все значения на интервале
, переменнаяизменяется от 0 до 1, а
изменяется от 1 до 0.

Пусть кубический многочлен
на отрезке
имеет вид:

Переменные и
определяются применительно к конкретному отрезку интерполяции.

Найдем значение сплайна
на концах отрезка
. Точка
является начальной для отрезка
, поэтому=0,
=1 и в соответствии с (3.8):
.

На конце отрезка
=1,
=0 и
.

Для интервала
точка
является конечной, поэтому=1,
=0 и из формулы (9) получаем:
. Таким образом, выполняется условие непрерывности функцииS (x ) в узлах стыковки кубических многочленов независимо от выбора чисел  i .

Для определения коэффициентов  i , i =0,… n продифференцируем (8) дважды как сложную функцию от x . Тогда

Определим вторые производные сплайна
и
:

Для многочлена
точкаявляется началом отрезка интерполяции и=0,
=1, поэтому

Из (15) и (16) следует, что на отрезке [a ,b ]сплайн-функция, «склеенная» из кусков многочленов 3-го порядка, имеет непрерывную производную 2-го порядка.

Чтобы получить непрерывность первой производной функции S (x ), потребуем во внутренних узлах интерполяции выполнения условия:

Для естественного кубического сплайна
, следовательно, система уравнений будет иметь вид:

и система уравнений (17) будет иметь вид:

Пример .

Исходные данные:

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

    Рассчитаем значение функции в узловых точках. Для этого подставим в заданную функцию значения из таблицы.

    Для разных краевых условий (4), (5), (6) найдем коэффициенты кубических сплайнов.

    1. Рассмотрим первые краевые условия.

В нашем случае n =3,
,
,
. Чтобы найти
используем систему уравнений (3.18):

Вычислим и, используя формулы (7) и (11):


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

.

Решение системы:

С учетом первых краевых условий коэффициенты сплайна:

      Рассмотрим определение коэффициентов сплайна с учетом краевых условий (3.5):

Найдем производную функции
:

Вычислим
и
:

Подставим в систему уравнений (21) значения и:

Используя формулу (20) определим  0 и  3:

С учетом конкретных значений:

и вектор коэффициентов:

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

Середины отрезков:

Для вычисления значения кубического сплайна в серединах отрезков интерполяции воспользуемся формулами (7) и (9).

3.1.

Найдем и
:

В формулу (3.9) подставляем коэффициенты

3.2.

Найдем и
:


, для краевых условий (4), (5), (6):

3.3.

Найдем и
:

В формулу (9) подставляем коэффициенты
, для краевых условий (4), (5), (6):

Составим таблицу:

(1 кр.усл.)

(2 кр.усл.)

(3 кр.усл.)

Слово сплайн (английское слово "spline") означает гибкую линейку, используемую для проведения гладких кривых через заданные точки на плоскости. Форма этого универсального лекала на каждом отрезке описывается кубической параболой. Сплайны широко используются в инженерных приложениях, в частности, в компьютерной графике. Итак, на каждом i –м отрезке [x i –1 , x i ], i= 1, 2,…, N, решение будем искать в виде полинома третьей степени:

S i (x )=a i +b i (x–x i )+c i (x x i ) 2 /2+d i (x–x i ) 3 /6

Неизвестные коэффициенты a i , b i , c i , d i , i= 1, 2,..., N, находим из:

Условий интерполяции: S i (x i )=f i , i= 1, 2,..., N ; S 1 (x 0)=f 0 ,

Непрерывности функции S i (x i– 1 )=S i– 1 (x i –1), i= 2, 3,..., N,

Непрерывности первой и второй производной:

S / i (x i– 1)=S / i– 1 (x i –1), S // i (x i –1)=S // i –1 (x i –1), i= 2, 3,..., N .

Учитывая, что , для определения 4N неизвестных получаем систему 4N –2 уравнений:

a i =f i , i= 1, 2,..., N,

b i h i – c i h i 2 /2 + d i h i 3 /6=f i – f i –1 , i= 1, 2,..., N,

b i – b i–1 = c i h i – d i h i 2 /2, i= 2, 3,..., N,

d i h i = c i – c i– 1 , i= 2, 3,..., N.

где h i =x i – x i– 1. Недостающие два уравнения выводятся из дополнительных условий: S // (a )=S // (b )=0. Можно показать, что при этом . Из системы можно исключить неизвестные b i , d i , получив систему N+ 1 линейных уравнений (СЛАУ) для определения коэффициентов c i :

c 0 = 0, c N = 0,

h i c i –1 + 2(h i +h i +1)c i +h i +1 c i +1 = 6 , i= 1, 2,…, N –1. (1)

После этого вычисляются коэффициенты b i , d i:

, i= 1, 2,..., N. (2)

В случае постоянной сетки h i =h этасистема уравнений упрощается.

Данная CЛАУ имеет трехдиагональную матрицу и решается методом прогонки.

Коэффициенты определяются из формул:

Для вычисления значения S (x ) в произвольной точке отрезка z ∈[a, b ] необходимо решить систему уравнений на коэффициенты c i , i= 1,2,…, N –1, затем найти все коэффициенты b i , d i . Далее, необходимо определить, на какой интервал [x i 0, x i 0–1 ] попадает эта точка, и, зная номер i 0 , вычислить значение сплайна и его производных в точке z

S (z )=a i 0 +b i 0 (z–x i 0)+c i 0 (z–x i 0) 2 /2+d i 0 (z–x i 0) 3 /6

S / (z )=b i 0 +c i 0 (z–x i 0)+d i 0 (z–x i 0) 2 /2, S // (z )=c i 0 +d i 0 (z–x i 0).

Требуется вычислить значения функции в точках 0.25 и 0.8, используя сплайн – интерполяцию.

В нашем случае: h i =1/4, .

Выпишем систему уравнений для определения :

Решая эту систему линейных уравнений, получим: .

Рассмотрим точку 0.25, которая принадлежит первому отрезку, т.е. . Следовательно, получим,

Рассмотрим точку 0.8, которая принадлежит четвертому отрезку, т.е. .

Следовательно,

Глобальная интерполяция

В случае глобальной интерполяции отыскивается единый полином на всем интервале [a, b ], т.е. строится полином, который используется для интерполяции функции f(x) на всем интервале изменения аргумента x. Будем искать интерполирующую функцию в виде полинома (многочлена) m –ой степени P m (x )=a 0 +a 1 x+a 2 x 2 +a 3 x 3 +…+a m x m . Какова должна быть степень многочлена, чтобы удовлетворить всем условиям интерполяции? Допустим, что заданы две точки: (x 0 , f 0) и (x 1 , f 1), т.е. N=1. Через эти точки можно провести единственную прямую, т.е. интерполирующей функцией будет полином первой степени P 1 (x )=a 0 +a 1 x. Через три точки (N=2) можно провести параболу P 2 (x )=a 0 +a 1 x+a 2 x 2 и т.д. Рассуждая таким способом, можно предположить, что искомый полином должен иметь степень N .

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

Данная система является линейной относительно искомых коэффициентов a 0 , a 1 , a 2 , …, a N. Известно, что СЛАУ имеет решение, если ее определитель отличен от нуля. Определитель данной системы

носит имя определителя Вандермонда . Из курса математического анализа известно, что он отличен от нуля, если x k x m (т.е. все узлы интерполяции различные). Таким образом, доказано, что система имеет решение.

Мы показали, что для нахождения коэффициентов
a 0 , a 1 , a 2 , …, a N надо решить СЛАУ, что является сложной задачей. Но есть другой способ построения полинома N –й степени, который не требует решения такой системы.

Полином Лагранжа

Решение ищем в виде , где l i (z ) базисные полиномы N –й степени, для которых выполняется условие: . Убедимся в том, что если такие полиномы построены, то L N (x) будет удовлетворять условиям интерполяции:

Каким образом построить базисные полиномы ? Определим

, i= 0, 1,..., N.

Легко понять, что

Функция l i (z ) является полиномом N –й степени от z и для нее выполняются условия "базисности":

0, i≠k;, т.е. k=1,…,i-1 или k=i+1,…,N.

Таким образом, нам удалось решить задачу о построении интерполирующего полинома N– й степени, и для этого не нужно решать СЛАУ. Полином Лагранжа можно записать в виде компактной формулы: . Погрешность этой формулы можно оценить, если исходная функция g (x ) имеет производные до N+ 1 порядка:

Из этой формулы следует, что погрешность метода зависит от свойств функции g (x ), а также от расположения узлов интерполяции и точки z. Как показывают расчетные эксперименты, полином Лагранжа имеет малую погрешность при небольших значениях N <20 . При бόльших N погрешность начинает расти, что свидетельствует о том, что метод Лагранжа не сходится (т.е. его погрешность не убывает с ростом N ).

Рассмотрим частные случаи. Пусть N=1, т.е. заданы значения функции только в двух точках. Тогда базовые полиномы имеют вид:

, т.е. получаем формулы кусочно–линейной интерполяции.

Пусть N=2. Тогда:

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

Пример: Заданы значений некоторой функции:

x 3.5
f -1 0.2 0.5 0.8

Требуется найти значение функции при z= 1, используя интерполяционный полином Лгранжа. Для этого случая N =3, т.е. полином Лагранжа имеет третий порядок. Вычислим значения базисных полиномов при z =1:

Подбор эмпирических формул

При интерполировании функций мы использовали условие равенства значений интерполяционного полинома и данной функции в узлах интерполяции. Если же исходные данные получены в результате опытных измерений, то требование точного совпадения не нужно, так как данные не получены точно. В этих случаях можно требовать лишь приближенного выполнения условий интерполяции . Это условие означает, что интерполирующая функция F(x) проходит не точно через заданные точки, а в некоторой их окрестности, так, например, как это показано на рис.

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

Для практики важен случай аппроксимации функции многочленами, т.е. .

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

Метод наименьших квадратов

Пусть для исходных данных x i , f i , i= 1,…,N (нумерацию лучше начинать с единицы), выбран вид эмпирической зависимости: с неизвестными коэффициентами . Запишем сумму квадратов отклонений между вычисленными по эмпирической формуле и заданными опытными данными:

Параметры будем находить из условия минимума функции . В этом состоит метод наименьших квадратов (МНК).

Известно, что в точке минимума все частные производные от по равны нулю:

(1)

Рассмотрим применение МНК для частного случая, широко используемого на практике. В качестве эмпирической функции рассмотрим полином

Формула (1) для определения суммы квадратов отклонений примет вид:

Вычислим производные:

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