Постановка задачи интерполирования

advertisement
Кузнецкий институт информационных и управленческих технологий
(филиал пензенского государственного университета)
Методы интерполяции и регрессионный анализ
Учебное пособие по курсам «Автоматизированные методы обработки
результатов эксперимента» и «Вычислительная математика»
К У З Н Е Ц К 2007
УДК 519.6:517
Дано описание основных методов интерполирования сеточных функций:
интерполирования с помощью полиномов, тригонометрических полиномов,
интерполирования кубическими сплайнами, обратного интерполирования;
представлены наиболее распространенные формулы регрессионного анализа.
Учебное пособие подготовлено на кафедре естественнонаучных и
технических дисциплин и предназначено для студентов специальностей
«Микроэлектроника и твердотельная электроника», «Программное обеспечение
вычислительной техники и автоматизированных систем»
Ил. 2, табл. 5.
С о с т а в и т е л ь: Ю.Н. Астахова
Р е ц е н з е н т:
2
Введение
Получаемые при компьютерных вычислениях, в экспериментальных
исследованиях сеточные (табличные) функции
yi  f ( xi ), xi  [a, b], i  0,1,..., n,
малоинформативны. Они определены только в узлах xi (i  0,1,..., n) сетки n, а
их значения в промежуточных точках, а также значения производных в узлах не
известны. Каждая сетка характеризуется шагами hi 1  xi 1  xi неравномерного
или ( hi 1  const ) равномерного разбиения.
Однако значения функции должны быть известны при любом значении
аргумента x  xi, а в самих узлах xi часто требуется знать также первые и вторые
производные, поэтому сеточные функции yi  f ( xi ) необходимо восполнять.
Данная проблема решается с помощью методов интерполирования и регрессии.
Иногда для исходной функции известно аналитическое выражение, но
оно слишком сложное, в этом случае его можно заменить более простым,
применяя интерполирование или регрессионный анализ. Предварительно
необходимо представить исходную функцию в виде таблицы с наиболее
удобным шагом.
1. Методы интерполяции
1.1. Постановка задачи интерполирования
Пусть функция f(x) на отрезке [a, b] задана таблицей
Таблица 1.1.1
x
x0
x1
…
xn
f(x)
y0
y1
…
yn
Точки x0, x1, …, xn называются узлами интерполяции; значения функции в
3
этих точках f(x0)=y0, f(x1)=y1, …, f(xn)=yn.
Требуется построить интерполирующую функцию F(x), принадлежащую
известному классу и принимающую в узлах интерполяции те же значения, что
и f(x), т.е. такую, что
F(x0)=y0, F(x1)=y1, …, F(xn)=yn.
Геометрически
это
означает,
что
нужно
найти
кривую
y=F(x)
определенного типа, проходящую через заданную систему точек Mi(xi, yi), i=0,
1, …, n.
y
M0
M1
0
Mn
a=x0
x1
xn=b
x
Рис. 1.1.1. Интерполяционная кривая, проходящая через заданную
систему точек.
Одной из целей задачи интерполяции является вычисление значения
функции в произвольной точке x. При этом различаются интерполирование,
когда точка x[a, b], и экстраполирование, когда x[ a, b].
Замечание. Можно провести бесчисленное множество плавных кривых,
проходящих через заданное множество точек. Поэтому задача интерполяции
может иметь бесконечное множество решений. Задача становится однозначной,
если в качестве интерполирующей функции выбрать полином Pn(x), степень
которого на единицу меньше числа заданных узлов интерполяции, такой, что
Pn(x0)=y0, Pn(x1)=y1, …, Pn(xn)=yn.
4
Можно выделить четыре способа применения интерполяционных
методов, отличающихся областями их «действия».
1. Глобальный способ, в котором для всей области   [a, b] определяется
одна функция F(x).
2. Локальный способ, когда функция восполняется только в окрестности
некоторой точки хi. Это восполнение обычно осуществляется на основе
формулы Тейлора.
3. Кусочный способ, когда ищется одна или несколько функций Fki(x), i=0,
1, …, каждая из которых является многочленом степени k и имеет область
определения в виде частичного отрезка ik = [xi, xi+k] (1  k n, k = 1, 2, …).
Функцию Fki(x), построенную на одном частичном отрезке, называют звеном.
4. Кусочно-глобальный способ, в котором область  представляется
N
совокупностью N частичных отрезков ik, таких, что     ik На первом этапе
i 1
на каждом из отрезков ищется функция Fki(x) – i-е звено с применением
кусочного
способа
интерполяции. На
следующем
этапе
производится
N
объединение всех звеньев в одну многозвеньевую функцию, т.е. Fk ( x)   Fki ( x) .
i 1
1.2. Интерполяционный полином Лагранжа
Пусть задана сеточная функция yi = f(xi), i = 0, 1, …, n.
xi[a, b]= [x0, xn] – неравноотстоящие узлы,
hi+1=xi+1 - xi
– шаг.
Требуется построить полином степени n, график которого проходил бы
через узлы интерполяции.
Выделим частичный отрезок [xi, xi+1]. Полином Лагранжа на данном
отрезке имеет вид:
L1 ( x) 
( x  xi 1 )
( x  xi )
 yi 
 yi 1 .
( xi  xi 1 )
( xi 1  xi )
5
Действительно, L1(xi)=yi, L1(xi+1)=yi+1, т.е. многочлен L1(x) удовлетворяет
условиям функциональной интерполяции.
Выделим двойной частичный отрезок [xi, xi+2]. Тогда полином Лагранжа
записывается в виде:
L2 ( x) 
( x  xi 1 )( x  xi  2 )
( x  xi )( x  xi  2 )
( x  xi )( x  xi 1 )
 yi 
 yi 1 
 yi  2 .
( xi  xi 1 )( xi  xi  2 )
( xi 1  xi )( xi 1  xi  2 )
( xi  2  xi )( xi  2  xi 1 )
L2(x) также удовлетворяет условиям функциональной интерполяции:
L2(xi)=yi, L2(xi+1)=yi+1, L2(xi+2)=yi+2.
Обобщим
запись
полинома
на
отрезок
[x0,
Получим
xn].
интерполяционный полином Лагранжа n-ой степени.
n
Ln ( x)  
i 0
( x  x0 )( x  x1 ) ( x  xi 1 )( x  xi 1 ) ( x  xn )
 yi
( xi  x0 )( xi  x1 ) ( xi  xi 1 )( xi  xi 1 ) ( xi  xn )
n
или Ln ( x)   Li ( x)  yi , где
i 0
Li ( x) 
( x  x0 )( x  x1 )( x  xi 1 )( x  xi 1 )( x  xn )
- коэффициенты Лагранжа.
( xi  x0 )( xi  x1 )( xi  xi 1 )( xi  xi 1 ) ( xi  xn )
Для записи интерполяционного полинома Лагранжа удобно пользоваться
таблицей:
Таблица 1.2.1.
x - x0
x0 - x1
x0 - x2
…
x0 - xn
D0
f0
x1 - x0
x - x1
x1 - x2
…
x1 - xn
D1
f1
x2 - x0
x2 - x1
x - x2
x2-xn
D2
f2
…
…
…
…
…
…
…
xn - x0
xn – x1
xn - x2
…
x - xn
Dn
fn
Di
fi
…
Пn+1(x) = (x-x0)(x-x1) (x-x2) … (x-xn)
Di – произведение элементов i–й строки,
Пn+1 (x) - произведение элементов главной диагонали,
yi = f(xi) = fi, i = 0, 1, …, n.
Тогда полином Лагранжа может быть записан в виде:
n
Ln ( x)  П n1 ( x)
i 0
fi
Di
6
Рассмотрим полином Лагранжа для случая равноотстоящих точек:
h=const.
Пусть x = + th, t0=0, t1=1, …, tn=n.
Тогда Пn+1(t) = t(t-1)(t-2)…(t-n),
i
n
1
n i С n
Ln ( x)  П n1 (t ) (1)
yi ,
n!
t i
i 0
где C ni 
x  x0
n!
, t
.
i!(n  i )!
h
Отметим, что формула Лагранжа содержит явно yi, что бывает иногда
важно.
Рассмотрим два частных случая интерполяционного полинома Лагранжа.
При n=1 мы имеем две точки, и формула Лагранжа представляет в этом
случае уравнение прямой y = L1(x), проходящей через две заданные точки:
y
xb
xa
y0 
y1 ,
ab
ba
где a, b – абсциссы этих точек.
При n=2 получим уравнение параболы y = L2(x), проходящей через три
точки:
y
( x  b)( x  c)
( x  a)( x  c)
( x  a)( x  b)
y0 
y1 
y2 ,
(a  b)( a  c)
(b  a)(b  c)
(c  a)(c  b)
где a, b, с – абсциссы данных точек.
Пример.
Пусть сеточная функция задана таблицей:
Таблица 1.2.2.
xi
1
2
3
fi
10
15
12
Построить интерполяционный полином второй степени, используя
формулу Лагранжа.
Решение.
7
L2 ( x) 
( x  2)( x  3)
( x  1)( x  3)
( x  1)( x  2)
 10 
 15 
 12 
