Аппроксимация с помощью кусочных полиномов

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

Приведем пример кусочно-квадратичной функции. Предположим, что функция f(x) на отрезке [0, 1] задана значениями

x 1/6 1/3 1/2 2/3 5/6
f(x)

Определим вид функции на каждой из частей [0, 1/3], [1/3, 2/3], [2/3, 1]; для этого используем формулу Лагранжа:

аппроксимация с помощью кусочных полиномов - student2.ru

аппроксимация с помощью кусочных полиномов - student2.ru

аппроксимация с помощью кусочных полиномов - student2.ru

Тогда функция g , определенная равенствами

аппроксимация с помощью кусочных полиномов - student2.ru

является кусочно-квадратичной на [0, 1] и совпадающей с f в заданных узлах; функция g непрерывна на всем отрезке и квадратична на каждой из частей [0, 1/3], [1/3, 2/3], [2/3, 1]. График этой функции представлен на рисунке 3.2.

аппроксимация с помощью кусочных полиномов - student2.ru

Рисунок 3.2 – Аппроксимация с помощью кусочных полиномов

Рассмотрим ошибку аппроксимации функции f функцией g. Пусть М – оценка сверху абсолютной величины третьей производной от f(x) на всем отрезке [0, 1]. Тогда на каждой из его частей [0, 1/3], [1/3, 2/3] и [2/3, 1] можно применить оценку ошибки (|f(x)-g(x)| £ M× hn+1), где h = 1/6 и n = 2. Поэтому

аппроксимация с помощью кусочных полиномов - student2.ru .

Без дальнейшей информации относительно М эта оценка мало что дает в количественном отношении. Но она, тем не менее, показывает, как влияет на оценку погрешности шаг h между узлами интерполяции. Действительно, если уменьшить шаг в 2 раза, то аппроксимация с помощью кусочных полиномов - student2.ru , т.е. величина оценки уменьшится в аппроксимация с помощью кусочных полиномов - student2.ru раз по сравнению с оценкой в первом случае.

Предположим теперь, что мы хотим аппроксимировать функцию кусочно-квадратичными полиномами, но требуем при этом, чтобы аппроксимирующая функция была дифференцирована всюду. В этом случае нам потребуется иной подход. Для иллюстрации положим n = 4, Ii = [xi, xi+1] - интервал(i = 1,2,3)

аппроксимация с помощью кусочных полиномов - student2.ru

Рисунок 3.3 – Аппроксимация с помощью кусочно-квадратичных полиномов

Аппроксимацию проводим квадратичными полиномами

аппроксимация с помощью кусочных полиномов - student2.ru i = 1, 2, 3.

Чтобы функция q была непрерывна и принимала в узлах сетки заданные значения {yi}, необходимо потребовать выполнение условий

q1(x1) = y1, q1(x2) = y2

q2(x2) = y2, q2(x3) = y3

q3(x3) = y3, q3(x4) = y4

Если мы, кроме того, хотим, чтобы функция g была дифференцирована в узлах, то должно выполняться

аппроксимация с помощью кусочных полиномов - student2.ru

аппроксимация с помощью кусочных полиномов - student2.ru

Функция q определяется девятью коэффициентами полиномов q1, q2, q3. Имеется только 8 уравнений. В качестве дополнительного условия обычно указывается значение q, в некотором узле, например

аппроксимация с помощью кусочных полиномов - student2.ru

где d1 – некоторое заданное значение.

Девять соотношений представляют собой систему девяти линейных уравнений относительно коэффициентов полиномов qi, которая может быть решена, например, методом Гаусса.

Аппроксимация сплайнами

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

1. С(x) – дважды непрерывно дифференцируемая функция;

2. С(x) – существует на каждом отрезке Ii = [xi, xi+1], i = 1, 2, ¼, n-1;

3. функция С(x) является кубическим полиномом.

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

На каждом отрезке Ii функция С(x) представляется в виде

Сi(x) = ai3x3 + ai2x2+ ai1x + ai0, xÎ Ii.

Так как надо "сшить" n – 1 кубических полиномов, а для каждого необходимо определить 4 коэффициента, то всего надо определить 4n - 4 коэффициента аij.

Первое условие влечет за собой непрерывность функций С и аппроксимация с помощью кусочных полиномов - student2.ru на всем отрезке I. Эти условия выполняются во всех внутренних точках, (т.е. в n – 2 точках).

Следовательно, должно выполняться 3(n - 2) = 3n - 6 условий:

аппроксимация с помощью кусочных полиномов - student2.ru

аппроксимация с помощью кусочных полиномов - student2.ru

аппроксимация с помощью кусочных полиномов - student2.ru , i = 2, ¼, n - 1.

Таким образом, требуется еще (4n – 4) – 3(n-2) = n+2 дополнительных условий.

В случае задачи интерполяции или аппроксимации мы потребуем, чтобы функция С(x) принимала в узлах заданные значения

С(xi) = yi, i = 1, ¼, n,

что дает n дополнительных соотношений.

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

аппроксимация с помощью кусочных полиномов - student2.ru

Таким образом, число уравнений равно числу неизвестных, и система уравнений имеет решение.

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

аппроксимация с помощью кусочных полиномов - student2.ru

или

аппроксимация с помощью кусочных полиномов - student2.ru

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

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

Наши рекомендации