Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Интерполяция сплайнами.doc
Скачиваний:
382
Добавлен:
22.02.2015
Размер:
577.02 Кб
Скачать

21

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

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

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

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

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

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

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

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

2011

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

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

Указания предназначены для студентов всех форм обучения направления 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].

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

  1. На каждом отрезке сплайн является многочленомтретьей степени:

(1)

  1. В узлах сплайнпринимает заданные значения, т.е.

(2)

  1. Во внутренних узлах сплайн имеет непрерывную первую и вторую производные, т.е. в узлах сопряжения сплайнов их первые и вторые производные должны быть равны:

(3)

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

I)

(4)

Сплайн, определяемый (4) называется естественным кубическим сплайном.

II)

(5)

III)

(6)

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

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

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

(7)

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

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

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

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

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

(8)

Номер сплайна совпадает с индексом конечной точки отрезка . Для записи сплайна на соседнемi-ом участке достаточно в (8) уменьшить все индексы на единицу:

(3.9)

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

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

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

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

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

,

(10)

где

(11)

Уменьшая в (10) индекс i на единицу, получим:

(12)

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

(13)

(14)

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

(15)

Для сплайна точкаявляется концом отрезка интерполяции и=1,=0. Отсюда

(16)

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

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

Определим (10) и (12) в точке :

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

(17)

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

(18)

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

Если же требуется найти S(x) с краевыми условиями (3.5), то это приведет к дополнительным условиям:

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

(19)

Для краевых условий (6) получим:

(20)

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

(21)

Пример.

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

i

0

1

2

3

1

2

2.5

3

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

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

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

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

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

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

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

.

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

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

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

Для n=3 система уравнений (19) примет вид:

(21)

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

Вычислим и:

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

Решение системы уравнений:

    1. Рассмотрим третьи краевые условия (6).

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

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

Вычислим и:

и

Система уравнений (21)для определения ,:

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

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

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

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

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

3.1.

Найдем и:

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

3.2.

Найдем и:

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

3.3.

Найдем и:

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

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

(1 кр.усл.)

(2 кр.усл.)

(3 кр.усл.)

f(x)

2.044

2.026

2.026

3.389

3.364

3.362

3.378

3.476

3.479