(1  2)(1  3)
(2  1)( 2  3)
(3  1)(3  2)
10  ( x 2  5 x  6) 15  ( x 2  4 x  3) 12  ( x 2  3x  2)  8 x 2  34 x  6




 4 x 2  17 x  3.
2
1
2
2
Ответ: для данной сеточной функции интерполяционный полином
Лагранжа второй степени имеет вид: L2 ( x)  4 x 2  17 x  3.
1.3. Погрешность интерполяции полиномами Лагранжа
При определении значения f(x), x  xi, для функции yi = f(xi), i = 0, 1, …, n
с помощью полинома Лагранжа возникает погрешность или остаточное
слагаемое Rn(x):
f(x) = Ln(x) + Rn(x).
Следовательно Rn(x) = f(x) - Ln(x).
Будем считать, что на [a, b] функция f(x) имеет все производные f(x),
f(x), …, f(n+1)(x) до (n+1)-го порядка включительно.
Введем вспомогательную функцию
u(x) = f(x) – Ln(x) - kПn+1(x),
где k – постоянный коэффициент, который определим позже.
Функция u(x) имеет (n+1) корень в точках x0, x1, …, xn.
Подберем коэффициент k так, чтобы u(x) имела (n+2)-й корень в любой
фиксированной точке x  [a, b] , не совпадающей с узлами интерполяции.
Для этого достаточно, чтобы
f ( x )  Ln ( x )  k  П n1 ( x )  0 .
Отсюда, т.к. П n1 ( x )  0 , то k 
f ( x )  Ln ( x )
.
П n1 ( x )
При этом значении k функция u(x) имеет n+2 корня на отрезке [a, b] и
будет обращаться в ноль на концах каждого из отрезков
[x0, x1], [x1, x2], …, [xi, x ], [ x , xi+1], …, [xn-1, xn].
Производная u(x) имеет не менее n+1 корня на отрезке [a, b];
8
u(x) имеет не менее n корней на [a, b];
…
u(n+1)(x) имеет хотя бы один корень.
Обозначим его через x;
u ( n1) ( x  )  0 .
Т.к. L(nn1) ( x)  0 , П n( n11) ( x)  (n  1)!, то
u ( n1) ( x)  f ( n1) ( x)  k  (n  1)! .
При x = x получим
0  f ( n1) ( x )  k  (n  1)!,
f ( n 1) ( x )
,
k
(n  1)!
следовательно
f ( x )  Ln ( x ) 
f ( x )  Ln ( x ) f ( n 1) ( x )

,
П n 1 ( x )
(n  1)!
f ( n1) ( x )
 П n1 ( x ) .
(n  1)!
Т.к. x произвольно, то Rn(x) можно вычислить по формуле:
Rn ( x)  f ( x)  Ln ( x) 
f ( n1) ( x )
 П n1 ( x) ,
(n  1)!
где x[a, b].
Введем обозначение:
M n 1  max f
x[ a ,b ]
( n 1)
( x) .
Получим оценку для абсолютной погрешности интерполяционной
формулы Лагранжа:
R n ( x )  f ( x )  Ln ( x ) 
M n 1
 П n 1 ( x) ,
(n  1)!
где Пn+1(x) = (x – x0)(x – x1)…(x – xn).
Замечание. Для сеточных функций Mn+1 необходимо определять с
помощью численного дифференцирования.
9
1.4. Выбор узлов интерполирования
Рассмотрим
формулу
погрешности
интерполяционной
формулы
Лагранжа:
Rn ( x) 
f ( n1) ( x )
 П n1 ( x) .
(n  1)!
f ( n 1) ( x ) - зависит от свойств функции f(x) и не поддается изменению.
Величина Пn+1(x) определяется выбором узлов интерполирования.
При неудачном расположении узлов интерполирования xi погрешность
Rn(x) может быть большой. Например, если сконцентрируем узлы xi вблизи
одного конца отрезка [a, b], то Rn(x) при b – a >1 будет велика в точках x,
близких к другому концу отрезка. Поэтому возникает задача о наиболее
рациональном выборе узлов интерполирования xi , чтобы полином Пn+1(x) имел
наименьшее максимальное значение по абсолютной величине на отрезке [a, b].
Доказано, что наилучший выбор узлов интерполирования дается
формулой
xi 
ba ba

i ,
2
2
где  i   cos
2i  1
 (i = 0, 1, …, n).
2n  2
ba
В этом случае получим П n 1 ( x)  2  

 4 
n 1
.
Эти узлы не являются равноотстоящими, а сгущаются около концов
отрезка.
1.5. Разделенные разности
Разделенные разности вводятся для сеточной функции yi = f(xi), i = 0, 1, …
, n, заданной на неравномерной сетке, т.е. с непостоянным шагом.
Разделенная разность первого порядка:
10
f ( xi , xi 1 ) 
f i 1  f i
,
xi 1  xi
разделенная разность второго порядка:
f ( xi , xi 1 , xi  2 ) 
f ( xi 1 , xi 2 )  f ( xi , xi 1 )
,
xi  2  xi
…
разделенная разность k-го порядка:
f ( xi , xi 1 ,..., xi  k ) 
f ( xi 1 , xi  2 ,..., xi  k )  f ( xi , xi 1 ,..., xi  k 1 )
xi  k  xi
Свойства разделенных разностей:
1) для гладких функций числовые значения f(xi, xi+1, …, xi+k) → 0 при k→.
2) разделенные разности не меняются при перестановке элементов, т.е.
представляют собой симметрические функции своих аргументов. Например,
f ( x0 , x1 ) 
f ( x1 )  f ( x0 )  ( f ( x0 )  f ( x1 )) f ( x0 )  f ( x1 )


 f ( x1 , x0 ) .
x1  x0
 ( x0  x1 )
