Читайте также: |
|
Полиномиальная интерполяция. Одним из основных типов точечной аппроксимации является интерполирование. Сущность его заключается в том, что функции 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) является величина s среднеквадратичного приближения s2 = Si(f(xi)-yi)2, минимальное значение которой обеспечивается подбором коэффициентов ai.
Пример выполнения глобальной интерполяции приведен на рис.14.2.1. Равномерной дискретизации данных для интерполяции не требуется. Максимальная степень полинома на практике обычно устанавливается не более 8-10, а большие массивы данных интерполируются последовательными локальными частями.
Рис. 14.2.1. Интерполяция данных. |
Линейная и квадратичная интерполяция являются самыми простыми способами обработки таблиц и выполняются по уравнениям:
f(x)лин = а0 + а1х. f(x)кв = а0+а1х+а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 меньше числа точек.
Дата добавления: 2015-07-19; просмотров: 149 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
ВВЕДЕНИЕ | | | Сплайновая интерполяция [39]. |