Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
277
Добавлен:
11.03.2016
Размер:
369.15 Кб
Скачать

14.1. Приближение сигналов рядами тейлора [39]

Разложение функций в ряд Тейлора явилось одним из первых методов приближения функций в окрестностях точек х0:

f(x)  f(x0) + (x-x0) + (x-x0)2 + … + (x-x0)n.

f(x)  f(x0) +(x-x0)i.

При разложении функции в окрестностях точки х0=0 ряд Тейлора принято называть рядом Маклорена.

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

Рис. 14.1.1. Примеры разложения функций в ряд Маклорена.

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

14.2. Интерполяция и экстраполяция сигналов [39, 55].

Полиномиальная интерполяция. Одним из основных типов точечной аппроксимации является интерполирование. Сущность его заключается в том, что функции yi = s(xi) сопоставляется интерполяционный многочлен

f(x) = а0 + а1х + а2х2 + … + anxn =ai·xi, (14.2.1)

принимающий в точках xi те же значения yi, что и функция f(x). Для выполнения полиномиальной интерполяции достаточно по выражению (14.2.1) составить систему линейных уравнений для n узловых точек и определить n значений коэффициентов ai.

При N точках функции yi максимальная степень интерполяционного многочлена n=N-1, и в этом случае говорят о глобальной интерполяции с прохождением f(x) через все значения точек yi. Однако в этом случае при большом количестве узлов получается очень высокая степень многочлена. Кроме того, экспериментальные табличные данные могут содержать ошибки измерений, а глобальная интерполяция повторит все допущенные при измерениях ошибки. Для исключения этого фактора стараются подобрать аппроксимирующий многочлен как можно меньшей степени (как правило, n=1, 2, 3), график которого проходит близко от узловых точек. На практике мерой отклонения многочлена f(x) от заданной функции на множестве точек (xi,yi) является величина  среднеквадратичного приближения 2 = i(f(xi)-yi)2, минимальное значение которой обеспечивается подбором коэффициентов ai.

Пример выполнения глобальной интерполяции приведен на рис.14.2.1. Равномерной дискретизации данных для интерполяции не требуется. Максимальная степень полинома на практике обычно устанавливается не более 8-10, а большие массивы данных интерполируются последовательными локальными частями.

Рис. 14.2.1. Интерполяция данных.

Линейная и квадратичная интерполяция являются самыми простыми способами обработки таблиц и выполняются по уравнениям:

f(x)лин = а0 + а1х. f(x)кв = а01х+а2х2.

При линейной интерполяции вычисления дополнительных точек выполняются по линейной зависимости. Графически это означает простое соединение узловых точек отрезками прямых. В системе Mathcad для этого используется функция linterp(X,Y,x), где X и Y – вектора узловых точек. Функция linterp(X,Y,x) возвращает значение функции при её линейной интерполяции по заданным аргументам х. При небольшом числе узловых точек (менее 10) линейная интерполяция оказывается довольно грубой. Для целей экстраполяции функция linterp не предназначена.

Для практического использования более удобны формулы аппроксимации, не требующие предварительного определения коэффициентов аппроксимирующих полиномов. К числу таких формул относится интерполяционных многочлен по Лагранжу /40/. При аппроксимации функции у(х) многочленом n-й степени Y(x):

Y(x) = + +…

…+ . (14.2.2)

Пример интерполяции по Лагранжу приведен на рис. 14.2.2.

Рис. 14.2.2. Интерполяция по Лагранжу.

Кривые Безье. Для задач аппроксимации широко применяются кривые Безье. Это связано с их удобством как для аналитического описания, так и для наглядного геометрического построения. При использовании кривых Безье в компьютерной графике пользователь может задавать форму кривой интерактивно, двигая опорные точки курсором на экране.

Метод построения кривых был предложен де Кастелье в 1959 году и основан на разбиении отрезков, соединяющих исходные точки в отношении t, а затем в рекурсивном повторении этого процесса для полученных отрезков:

(t) = (1-t)(t) + t(t), (14.2.3)

где нижний индекс - номер точки, верхний индекс - уровень разбиения. Уравнение кривой n-ого порядка задается уравнением: P(t) = (t).

Рис. 14.2.3.

Для примера построим кривую для трех опорных точек P0(t=0), P1 и P2(t=1) на интервале t=[0, 1] (рис. 14.2.3).

Для каждого t[0, 1] определим точку :

= (1-t)P0 + tP1, = (1-t)P1 + tP2,

= (1-t) + t=(1-t)2P0(t)+2t(1-t)P1(t)+t2P2(t),

и тем самым получим кривую второго порядка.

Рис. 14.2.3.

Аналогичным образом построение кривой Безье с четырьмя опорными точками будет определяться следующими выражениями:

=(1-t)P0+tP1, =(1-t)P1+tP2, =(1-t)P2+tP3,

=(1-t)+t=(1-t)2P0(t)+2t(1-t)P1(t)+t2P2(t), =(1-t)+t=(1-t)2P1(t)+2t(1-t)P2(t)+t2P3(t),

= (1-t) + t=(1-t)3P0(t)+3t(1-t)2P1(t)+ 3t2(1-t)P2(t)+t3P3(t).

Общая аналитическая запись для кривых Безье по N+1 опорной точке:

PN(t) = Pi , = ti (1-t)N-i,

= N!/(i! (N-i)!) – биномиальные коэффициенты.

Кривые Безье всегда проходят через начальную P0 и конечную PN точки. Если рассматривать опорные точки в противоположном порядке, то форма кривой не изменяется. Если опорные точки лежат на одной прямой, то кривая Безье вырождается в отрезок, соединяющий эти точки. Степень многочлена, представляющего кривую в аналитическом виде, на 1 меньше числа точек.