x0  x1
Разделенные разности обычно располагают в таблицу.
Пусть n=3:
Таблица 1.5.1.
xi
fi
x0
f0
x1
f1
x2
f2
x3
f3
f(xi, xi+1)
f(x0, x1)
f(x1, x2)
f(x2, x3)
f(xi, xi+1, xi+2)
f(x0, x1, x2)
f(x1, x2, x3)
f(xi, xi+1, xi+2, xi+3)
f(x0, x1, x2, x3)
1.6. Интерполяционный полином Ньютона для неравных промежутков
Пусть исходная сеточная функция yi = f(xi), i = 0, 1, …, n, задана на
неравномерной сетке n = {x0, x1, x2, …, xn}, шаг hi+1 = xi+1 - xi.
Лемма. Если y = f(x) – полином n-й степени, то его разделенная разность
(n+1)-го порядка тождественно равна нулю, т.е.
f(x, x0, x1, …, xn)  0
11
(1)
для любой системы различных между собой чисел x, x0, x1, …, xn.
f(x, x0), f(x, x0, x1), …, f(x, x0, x1, …, xn) – последовательные разделенные
разности.
По определению разделенных разностей:
f ( x, x0 ) 
f ( x)  f ( x0 )
,
x  x0
отсюда f ( x)  f ( x0 )  f ( x, x0 )  ( x  x0 ) .
(2)
Также по определению разделенных разностей:
f ( x, x0 ,..., xm ) 
f ( x, x0 ,..., xm1 )  f ( x0 , x1 ,..., xm )
,
x  xm
отсюда f ( x, x0 ,..., xm1 )  f ( x0 , x1 ,..., xm )  f ( x, x0 ,..., xm )  ( x  xm ) ,
(3)
m = 1, 2, …, n.
Из формул (2) и (3) последовательно выводим:
f ( x)  f ( x0 )  f ( x, x0 )  ( x  x0 )  f ( x0 )  ( x  x0 )   f ( x0 , x1 )  f ( x, x0 , x1 )  ( x  x1 ) 
 f ( x0 )  f ( x0 , x1 )  ( x  x0 )  f ( x, x0 , x1 )  ( x  x0 )  ( x  x1 ) 
 f ( x0 )  f ( x0 , x1 )  ( x  x0 )  f ( x0 , x1 , x 2 )  ( x  x0 )  ( x  x1 )  ... 
 f ( x0 , x1 ,..., x n )  ( x  x0 )  ( x  x1 )  ( x  x n 1 )  f ( x, x0 ,..., x n )  ( x  x0 )  ( x  x1 )  ( x  x n )
Учитывая формулу (1), получаем интерполяционный полином Ньютона
для неравноотстоящих узлов:
N1 ( x)  f ( x0 )  f ( x0 , x1 )  ( x  x0 )  f ( x0 , x1 , x 2 )  ( x  x0 )  ( x  x1 )  ... 
 f ( x0 , x1 ,..., x n )  ( x  x0 )  ( x  x1 )  ( x  x n 1 )
Погрешность формулы:
Rn ( x)  f ( x)  N1 ( x) 
f ( n1) ( )
( x  x0 )( x  x1 )( x  xn ) ,
(n  1)!
где [a, b] – некоторое промежуточное значение между узлами x0, x1, …, xn и
точкой х.
Оценка погрешности:
Rn ( x ) 
M n 1
( x  x0 )( x  x1 )  ( x  x n ) ,
(n  1)!
f ( n 1) ( x) .
где M n 1  xmax
[ a ,b ]
12
Пример.
Пусть сеточная функция задана таблицей 1.2.2:
Построить
xi
1
2
3
fi
10
15
12
интерполяционный
полином
Ньютона
для
неравных
промежутков (этой формулой можно пользоваться и в случае равноотстоящих
узлов).
Решение.
Составим таблицу разделенных разностей:
Таблица 1.6.1.
xi
fi
1
10
2
15
3
12
f ( x0 , x1 ) 
15  10
 5,
2 1
f ( x1 , x 2 ) 
12  15
 3,
32
f ( x0 , x1 , x 2 ) 
f(xi, xi+1)
f(xi, xi+1, xi+2)
5
-4
-3
35
 4.
3 1
Используя разделенные разности, построим полином.
N1 ( x)  10  5  ( x  1)  (4)( x  1)( x  2)  10  5 x  5  4  ( x 2  3x  2)  5  5 x  4 x 2  12 x  8 
 4 x 2  17 x  3.
Ответ: для данной сеточной функции интерполяционный полином
Ньютона для неравных промежутков имеет вид: N1 ( x)  4 x 2  17 x  3.
1.7. Конечные разности
Конечные разности вводятся для функции yi = f(xi), i= 0, 1, …, n,
определенной на равномерной сетке (h = const).
Конечная разность первого порядка:
13
fi = fi+1 - fi,
конечная разность второго порядка:
2 fi = (fi) = fi+1 - fi = fi+2 - 2 fi+1 + fi,
…
конечная разность k-го порядка:
k
k f i  (k 1 f i )   (1) j  C kj  f i  j ,
j 0
где C kj 
k!
.
(k  j )! j!
Конечные разности удобно располагать в таблице.
Последовательность получения конечных разностей для n = 3.
Таблица 1.7.1.
xi
fi
fi
x0
f0
x1
f1
f0
x2
f2
x3
f3
2fi
2f0
f1
 f1
2
f2
3fi
3f0
Связь между разделенными и конечными разностями k-го порядка при h =
const:
f ( xi , xi 1 ,..., xi  k ) 
k f i
.
k!h k
1.8. Интерполяционный полином Ньютона для равных промежутков
Пусть функция yi = f(xi), i = 0, 1, …, n, задана на равномерной сетке n =
{x0, x1, x2, …, xn} с шагом h = const.
Подставим
конечные
разности
вместо
разделенных
разностей
интерполяционную формулу Ньютона для неравных промежутков:
N ( x)  f ( x0 ) 
f 0
2 f 0
n f 0
( x  x0 ) 
(
x

x
)(
x

x
)

...

( x  x0 )( x  x1 ) ( x  xn 1 ) . (4)
0
1
1!h
2!h 2
n!h n
14
в
Если точка x, для которой нужно определить значение f(x) находится в
начале отрезка [x0, xn], то данную формулу удобно представить в следующем
виде.
Пусть q 
x  x0
, тогда
h
x  x1 x  ( x0  h) x  x0 h


  q  1,
h
h
h
h
x  x2 x  ( x0  2h) x  x0 2h



 q  2,
h
h
h
h
…
x  xn1 x  ( x0  (n  1)h) x  x0 (n  1)h



 q  n  1.
h
h
h
h
Получаем формулу:
N
(I )
2
f 0
2 f 0
n f 0
( x)  f ( x0 ) 
q
q(q  1)  ... 
q(q  1) (q  n  1) .
1!
2!
n!
Это интерполяционный полином Ньютона для равных промежутков для
интерполяции вперед.
Этот же полином можно использовать для x < x0. Тогда он называется
полиномом для экстраполяции назад.
В этой формуле q представляет собой число шагов, необходимых для
достижения точки x, исходя из точки x0.
Остаточное слагаемое этого полинома имеет вид:
Rn (q)  h n 1
q(q  1)...( q  n) ( n 1)
f
( ) , где   [a, b] – некоторое промежуточное
(n  1)!
значение между узлами x0, x1, …, xn и точкой х.
Оценка погрешности:
Rn ( x ) 
M n 1
 h n 1  q(q  1)  (q  n) ,
(n  1)!
f ( n 1) ( x) .
где M n 1  xmax
[ a ,b ]
Если точка x находится в конце отрезка [x0, xn], то формулу (1) удобно
представить в следующем виде.
15
x  xn
, тогда
h
Пусть q 
N 2( II ) ( x)  f ( xn ) 
f n1
2 f n2
n f 0
q
q(q  1)  ... 
q(q  1) (q  n  1) .
1!
2!
n!
Это интерполяционный полином Ньютона для равных промежутков для
интерполяции назад.
Этот же полином можно использовать для x > xn. Тогда он называется
полиномом для экстраполяции вперед.
Остаточное слагаемое полинома:
Rn (q)  h n 1
q(q  1)...( q  n) ( n 1)
f
( ) , где   [a, b].
(n  1)!
Оценка погрешности:
Rn ( x ) 
M n 1
 h n 1  q(q  1)  (q  n) ,
