Лабораторная работа № 1
ИНТЕРПОЛЯЦИЯ ФУНКЦИЙ С ПОМОЩЬЮ СПЛАЙНА
Цель работы
Ознакомление студентов с задачей интерполяции функций, с методом прогонки для решения систем линейных алгебраических уравнений с ленточной матрицей, с понятием сплайна, получение навыков решения задач вычислительной математики на ЭВМ.
Задачи работы
Закрепление, углубление и расширение знаний студентов при решении практических вычислительных задач. Овладение вычислительными методами и практическими методами оценки погрешности вычислений. Приобретение умений и навыков при программировании и отладке вычислительных задач на компьютере.
Вводная часть
Известны два способа представления функций: аналитический и табличный. Первый требует сравнительно длительного времени вычисления, но небольшого объема памяти. Второй – наоборот. Существует промежуточный способ - сплайн.
Теоретические основы
Постановка задачи
Пусть отрезок [ a, b ] разбит на n частичных отрезков [ xi, xi +1], где xi < xi +1, i= 0,1, …, n- 1, x 0 =a, xn=b. Обозначим hi = xi - xi- 1. В случае равномерного разбиения h= (b-a) /n, xi=a+ih.
Функция f (x) задана своими значениями в узловых точках xi.
Рис. 2.4.1. Разбиение интервала при интерполяции сплайном
Сплайном называется функция, которая вместе с несколькими производными непрерывна на всём заданном отрезке [ a,b ], а на каждом частичном отрезке [ xi, xi +1] в отдельности является некоторым алгебраическим многочленом.
Максимальная по всем частичным отрезкам степень многочленов называется степенью сплайна, а разность между степенью сплайна и порядком наивысшей непрерывной на [ a, b ] производной – дефектом сплайна.
Например, непрерывная кусочно-линейная функция (ломанная) является сплайном первой степени с дефектом, равным единице, т.к. непрерывна только сама функция (нулевая производная), а первая производная уже разрывна.
На практике наиболее широкое распространение получили сплайны третьей степени, имеющие на [ a, b ] непрерывную, по крайней мере, первую производную. Эти сплайны называются кубическими и обозначаются через . На каждом отрезке кубический сплайн имеет вид
S 3(x) =аi 0 +аi 1(x - xi) +аi 2(x - xi)2 +аi 3(x - xi)3, x Î[ xi, xi+ 1], (2.4.1)
и удовлетворяет условиям
S 3(xi) =f (xi), i= 0 ,...,n. (2.4.2)
Сплайн (2.4.1) на каждом из отрезков [ xi, xi+ 1], i= 0 ,...,n- 1 определяется четырьмя коэффициентами, и поэтому для его построения на всем промежутке [ a,b ] необходимо определить 4 n коэффициентов. Для их однозначного определения необходимо задать 4 n уравнений.
Условие (2.4.2) дает 2 n уравнений, т.к. каждый многочлен должен проходить через две заданные точки: начало и конец отрезка [ xi, xi+ 1]. При этом функция S 3(xi), удовлетворяющая этим условиям, будет непрерывна во всех внутренних узлах.
Условие непрерывности производных сплайна , во всех внутренних узлах xi, i= 1 ,...,n- 1 сетки дает 2(n- 1) равенств.
Вместе получается 4 n- 2 уравнений.
Два дополнительных условия обычно задаются в виде ограничений на значение производных сплайна на концах промежутка [ a,b ] и называются краевыми условиями.
Выбор краевых условий
Наиболее употребительны следующие типы краевых условий:
а) ;
б) ;
в) ;
г) ;
д) .
Через краевые условия в конструкцию сплайна включаются параметры, выбирая которые можно управлять его поведением, особенно возле концов отрезка [ a,b ].
Если известны f' (x). f" (x) или f¢¢¢ (x) в точках а и b, то естественно воспользоваться краевыми условиями типа а), б) или в).
Если производные неизвестны, то в большинстве случаев наилучшим решением будет применение краевых условий типа г).
Условия типа д) носят названия периодических. Естественно требовать их выполнения в том случае, когда интерполируемая функция периодическая с периодом (b-a).
Вместо значений производных можно использовать их разностные аналоги. При этом точность интерполяции вблизи концов отрезка [ a, b ] падает.
Погрешность аппроксимации кубическим сплайном
Теорема. Если функция f (x) при x Î[ x 0, xn ] j раз непрерывно дифференцируема и k =min{ j, 4}, то для m £ k -1
, (2.4.3)
причем cm не зависит от hi и i.
Примечание 1. Допустим, вторая производная f (x) непрерывна, а третья и четвертая – кусочно-непрерывны и могут иметь разрывы только первого рода в узлах сетки xi. Тогда оценка (2.4.3) остается в силе, если вместо символа max использовать sup. Дело в том, что рассматриваемый способ построения сплайна позволяет точно строить как любой многочлен третьей степени на всем интервале [ x 0, xn ] (при этом обеспечивается непрерывность третьей производной), так и любую заданную функцию, составленную из многочленов третьей степени, если эта функция имеет непрерывную вторую производную.
Примечание 2. Если производная f'' (x) имеет разрывы 1-го рода или граничные значения второй производной заданы с ошибкой, то оценка (2.4.3) остается справедливой при k =2, m £1.