Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие ВМ часть2.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.65 Mб
Скачать

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

Пусть отрезок [a,b] разбит точками на n частичных отрезков . Сплайном степени m называется функция , обладающая следующими свойствами:

  1. функция непрерывна на отрезке [a,b] вместе со своими производными до некоторого порядка p;

  2. на каждом частичном отрезке функция совпадает с некоторым алгебраическим многочленом степени m.

Разность m-p между степенью сплайна и наивысшим порядком непрерывной на отрезке [a ,b] производной называют дефектом сплайна. Кусочно-линейная функция является сплайном первой степени с дефектом, равным единице. Действительно, на отрезке [a ,b] сама функция (нулевая производная) непрерывна. В то же время на каждом частичном отрезке совпадает с некоторым многочленом первой степени.

ПРИМЕР 3. Построение параболического сплайна.

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

x

-1

0

1

y

1.5

0.5

2.5

Требуется построить параболический сплайн дефекта 1.

Так как строится сплайн , то он будет представлен двумя полиномами 2-ой степени:

.

Функция должна удовлетворять условиям:

- это есть условие интерполяции;

- это есть условие непрерывности первой производной.

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

Возьмем, например дополнительное граничное условие следующего вида .

Тогда получим систему уравнений относительно неизвестных коэффициентов :

Эта система легко решается:

, , , , , .

Таким образом:

.

Наиболее широкое распространение получили сплайны 3 степени (кубические сплайны) с дефектом равным 1 или 2. Система для осуществления сплайн-интерполяции кубическими полиномами предусматривает несколько встроенных функций. Одна из них рассмотрена в примере.

ПРИМЕР 4 . Построение сплайн-интерполяции (рис. 10.4).

% Построить интерполяцию сплайнами функции Рунге

% Введём функцию Рунге

f = inline('1./(1+25*x.^2)');

% Вычислим таблицу значений

x = linspace(-1, 1, 10);

y = f(x);

% Вычислим сплайн-интерполяцию

xx = linspace(-1, 1, 100);

yy = spline(x, y, xx);

% Начертим графики

axes('NextPlot', 'Add');

plot(x, y, 'LineWidth', 2);

% Красным на графике - аппроксимация, жирным - исходная функция.

plot(xx, yy, 'Color', 'r');

Рис. 10.4 - построение сплайн-интерполяции

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

Пусть функция f имеет на отрезке [a,b] непрерывную производную четвертого порядка и .

Тогда для интерполяционного кубического сплайна справедлива оценка погрешности: .

Задание для самостоятельной работы

  1. Функция y = f(x) задана таблицей своих значений.

  X

  0

 0.2

 0.4

 0.6

 0.8

 1

  Y

 0.75

 1.1

 1.35

 1.25

 1.05

 0.8

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

  1. Функция y = f(x) задана таблицей своих значений.

X

0

1

2

Y

1

4

6

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

  1. Проинтерполировать функцию задачи 2 методом кусочно-линейной интерполяции и построить график исходной функции и найденных многочленов.