(n  1)!
где M n 1  max f ( n 1) ( x) .
x[ a ,b ]
Рассмотрим два частных случая интерполяционного полинома Ньютона
для равных промежутков.
Если в формуле N 2( I ) положить n = 1, то получим формулу линейного
интерполирования:
N 2( I )  f ( x0 )  q  f 0 .
При n = 2 получим формулу параболического или квадратичного
интерполирования:
N 2( I )  f ( x0 )  q  f 0 
q (q  1) 2
 f0 .
2
Если дана неограниченная таблица значений функции f(x), то число n в
интерполяционной формуле может быть любым. За начальное значение x0
можно принимать любое табличное значение аргумента x.
Пример.
Пусть сеточная функция задана таблицей 1.2.2:
xi
1
2
3
fi
10
15
12
16
Построить
интерполяционный
полином
Ньютона
для
равных
промежутков для интерполяции вперед и для интерполяции назад.
Решение.
Составим таблицу конечных разностей:
Таблица 1.8.1.
xi
fi
1
10
2
15
3
fi
2fi
5
-8
-3
12
f 0  15  10  5,
f1  12  15  3,
2 f 0  3  5  8.
Для
построения
интерполяционного
полинома
интерполяции вперед введем новую переменную q 
следовательно q 
Ньютона
для
x  x0
. Шаг h  1, x0  1 ,
h
x 1
 x  1.
1
Строим полином:
5
8
N 2I ( x)  10   q 
 q(q  1)  10  5q  4q 2  4q  10  9q  4q 2  10  9( x  1)  4( x  1) 2 
1!
2!
 4 x 2  17 x  3.
Для
построения
интерполяционного
интерполяции назад введем переменную q 
следовательно q 
полинома
Ньютона
для
x  x2
. Шаг тот же: h  1, x2  3 ,
h
x3
 x  3.
1
Строим полином:
3
8
q 
 q(q  1)  12  3q  4q 2  4q  12  7q  4q 2  12  7( x  3)  4( x  3) 2 
1!
2!
2
 4 x  17 x  3.
N 2II ( x)  12 
Как и следовало ожидать, построенные полиномы совпадают.
Ответ: N 2 ( x)  4 x 2  17 x  3.
17
1.9. Интерполяционные формулы с центральными разностями
Во многих случаях оказываются полезными интерполяционные формулы,
содержащие как последующие, так и предшествующие значения функции по
отношению к начальному ее значению. Наиболее употребительными из них
являются те, которые содержат разности, расположенные в горизонтальной
строке таблицы конечных разностей данной функции, соответствующей
начальным значениям x0 и y0 или в строках, непосредственно примыкающих к
ней.
Эти разности f-1, f0, 2f-1,… называются центральными разностями, где
xi  x0  ih (i = 0, 1, 2, …), f i  f ( xi ) , f i  f i 1  f i , 2 f i  f i 1  f i и т.д.
Таблица 1.9.1.
xi
fi
x-2
f-2
fi
2fi
3fi
4fi
f-2
x-1
2f-2
f-1
f-1
x0
3f-2
2f-1
f0
f0
x1
4f-2
3f-1
2f0
f1
f1
x2
f2
Интерполяционные формулы Гаусса
Пусть имеется 2n+1 равноотстоящих узлов интерполяции
x -n, x -(n-1), …, x -1, x0, x1, …, xn-1, xn,
где
xi  xi 1  xi  h  const (i = -n, -(n-1), …, n-1),
и для функции y = f(x) известны ее значения в этих узлах
18
yi  f ( xi ) , (i = 0, 1, …,n).
Требуется построить полином P(x) степени не выше 2n такой, что
P( xi )  yi при i = 0, 1, …,n.
Из последнего условия следует, что
k P( xi )  k f i
для всех соответствующих значений i и k.
Первая интерполяционная формула Гаусса имеет вид
q(q  1) 2
(q  1)q(q  1) 3
(q  1)q(q  1)( q  2) 4
 f 1 
 f 1 
 f 2 
2!
3!
4!
(q  2)( q  1)q(q  1)( q  2) 5
(q  n  1)  (q  n  1) 2 n 1

 f 2   
 y ( n 1) 
5!
(2n  1)!
(q  n  1)  (q  n) 2 n

 f n
(2n)!
P( x)  f 0  qf 0 
где q 
x  x0
.
h
Первая интерполяционная формула Гаусса содержит центральные
разности f0, 2f-1, 3f-1, 4f-2, 5f-2, 6f-3,…
Вторая интерполяционная формула Гаусса содержит центральные
разности f-1, 2f-1, 3f-2, 4f-2, 5f-3, 6f-3,…
Вторая интерполяционная формула Гаусса имеет вид
(q  1)q 2
(q  1)q(q  1) 3
(q  2)( q  1)q(q  1) 4
 f 1 
 f 2 
 f 2   
2!
3!
4!
(q  n  1)  (q  n  1) 2 n 1
(q  n)( q  n  1)  (q  n  1) 2 n

 y n 
 f n
(2n  1)!
(2n)!
P( x)  f 0  qf 1 
Интерполяционная формула Стирлинга
Интерполяционную формулу Стирлинга можно получить взяв среднее
арифметическое первой и второй интерполяционных формул Гаусса.
19
f 1  f 0 q 2 2
q (q 2  12 ) 3 f  2  3 f 1 q 2 (q 2  12 )( q  2) 4

 f 1 


 f 2 
2
2
3!
2
4!
q (q 2  12 )( q 2  2 2 ) 5 f 3  5 f  2 q 2 (q 2  12 )( q 2  2 2 ) 6



 f 3   
5!
2
6!
2 n 1
2 n 1
q (q 2  12 )( q 2  2 2 )( q 2  3 2 )  (q 2  (n  1) 2 )  f  n   f ( n 1)



(2n  1)!
2
P( x)  f 0  q

q 2 (q 2  12 )( q 2  2 2 )  (q 2  (n  1) 2 ) 2 n
 f n
(2n)!
где q 
x  x0
.
h
Интерполяционная формула Бесселя
Интерполяционная формула Бесселя имеет вид
1

 q  q(q  1)
f  f1 
1
q (q  1)  f 1   f 0 
2
P( x)  0
  q  f 0 


3 f 1 
2
2
2
2
3!

1

 q  q(q  1)( q  1)( q  2)
4
4
q(q  1)( q  1)( q  2)  f  2   f 1 
2



5 f  2 
4!
2
5!
6
6
q(q  1)( q  1)( q  2)( q  2)( q  3)  f 3   f  2



6!
2
q(q  1)( q  1)( q  2)( q  2)  (q  n)( q  n  1) 2 n f  n  2 n f  n 1



(2n)!
2
2
2
1

 q  q(q  1)( q  1)( q  2)( q  2)  (q  n)( q  n  1)
2

2 n 1 f  n
(2n  1)!
где q 
x  x0
.
h
Пример.
Построить первую интерполяционную формулу Гаусса для сеточной
функции:
Таблица 1.9.2.
xi
1
2
3
4
5
fi
10
15
12
13
6
Решение.
20
Составим таблицу для данной функции, содержащую центральные
разности.
Таблица 1.9.3.
xi
fi
x-2 = 1
f-2 = 10
fi
2fi
3fi
4fi
f-2 = 5
x-1 = 2
2f-2 = -8
f-1 = 15
f-1 = -3
x0 = 3
3f-2 = 12
2f-1 = 4
f0 = 12
f0 = 1
x1 = 4
4f-2 = -24
3f-1 = -12
2f0 = -8
f1 = 13
f1 = -7
x2 = 5
f2 = 6
Определим вспомогательную переменную q 
x  x0 x  3

 x 3.
h
1
Построим полином:
q(q  1) 2
(q  1)q(q  1) 3
(q  1)q(q  1)( q  2) 4
 f 1 
 f 1 
 f 2 
2!
3!
4!
q2  q
(q 2  1)q
(q 2  1)( q 2  2q)
 12  q 
4
 (12) 
 (24) 
2
6
24
 12  q  2q 2  2q  2(q 3  q)  (q 4  q 2  2q 3  2q) 
P( x)  f 0  qf 0 
 q 4  3q 2  q  12  ( x  3) 4  3( x  3) 2  ( x  3)  12 
  x 4  12 x 3  54 x 2  108 x  81  3x 2  18 x  27  x  3  12 
  x 4  12 x 3  51x 2  89 x  39.
Ответ: интерполяционный полином для данной сеточной функции,
построенный с помощью первой интерполяционной формулы Гаусса имеет вид:
P( x)   x 4  12 x 3  51x 2  89 x  39.
21
1.10. Интерполяция по методу Эйткена
Метод
Эйткена
произвольным
можно
использовать
расположением
узлов
при
интерполировании
интерполяции,
он
удобен
с
для
программирования вычислений.
Интерполяция по методу Эйткена заключается в вычислении y = f(x) без
явного построения интерполяционного полинома. Последнее достигается путем
последовательного применения формул линейной интерполяции.
В общем случае, если даны n+1 значений аргумента x0, x1, …, xn и
соответствующих им значений функции, то интерполяционный полином n-ой
степени строится по формуле
F0,1,..., n ( x) 
F0,1,..., n1 ( x) x0  x
1
,
xn  x0 F1, 2,..., n ( x) xn  x
в которую входят предполагаемые построенными многочлены предыдущей
степени.
Пример.
Построить интерполяционный полином F(x) по методу Эйткена для
сеточной функции, заданной таблицей 1.2.2:
xi
1
2
3
fi
10
15
12
Решение.
По условию функциональной интерполяции F ( xi )  f ( xi ) . Для метода
Эйткена удобны обозначения: Fi ( x)  F ( xi )  f ( xi )  f i .
Интерполяционный полином строим поэтапно:
F0,1 ( x) 
F ( x) x0  x
1
1 10 1  x
 0


 10  (2  x)  15  (1  x)  5 x  5,
x1  x0 F1 ( x) x1  x 2  1 15 2  x
F1, 2 ( x) 
F ( x) x1  x
1
1 15 2  x
 1


 15  (3  x)  12  (2  x)  3x  21,
x2  x1 F2 ( x) x2  x 3  2 12 3  x
22
F0,1, 2 ( x) 
F0,1 ( x) x0  x
5x  5 1  x 1
1
1



  (5 x  5)(3  x)  (3x  21)(1  x) 
x2  x0 F1, 2 ( x) x2  x 3  1  3x  21 3  x 2
 4 x 2  17 x  3.
Ответ: интерполяционный полином для данной сеточной функции имеет
вид: F ( x)  4 x 2  17 x  3.
1.11. Интерполирование периодических функций с помощью
тригонометрических полиномов
Пусть функция f(x) - периодическая и задана на оси - < x< +.
Путем линейной замены независимой переменной период функции
можно сделать равным Т = 2. В этом случае функцию f(x) интерполируют
тригонометрическим полиномом
n
Qn ( x)  a 0   (a k cos kx  bk sin kx) ,
(5)
при этом Qn ( xi )  f ( xi ) ,
(6)
k 1
i = 0, 1, 2, …, 2n,
где 0  x0 < x1 < … < x2n  2 - точки промежутка [0, 2].
Полином Qn(x) называют тригонометрическим полиномом порядка n.
Пусть yi = f(xi), i = 0, 1, …, 2n.
Требуется подобрать коэффициенты полинома (5) так, чтобы выполнялись
следующие равенства:


k 1

n

y1  a 0   (a k cos kx1  bk sin kx1 ) 

k 1



n

y 2 n  a 0   (a k cos kx2 n  bk sin kx2 n )
k 1

n
y 0  a 0   (a k cos kx0  bk sin kx0 )
Получили систему 2n+1 уравнений с 2n+1 неизвестными a0, a1, b1, …, an,
b n.
Определитель этой системы отличен от нуля.
23

1
1
cos x0
cos x1


1 cos x 2 n
Поэтому
sin x0
sin x1


cos nx0
cos nx1
sin nx0
sin nx1



sin x 2 n  cos nx 2 n

sin nx 2 n
данная
интерполяционная
задача
имеет
решение
и
притом
единственное.
Чтобы построить полином Qn(x), возьмем произвольную точку x, не
совпадающую с узлами xi. Для этих 2n+2 точек составим систему 2n+2
уравнений


k 1

n

f ( x0 )  a 0   (a k cos kx0  bk sin kx0 )  0 
k 1

n

f ( x1 )  a 0   (a k cos kx1  bk sin kx1 )  0 
k 1




n
f ( x 2 n )  a 0   (a k cos kx2 n  bk sin kx2 n )  0

k 1


n
Qn ( x)  a 0   (a k cos kx  bk sin kx)  0
Уравнения линейны и однородны относительно коэффициентов при
Qn(x), f(xk), ak, bk (k = 0, 1, …, 2n). Эта система имеет ненулевое решение,
поэтому ее определитель равен нулю.
Qn ( x) 1 cos x
f ( x0 ) 1 cos x0
f ( x1 ) 1 cos x1



f ( x 2 n ) 1 cos x 2 n
sin x
sin x0
sin x1

sin x 2 n
 cos nx
 cos nx0
 cos nx1


 cos nx 2 n
sin nx
sin nx0
sin nx1  0

sin nx 2 n
Разложим этот определитель по элементам первого столбца, разрешим
полученное уравнение относительно Qn(x), получим:
x  x0
x  xi 1
x  xi 1
x  x2n
sin
sin
sin
2
2
2
2
.
Qn ( x)   f ( xi )
x

x
x

x
x

x
x
i
0
i
i 1
i
i 1
i  x2 n
i 0
sin
sin
sin
sin
2
2
2
2
2n
sin
Правая часть формулы есть тригонометрический полином степени n,
удовлетворяющий условиям (6).
24
Для упрощения полинома используют формулы:
sin   sin  
1
cos(   )  cos(   ) ,
2
cos   cos  
1
cos(   )  cos(   ) ,
2
sin   cos  
1
sin(    )  sin(    ) .
2
Если f(x) – периодическая функция периода T, задана в точках x0, x1, …,
x2n отрезка [a, a+T] (a – любое число), то с помощью линейного преобразования
t
2
( x  a ) получаем
T
f ( x)  f (a 
2
t )   (t ) .
T
Если точки интерполирования xp (p = 0, 1, …, 2n) равноотстоящие, т.е.
xp 
2 p
, то интерполяционному тригонометрическому полиному можно
2n  1
придать более простой вид:
Qn ( x ) 
2n
1
 f (x p )
2n  1 p  0
sin( 2n  1)
sin
x  xp
2
xq  x p
,
2
q = 0, 1, …, 2n.
Пример.
Построить интерполирующую функцию для периодической сеточной
функции с периодом 2:
Таблица 1.11.1.
xi
0

2

fi
10
15
12
Решение.
Воспользуемся
интерполяционной
функций:
25
формулой
для
периодических
x  x0
x  x1
x  x2
x  x2
 sin
sin
 sin
2
2
2
2
Q( x)  f ( x0 ) 
 f ( x1 ) 

x0  x1
x0  x 2
x1  x0
x1  x 2
sin
 sin
sin
 sin
2
2
2
2
sin
x
 x 
 x 
 x 
x  x0
x  x1
sin     sin   
sin  sin   
 sin
2 4
2
 2 2   15 
2 2 
2
2
 f ( x2 ) 
 10  
x 2  x0
x  x1

 
 
 
sin
 sin 2
sin     sin   
sin  sin   
2
2
4
 4
 2
 4
sin
sin
 12 
x
x
x 
x
 x 
 x  
 sin   
sin       cos 
sin    cos 
2
2
2 
2
 2 4   10   2 4  
 15 





2
2
2
sin  sin


  1

2
4
2
2  2 
1   x x 
 x x  
 cos     cos   
2
10
2 2 4
 2 2 4 
 12  

2
2
1
2
 15  sin 0  sin x  

10
2

  
 

 sin     sin  x   
4 

  4
12  2 

 
10
2

  cos x  cos  sin x  sin   5  sin x 


4
4 
2  2 
2 2
2
12
2 12
2
 cos x  15  sin x  6 
 cos x 

 sin x 
 11  4 sin x  cos x.
2
2
2
2
2
Ответ: тригонометрическая интерполирующая функция имеет вид:
Q( x)  11  4 sin x  cos x.
1.12. Интерполяция кубическими сплайнами
Пусть отрезок [a, b] разбит на n равных частичных отрезков [xi, xi+1], где xi
= a + ih, i = 0, 1, …, n-1, xn = b, h 
Сплайном
называется
ba
.
n
функция,
которая
вместе
с
несколькими
производными непрерывна на всем заданном отрезке [a, b], а на каждом
частичном отрезке [xi, xi+1] в отдельности является некоторым алгебраическим
многочленом.
26
Максимальная по всем частичным отрезкам степень многочленов
называется степенью сплайна, разность между степенью сплайна и порядком
наивысшей непрерывной производной на [a, b] называется дефектом сплайна.
Например, непрерывная кусочно-линейная функция (ломаная) является
сплайном первой степени с дефектом, равным единице, т.к. непрерывна только
сама функция (нулевая производная), а первая производная уже разрывна.
На практике наиболее широкое распространение получили сплайны
третьей степени, имеющие на [a, b] непрерывную, по крайней мере, первую
производную. Эти сплайны называют кубическими и обозначают S3(x).
Величина mi  S 3 ( xi ) называется наклоном сплайна в точке (узле) xi.
Кубический сплайн, принимающий в узлах xi, xi+1 соответственно
значения fi, fi+1, имеет на частичном отрезке [xi, xi+1] следующее выражение:
( xi 1  x) 2 (2( x  xi )  h)
( x  xi ) 2 (2( xi 1  x)  h)

f

 f i 1 
i
h3
h3
( xi 1  x) 2 ( x  xi )
( x  xi ) 2 ( x  xi 1 )

 mi 
 mi 1
h2
h2
S 3 ( x) 
(7)
Можно убедиться, что
S 3 ( xi )  f i ,
S 3 ( xi 1 )  f i 1 ,
S 3 ( xi )  mi ,
S 3 ( xi 1 )  mi 1 .
Таким образом, любой алгебраический многочлен третьей степени,
принимающий в точках xi, xi+1 значения, равные соответственно fi, fi+1 и
имеющий в этих точках производную, соответственно равную mi, mi+1,
тождественно совпадает с многочленом (7).
Итак, чтобы задать кубический сплайн S3(x) на всем отрезке [a, b], нужно
задать в n+1 узлах xi его значения fi и наклоны mi, i = 0, 1, …, n.
Кубический сплайн, принимающий в узлах xi те же значения fi, что и
некоторая функция f, называется интерполяционным.
27
1.13. Способы задания наклонов интерполяционного кубического сплайна
Способ 1.
Пусть mi 
f i 1  f i 1
, i = 1, 2, …, n-1,
2h
m0 
4 f1  f 2  3 f 0
,
2h
mn 
3 f n  f n2  4 f n1
.
2h
Данные формулы являются формулами численного дифференцирования.
Способ 2.
Если известны значения fi производной f в узлах xi, то mi = fi, i = 0, 1, …,
n.
Способы 1 и 2 называются локальными, так как с их помощью на каждом
частичном отрезке [xi, xi+1] сплайн строится отдельно по формуле (7). При этом
соблюдается
непрерывность
S3(x) в
узлах
xi. Непрерывность второй
производной S3(x) в узлах не гарантируется. Поэтому дефект такого сплайна
обычно равен двум.
Способ 3 (глобальный).
Обозначим S3(xi+0) – значение S3(x) в узле xi справа, найденное
непосредственно из выражения (7), S3(xi-0) – значение S3(x) в узле xi слева,
т.е. найденное из соответствующего выражения S3(x) на частичном отрезке [xi-1,
xi], которое получается из (7) заменой i на i-1.
Получим
S 3( xi  0)  
S 3( xi  0) 
4mi 2mi 1
f f

 6 i 1 2 i ,
h
h
h
2mi 1 4mi
f f

 6 i 2 i 1 .
h
h
h
Потребуем непрерывности S3(x) в узлах:
S 3( xi  0)  S 3( xi  0) , i = 1, 2, …, n-1.
28
Приходим к системе линейных алгебраических уравнений относительно
наклонов:
mi 1  4mi  mi 1 
3( f i 1  f i 1 )
, i = 1, 2, …, n-1.
h
(8)
Т.к. неизвестных n+1, а уравнений n-1, то нужно задать еще два условия,
которые называются краевыми.
Три варианта краевых условий:
а) если известны f 0  f (a) , f n  f (b) , то задаем
m0  f 0 ,
mn  f n .
б) m0, mn находим по формулам численного дифференцирования третьего
порядка точности:
m0 
1
(11 f 0  18 f1  9 f 22 f 3 ) ,
6h
mn 
1
(11 f n  18 f n 1  9 f
6h
2 f n 3 ) .
n2
в) если известны f 0  f (a) , f n  f (b) , тогда
S 3(a)  f 0 ,
S 3(b)  f n .
Приходим к краевым условиям:
m0  
m1 3 f1  f 0 h
 
 f 0 ,
2 2
h
4
mn  
mn1 3 f n  f n1 h
 
 f n .
2
2
h
4
Краевые условия можно комбинировать, т.е. в левом и правом
крайних узлах выбирать их независимо.
Решив систему (8) при выбранных краевых условиях, находим наклоны
mi, i = 0, 1, …, n во всех узлах. Затем по формуле (7) задаем сплайн на каждом
частичном отрезке [xi, xi+1], i = 0, 1, …, n-1. построенный глобальным способом
сплайн S3(x) имеет дефект не больше единицы, т.к. этот сплайн обладает на
отрезке [a, b] непрерывной второй производной S3(x).
29
Пример.
Построить интерполирующую функцию F(x) с помощью кубических
сплайнов для сеточной функции, заданной таблицей 1.2.2:
xi
1
2
3
fi
10
15
12
Решение.
x0  1, x1  2, x2  3, h 
3 1
 1.
2
Зададим наклоны сплайн-функций, используя способ 1:
m0 
4 f1  f 2  3 f 0 4  15  12  3  10

 9,
2h
2
m1 
f 2  f 0 12  10

 1,
2h
2
m2 
3 f 2  f 0  4 f1 3  12  10  4  15

 7.
2h
2
Построим сначала сплайн-функцию на частичном отрезке [x0, x1],
используя наклоны m0 и m1:
( x1  x) 2 (2( x  x0 )  h)
( x  x0 ) 2 (2( x1  x)  h)
( x1  x) 2 ( x  x0 )
S ( x) 
 f0 
 f1 
 m0 
h3
h3
h2
( x  x0 ) 2 ( x  x1 )
(2  x) 2 (2( x  1)  1)
( x  1) 2 (2(2  x)  1)


m


10

 15 
1
1
1
h2
(2  x) 2 ( x  1)
( x  1) 2 ( x  2)

9 
 1  4 x 2  17 x  3.
1
1
I
3
Далее построим сплайн-функцию на частичном отрезке [x1, x2], используя
наклоны m1 и m2:
( x 2  x) 2 (2( x  x1 )  h)
( x  x1 ) 2 (2( x 2  x)  h)
( x 2  x) 2 ( x  x1 )

f


f

 m1 
1
2
h3
h3
h2
( x  x1 ) 2 ( x  x 2 )
(3  x) 2 (2( x  2)  1)
( x  2) 2 (2(3  x)  1)


m


15

 12 
2
1
1
h2
(3  x) 2 ( x  2)
( x  2) 2 ( x  3)

1 
 (7)  4 x 2  17 x  3.
1
1
S 3II ( x) 
Итак, интерполирующая функция F(x):
 4 x 2  17 x  3, x  [1; 2]
F ( x)  
 4 x 2  17 x  3, x  [1; 3].
2
 4 x  17 x  3, x  [2; 3]
30
Для данной сеточной функции сплайны для первого и второго частичного
отрезка совпали, коэффициент при x3 равен нулю, следовательно, весь отрезок
[1, 3] интерполируется одним полиномом второй степени.
Ответ: интерполирующая функция на отрезке [1, 3] имеет вид:
F ( x)  4 x 2  17 x  3 .
1.14. Обратное интерполирование для случая равноотстоящих узлов
Задача обратного интерполирования заключается в том, чтобы по
заданному значению функции y определить соответствующее значение
аргумента х.
Предположим, что функция f(x) монотонна и данное значение y
содержится между y0 = f(x0) и y1 = f(x1).
Заменяем функцию y интерполяционным полиномом Ньютона для
равных промежутков:
y  f0 
f 0
2 f 0
n f 0
q
q(q  1)  ... 
q(q  1) (q  n  1) ,
1!
2!
n!
отсюда q = (q), где
y  f 0 2 f 0
n f 0
 (q) 

q(q  1)  ... 
q(q  1) (q  n  1) .
f 0
2!f 0
n!f 0
За начальное приближение принимаем:
q0 
y  f0
.
y 0
Применяя метод итерации, получим:
qm   (qm1 ) (m = 1, 2, …).
q m  q , где q
Если шаг h достаточно мал, то этот процесс сходится, т.е. mlim

– истинное решение.
На практике итерационный процесс прекращают, когда выполняется
условие qm1  qm   , где  - заданная точность, тогда полагают q  qm.
Далее определяем x:
31
x  x0  qh .
Пример.
Используя сеточную функцию
Таблица 1.14.1.
xi
10
15
20
yi
1,1
1,3
1,4
найти значение x такое, что y = 1,2.
Решение.
Составляем таблицу разностей:
Таблица 1.14.2.
xi
yi
10
1,1
15
1,3
20
1,4
 yi
0,2
 2 yi
-0,1
0,1
x0 = 10; y0 = 1,1; h = 15 – 10 = 5.
q0 
1,2  1,1 1
  0,5 .
0,2
2
Далее, удерживая два знака после запятой, последовательно получаем
q1  0,5 
 0,1
 0,5  (0,5  1)  0,44 ,
2  0,2
q 2  0,5 
 0,1
 0,44  (0,44  1)  0,44 .
2  0,2
Принимаем q  0,44 .
Отсюда x  x0  qh ,
x  10  0,44  5  12,2 .
Ответ: значению y = 1,2 соответствует значение x = 12,2.
32
1.15. Обратное интерполирование для случая неравноотстоящих узлов
Данная задача может быть решена с помощью интерполяционной
формулы Лагранжа. Для этого достаточно принять переменную y за
независимую и написать формулу, выражающую x как функцию y
n
x
i 0
( y  y0 )( y  y1 )( y  yi 1 )( y  yi 1 )( y  y n )
 xi ,
( yi  y0 )( yi  y1 )( yi  yi 1 )( yi  yi 1 ) ( yi  y n )
где yi = f(xi) (i = 0, 1, …, n).
Можно также использовать интерполяционную формулу Ньютона для
неравноотстоящих узлов:
x  x0   ( y 0 , y1 )  ( y  y 0 )   ( y 0 , y1 , y 2 )  ( y  y 0 )  ( y  y1 )  ... 
  ( y 0 , y1 ,..., y n )  ( y  y 0 )  ( y  y1 ) ( y  y n 1 )
где  ( y0 , y1 ) 
x1  x0
,
y1  y 0
 ( y0 , y1 , y 2 ) 
 ( y1 , y 2 )   ( y0 , y1 )
y 2  y0
,
…
 ( y0 , y1 ,..., y n ) 
 ( y1 , y 2 ,..., y n )   ( y0 , y1 ,..., y n1 )
y n  y0
- соответствующие разделенные
разности.
Пример.
Дана сеточная функция
Таблица1.15.1.
xi
10
15
20
yi
1,1
1,3
1,4
Используя формулу Лагранжа для обратного интерполирования, найти
значение x такое, что y = 1,2.
Решение.
33
x
( y  y 0 )( y  y 2 )
( y  y 0 )( y  y1 )
( y  y1 )( y  y 2 )
 x0 
 x1 
 x2 
( y 0  y1 )( y 0  y 2 )
( y1  y 0 )( y1  y 2 )
( y 2  y 0 )( y 2  y1 )
(1,2  1,3)(1,2  1,4)
(1,2  1,1)(1,2  1,4)
(1,2  1,1)(1,2  1,3)
 10 
 15 
 20 
(1,1  1,3)(1,1  1,4)
(1,3  1,1)(1,3  1,4)
(1,4  1,1)(1,4  1,3)
10
20
 15 
 11,67.
3
3

Ответ: значению y = 1,2 соответствует значение x = 11,67. Значительное
расхождение значения, вычисленного по формуле Лагранжа для обратного
интерполирования, и значения, полученного по формуле для равноотстоящих
узлов, объясняется тем, что шаг h = 5 велик.
2. Регрессионный анализ
2.1. Постановка задачи регрессионного анализа
Регрессионный
некоторым
образом
анализ
используется,
(например,
в
виде
если
функция
определенной
должна
f(x)
аналитической
зависимости) приближать y(xi), не обязательно проходя через точки (xi, yi). Во
многих случаях задачу регрессии можно назвать сглаживанием данных.
Пусть
в
результате
экспериментальных
исследований
получено
множество точек (xi, yi), но характер функциональной зависимости между ними
остается неизвестным. Требуется найти по экспериментальным данным
аналитическое выражение зависимости y = f(х).
Формулы, полученные в результате решения подобных задач, называются
эмпирическими.
Возникает задача: найти эмпирическую формулу y = f(х) такую, что
значения y по этой формуле при x = xi как можно меньше отличались бы от
опытных данных yi (i = 1, …, n). Задача сводится к нахождению наилучших
значений параметров.
Построение эмпирической формулы состоит из двух этапов:
1) установление общего вида этой формулы;
34
2) определение наилучших ее параметров.
Общий вид формулы иногда известен из физических соображений. Если
характер зависимости неизвестен, то вид эмпирической формулы может быть
произвольным. Формулы вида y = f(х) выбираются из геометрических
соображений: экспериментальные данные наносятся на график в декартовой
или специальной системе координат, и примерно угадывается общий вид
зависимости путем сравнения полученной кривой с графиками известных
функций.
Будем считать, что тип эмпирической формулы выбран, и ее можно
представить в виде:
y = f( х ;а1, а2, …,аm ),
где f - известная функция, аi (i = 1, …, m) - неизвестные постоянные
(параметры), m < n. Требуется определить постоянные аi.
Здесь не ставится условие точного совпадения (как для случая
интерполирования) опытных данных yi со значениями эмпирической формулы
в точках xi.
На практике значения (хi, уi) содержат неизбежные погрешности, и число
уравнений системы
yj = fj( х ;а1, а2, …,аm ), j = 1, 2, …, n,
значительно больше числа неизвестных параметров. Поэтому система является
несовместной. По этой причине приходится отыскивать наилучшие значения
a1 , a2 …, am , приближенно удовлетворяющие данной системе, т. е. такие, что
невязки (уклонения)
y j  f ( x j ; a1 , a2 ,..., am )   j , j = 1, 2, …, n,
являются как можно малыми по абсолютной величине.
2.2. Линейный парный регрессионный анализ
Линейный парный регрессионный анализ заключается в определении
параметров эмпирической линейной зависимости
35
y ( x)  ax  b ,
которая описывает связь между некоторым числом N пар значений (xi, yi),
обеспечивая при этом наименьшую среднеквадратичную погрешность.
Графически эту задачу можно представить следующим образом: в облаке
точек (xi, yi) плоскости xy требуется провести прямую так, чтобы величина всех
отклонений отвечала условию
n
U    y i  y ( xi )  min ,
2
i 1
где y( xi )  axi  b .
y
y = ax + b
x
0
Рис. 2.2.1. Регрессионная прямая в облаке точек (xi, yi) плоскости xy.
Для этого нужно приравнять к нулю частные производные
N
U
   y i  (b  axi ),
b i 1
N
U
   y i  (b  axi ).
a i 1
Получим систему линейных уравнений для определения коэффициентов
b и a:
36
N
N

b
N

b
x

yi

1 i
 0

i 1
i 1
 N
N
N
2
b
x

b
x

xi y i



1
i
 0 i 1 i
i 1
i 1
Решение этой системы:
N
a
N
x y
i 1
i
i 1
 N  xi y i
i 1
2
N


  xi   N  xi2
i 1
 i 1 
N
b
N
i
,
N
1 N

  yi  a  xi  .
N  i 1
i 1

Пример.
Построить линию регрессии вида y  ax  b для сеточной функции
Таблица 2.2.1.
xi
1
2
3
4
yi
10
12
10
13
Решение.
Определим коэффициенты a и b линейной функции:
4
a
b
4
x y
i 1
i
i 1
4
i
2
 4 xi yi
i 1
4
 4 
  xi   4 xi2
i 1
 i 1 

(1  2  3  4)(10  12  10  13)  4(1  10  2  12  3  10  4  13)
 0,7 ;
(1  2  3  4) 2  4(12  2 2  3 2  4 2 )
4
1 4
 1
  yi  0,7 xi   10  12  10  13  0,7(1  2  3  4)   9,5 .
4  i 1
i 1
 4
Следовательно, искомая линейная функция имеет вид: y  0,7 x  9,5 .
Изобразим данные точки и полученную линию на графике:
37
y
y = 0,7x + 9,5
13
12
10
0
1
2
3
x
4
Рис. 2.2.2. Регрессионная прямая y  0,7 x  9,5 .
Ответ: линия регрессии для данной сеточной функции: y  0,7 x  9,5 .
2.3. Нелинейная парная регрессия
Нелинейная парная регрессия водится к получению заданной нелинейной
зависимости y(x) (нелинейной по независимой переменной x, но линейной по
параметрам этой зависимости), приближающей совокупность чисел xi и yi с
наименьшей
регрессии
среднеквадратичной
к
линейной
погрешностью.
выполняется
с
Сведение
помощью
нелинейной
линеаризующих
преобразований.
Например, задана зависимость, близкая к экспоненциальной y  ae bx .
Приведем регрессию к линейной:
ln y  ln( ae bx ) ,
ln y  ln a  bx  ln e ,
ln e  1 ,
ln y  ln a  bx ,
обозначим Y  ln y , A  ln a , получим
Y  A  bx .
38
2.4. Некоторые другие виды регрессии
Гиперболическая регрессия заключается в нахождении параметров
функции
y ( x)  a 
b
x
из решения системы уравнений
N
N
1

aN

b

yi



i 1 xi
i 1

 N
N
N
yi
1
a 1  b




2
 i 1 xi
i 1 xi
i 1 xi
Степенная регрессия обеспечивает нахождение параметров функции
y( x)  ax b
по формулам
N
b
N
 ln x  ln y
i
i 1
i 1
2
N
i
 N  ln xi ln yi
i 1


2
  ln xi   N  ln xi 
i 1
 i 1

N
N
,
N
1  N

a  exp    ln yi  b ln xi  .
i 1

 N  i 1
Показательная регрессия обеспечивает получение параметров a и b
показательной функции
y( x)  ab x
из решения системы уравнений
N
N

N
lg
a

lg
b
x

lg y i


i


i 1
i 1

N
N
N
lg a x  lg b x 2  x lg y 


i
i
i
i
 
i 1
i 1
i 1
39
Экспоненциальная
регрессия
обеспечивает
получение
параметров
функции
y  ae bx
по формулам
N
b
N
N
 xi  ln yi  N  xi ln yi
i 1
i 1
i 1
2


2
  xi   N   xi 
i 1
 i 1 
N
,
N
N
1  N

a  exp    ln yi  b xi  .
i 1

 N  i 1
Логарифмическая регрессия дает параметры a и b функции
y  a  b lg x
из решения системы уравнений
N
N

aN

b
lg
x

yi


i


i 1
i 1
 N
N
N
a lg x  b lg x 2   y lg x 


i
i
i
i
 
i 1
i 1
i 1
Параболическая регрессия обеспечивает получение трех параметров b0,
b1, и b2 приближения параболической функцией
y  b0  b1 x  b2 x 2
из решения системы из трех уравнений
N
N
N

2
b
N

b
x

b
x

yi

1 i
2 i
 0
i 1
i 1
i 1

N
N
N
 N
2
3
b0  xi  b1  xi  b2  xi   xi y i
i 1
i 1
i 1
 i 1
N
N
N
N

2
3
4
b
x

b
x

b
x

xi2 y i
 0 i

1 i
2 i
i 1
i 1
i 1
 i 1
Полиномиальная регрессия обеспечивает нахождение коэффициентов
полинома
40
y ( x)  a 0  a1 x  a 2 x 2  ...  a m x m
из решения системы уравнений
c0 a0  c1 a1  c 2 a 2  ...  c m a m  d 0
c a  c a  c a  ...  c a  d
 1 0
2 1
3 2
m 1 m
1


c m a0  c m 1 a1  c m  2 a 2  ...  c 2 m a m  d m
N
где c j   xij , j = 0, 1, 2, …, 2m,
i 1
N
d k   xik y i , k = 0, 1, 2, …, m.
i 1
41
Список литературы
1. Волков Е.А. Численные методы. М.: Наука.  1982.  256 с.
2. Демидович Б.П., Марон И.А. Основы вычислительной математики.  М.:
 1963.  660 с.
3. Киреев В.И., Пантелеев А.В. Численные методы в примерах и задачах. 
М.: Высшая школа.  2004.  480 с.
42
СОДЕРЖАНИЕ
Введение……………………………………………………..……………………….3
1. Методы интерполяции……………………………………………………………3
1.1. Постановка задачи интерполирования…….………………………….……3
1.2. Интерполяционный полином Лагранжа……………………………………5
1.3. Погрешность интерполяции полиномами Лагранжа……………………...8
1.4. Выбор узлов интерполирования……………………………………..……10
1.5. Разделенные разности……………………………………………………...10
1.6. Интерполяционный полином Ньютона для неравных промежутков…...11
1.7. Конечные разности…………………………………………………………13
1.8. Интерполяционный полином Ньютона для равных промежутков……...14
1.9. Интерполяционные формулы с центральными разностями…………….18
1.10. Интерполяция по методу Эйткена……………………………………….20
1.11. Интерполирование периодических функций с помощью
тригонометрических полиномов……………………………………..………...23
1.12. Интерполяция кубическими сплайнами………………………………...26
1.13. Способы задания наклонов интерполяционного
кубического сплайна……………………………………………………………28
1.14. Обратное интерполирование для случая равноотстоящих узлов……...31
1.15. Обратное интерполирование для случая неравноотстоящих узлов …..33
2. Регрессионный анализ……………………………………………………...…....34
2.1. Постановка задачи регрессионного анализа……………………………...34
2.2. Линейный парный регрессионный анализ………………………………..35
2.3. Нелинейная парная регрессия……………………………………………..38
2.4. Некоторые другие виды регрессии………………………………………..39
Список литературы…………………………………………..……………………..42
43
Download