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

Учебное пособие_Численные методы -26 -дек_2014 (97-2003)

.pdf
Скачиваний:
313
Добавлен:
11.03.2016
Размер:
6.51 Mб
Скачать

При n=2 получим уравнение параболы три точки:

y

(x b)(x c)

y

 

 

(x a)(x c)

(a b)(a c)

0

(b a)(b c)

 

 

 

 

 

 

 

где а, b, c – абсциссы данных точек.

y = L2(x),

y

 

(x a)(x

 

1

 

(c a)(c

 

 

проходящей через

b)

y2

,

b)

 

 

4.9. Вычисление лагранжевых коэффициентов

Укажем схему,

(i = 0, 1, 2, . . . , п) в

коэффициентов

L

(n)

(x)

 

i

 

(

 

 

облегчающую вычисление коэффициентов при yi формуле Лагранжа, так называемых лагранжевых

(x x )(x x )...(x x

)(x x

)...(x x

 

)

,

(4.36)

 

 

0

1

 

i 1

 

 

i 1

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

x )(x

x )...(x

x

 

)(x

x

 

)...(x

x

n

)

 

i

0

i

1

i

i 1

i

i 1

i

 

 

 

 

 

или в более компактной записи

 

Li

(n)

(x)

 

n 1

(x)

,

 

 

 

 

 

(x x )

 

 

 

 

(x )

 

 

 

 

i

 

n 1

i

где

n 1 (x) (x x0 )...( x xn ) .

 

 

 

 

 

 

Формула Лагранжа при этом имеет вид

L

n

(x)

 

 

n

 

 

i

i

(n)

 

L

 

(x) y

 

i 0

 

 

 

(4.37)

. Отметим,

что форма лагранжевых коэффициентов инвариантна относительно целой линейной подстановки x = at+b (а, b постоянны и а ≠ 0). Действительно, положив в формуле (4.36)

x

at

b

;

x j at j b

( j

0,1,..., n)

,

после сокращения числителя и знаменателя на a

n

, получим

 

 

(n)

(t)

(t t0 )(t t1 )...(t ti 1 )(t ti 1 )...(t tn )

,

 

Li

 

 

 

 

 

 

 

 

 

 

 

 

 

(ti

t0 )(ti t1 )...(ti ti 1 )(ti

ti 1 )...(ti tn )

 

 

 

 

или

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Li

(n)

(t)

 

n 1

(t)

 

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(t t

)

(t

 

 

 

 

 

 

 

 

 

 

 

)

 

 

 

 

 

 

 

 

 

 

 

i

 

n 1

i

 

 

 

 

 

где

n 1 (t) (t t0 )(t t1 )...(t tn ) . Что и требовалось доказать.

 

(4.38)

(4.38’)

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

x- x0

x0- x1

x0- x2 ... x0- xn,

x1- x0

x- x1

x1- x2 ... x1- xn,

x2- x0

x2- x1

x- x2 ... x2- xn,

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . .

xn- x0 xn- x1 xn- x2 ... x- xn.

111

Обозначим произведение элементов первой строки через D0, второй - через D1 и т. д. Произведение же элементов главной диагонали (в схеме эти элементы подчеркнуты), очевидно, будет Пп+1(х). Отсюда следует, что

(n)

(x)

n 1

(x)

(4.39)

Li

D

(i 1,2,...n) .

 

 

 

 

 

 

i

 

 

Следовательно,

n

y

 

Ln (x) n 1 (x)

 

i

D

i 0

 

i

.

(4.40)

В случае равноотстоящих точек лагранжевы коэффициенты могут быть приведены к более простому виду. В самом деле, полагая x=x0 + th,

будем иметь t0=0, t1= 1,..., tn=n.

Отсюда Пn- 1 t t t 1 t 2 t n ,

'

(i) ( 1)

n 1

i!(n i)!.

 

 

 

 

n 1

 

 

 

Подставив эти выражения в формулу (4.38'), получим

где

C

n

i

 

 

 

1

 

 

 

 

n i

i

n

t

П

 

t

1

Cn

L

 

n 1

 

 

 

i

 

n!

 

 

t

i

 

 

 

 

 

 

 

n!

.

i! n i !

 

i

0,1,2,...,

n

,

(4.41)

Отсюда

где

t

x x0 h

 

 

n

 

i

 

1

 

n i C n

Ln (x)

n 1 (t)

( 1)

n!

t i

 

i 0

 

.

yi

,

(4.42)

Задача интерполирования в случае постоянного шага h облегчается еще тем, что имеются таблицы для лагранжевых коэффициентов, так что фактически все вычисления сводятся к умножению табличных коэффициентов на соответствующие значения функции yi и к суммированию.

4.10. Оценка погрешности интерполяционной формулы Лагранжа

Для функции y = f(x) мы построили интерполяционный полином Лагранжа Ln(x), принимающий в точках x0, x1 , ... ,хп заданные значения:

y0=f(x0), y1=f(x1) , ... , yn=f(xn).

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

Rn= f(x) - Ln(x).

Для определения этой степени приближения наложим на функцию у=f(x) дополнительные ограничения. Мы будем предполагать, что в

112

x1, ... ,хп.
(4.43)
коэффициент,
f’(x), f"(x), ...
узлы

рассматриваемой области а≤х≤b изменения х, содержащей интерполирования, функция f(x) имеет все производные

,f(n+1)(x) до (n+1)-гo порядка включительно. Введем вспомогательную функцию

где

u(x) f (x) Ln

 

n 1

(x) (x x

0

)(x x

)...(x x

n

)

 

 

1

 

 

(x)

и k

k

n 1 (x) ,

постоянный

который будет выбран далее.

Функция и(х), очевидно, имеет п+1 корень в точках x0,

Подберем теперь коэффициент k так, чтобы и(х) имела (n+2)-й корень в

любой, но фиксированной точке

x

отрезка [а, b], не совпадающей с

узлами

интерполирования.

 

Для

этого

достаточно

положить f (x) Ln (x) k n 1 (x) 0 .

Отсюда, так как n 1 (x) 0

, то

k

f

(x) L

n

(x)

 

 

 

 

 

n 1

(x)

 

 

 

 

.

(4.44)

При этом значении множителя k функция и(х) имеет п+2 корня на отрезке [а, b] и будет обращаться в нуль на концах каждого из отрезков:

[x

0

, x ],[x

, x

2

],...,[x

i

,

 

1

1

 

 

 

x],[x,

x

i 1

],...,[x

n 1

,

 

 

 

xn

]

.

Применяя теорему Ролля к каждому из этих отрезков, убеждаемся, что производная и'(х) имеет не менее п +1 корня на отрезке [а, b]. Применив теорему Ролля к производной и'(х), мы убедимся, что вторая производная и"(х) обращается в нуль не менее п раз на отрезке [а, b]. Продолжая эти рассуждения, придем к заключению, что на рассматриваемом отрезке [а,b] производная и(п+1)(х) имеет хотя бы один корень, который обозначим через ξ, т. е. и(п+1)(ξ)=0.

Из формулы (4.43), так как Ln(п+1)(x)=0 и Пn+1(п+1)(x)= (n+1)! имеем:

и(п+1)(х)= f(п+1) (х) - k(n+1)!. При х = ξ получаем: 0 =f(п+1) (ξ) - k(n+1)!.

Отсюда

k

f

(n 1)

ξ

 

 

(n 1)!

.

(4.45)

Сравнивая правые части формул (4.44) и (4.45), будем иметь

 

f (x) L (x)

 

 

 

f (n 1) ξ

 

 

 

n

 

 

 

 

 

,

 

 

 

n 1 (x)

 

(n 1)!

 

 

То есть

 

 

f (n 1) ξ

 

 

 

 

f (x) Ln (x)

 

n 1

(x) .

(4.46)

 

(n 1)!

 

 

 

 

 

 

 

 

 

113

 

 

 

 

 

 

 

 

 

Так как

x

произвольно, то формулу (4.46)

 

 

 

 

 

 

f

(n 1)

 

 

 

 

 

 

 

 

 

R

n

(x)

f (x) L

n

(x)

(n 1)!

 

 

 

 

 

 

 

 

 

 

можно записать и так:

 

n 1

(x) ,

(4.47)

 

где ξ зависит от х и лежит внутри отрезка [а,b].

Отметим, что формула (4.47) справедлива для всех точек отрезка [а,b], в том числе и для узлов интерполирования.

Обозначая через

M n 1

max

f

a x b

 

(n 1)

(x)

, получаем следующую оценку

для абсолютной погрешности интерполяционной формулы Лагранжа:

Rn

где

(x)

f (x) L

n

(x)

 

 

 

 

n 1

(x) (x x

0

 

 

 

M

 

 

n 1

 

 

(n 1)!

n 1

 

 

)(x x

)...(x

1

 

(x xn

) ,

) .

(4.48)

(4.48’)

4.11. Оценки погрешностей интерполяционных формул Ньютона

Если узлы интерполирования х0, х1 , . . . ,

хi+1 – хi=h (i = 0, 1, 2, ... , n-1), то, полагая

q

хп равноотстоящие, причем

x x

0

, на основании формулы

 

 

 

h

 

 

(4.48) из предыдущего параграфа получим

интерполяционной формулы Ньютона

R

(x) h

n 1

 

q(q 1)...(q n)

 

 

 

n

 

 

 

(n 1)!

 

 

 

 

остаточный член первой

f

(n 1)

,

(4.49)

 

 

 

где ξ некоторое промежуточное значение между узлами интерполирования х0 , х1, ... , хn и рассматриваемой точкой х. Заметим, что

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

ξ [x0 , xn ] ; при

экстраполировании возможно, что ξ [x0 , xn ]

Аналогично, полагая в формуле

.

(4.47) q x xn , получим

h

остаточный член второй интерполяционной формулы Ньютона

R (x) hn 1

 

q(q 1)...(q n)

f (n 1) ,

(4.50)

 

n

 

(n 1)!

 

 

 

 

 

 

где ξ некоторое промежуточное значение между узлами интерполирования х0 , х1, ... , хn и точкой х.

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

114

которые в пределах заданной точности можно считать постоянными. Предполагая, что nпочти постоянны для функции у = f(x) и h достаточно мало, и учитывая, что

f n 1 (x) lim n 1 y ,

h 0 hn 1

приближенно можно положить

 

 

 

n 1

y

 

f

n 1

(ξ)

 

 

0

 

 

 

 

h

n 1

 

 

 

 

 

 

 

 

 

 

 

.

В этом случае остаточный член первой интерполяционной формулы Ньютона приближенно равен

R

(x)

n

 

q(q 1)...(q n) (n 1)!

n 1

y

 

 

0

 

 

.

В этих же условиях для остаточного члена второй интерполяционной формулы Ньютона получаем выражение

R

(x)

n

 

q(q 1)...(q n) (n 1)!

n 1

y

 

 

n

 

 

.

4.12. Кусочно-линейное и кусочно-квадратичное интерполирование

Иногда интерполирование по всей совокупности точек бывает недостаточным. В этих случаях можно воспользоваться объединением фрагментов графиков полиномов низкой степени и интерполированием между последовательными узлами. Самый простой в использовании полином первой степени. Он создает ломаную, состоящую из отрезков, которые проходят через две точки. Чтобы представить эту кусочнолинейную кривую, используется полином Лагранжа

 

 

 

 

х х

 

 

x x

 

 

S

(x) y

 

x

k 1

 

 

у

x

 

k

 

 

 

x

 

x

k

 

 

k

 

k 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k

k 1

 

 

k 1

 

 

k

 

или формулу угла наклона отрезка линии в точке

 

 

 

 

 

S

(x) y

k

yk 1 yk x x

,

 

 

 

k

 

 

 

xk 1

xk

 

k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

где Sk (x) – линейный сплайн на отрезке [xk+1, xk]; yk – заданное значение функции, полученное экспериментально в заданных узлах.

Аналогично можно построить кусочно-квадратичный полином. Недостатком этого подхода является резкое изменение кривизны в

общих узлах.

115

4.13. Простейший подход к сглаживанию

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

На первом этапе для таблично заданной функции найти такую функцию S(x), составленную из линейных функций Si (х) ai bi x xi ,

чтобы f x Si x для всех х в смысле минимума квадрата отклонений, т.е.

i 1

 

 

 

 

2

 

f (x

) S

(x

)

 

k

i

k

 

 

k i 1

 

 

 

 

 

min

.

В результате решается задача нахождения

коэффициентов ai, bi методом наименьших квадратов:

ai

 

1

fi 1

fi

fi 1 ,

bi

 

1

fi 1

fi 1

3

2h

 

 

 

 

 

 

 

 

 

Второй этап состоит в пересчете данной таблицы

.

 

 

 

 

 

 

 

 

 

 

S

x

 

1

f

 

f

 

f

 

 

 

i 1

i

i 1

i

i

 

3

 

 

 

 

 

 

 

 

 

 

 

 

для

S

0

x

 

0

i1,

f0

N

и

1.

 

S

N

 

Доопределим новую табличную функцию значениямиxN fN . В результате этого получаем новую табличную

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

4.14. Кусочно–кубические сплайны

Определение. Функция S(x) называется кубическим сплайном, если существует N кубических полиномов Sk(x) с коэффициентами sk,0, sk,1, sk,2,

sk,3,

которые удовлетворяют следующим условиям:

x xk , xk 1

и

1.

S x Sk x sk ,0

sk ,1 x xk

sk ,2 x xk

 

sk ,3 x xk

 

, для

 

 

 

 

2

 

3

 

 

 

k 0, N 1, т.е. кубический сплайн состоит из кубических полиномов.

2.Кусочно-кубическое интерполирование задается совокупностью точек,

т.е. S xk yk

для

k 0, N .

3. Кусочно-кубическое представление состояло из кривых, которые являются гладкими непрерывными функциями. Вторая и первая производные должны быть непрерывны:

S

k

x

S

 

x

S

x

S

x

,

S

x

S

 

x

 

k 1

 

k 1 k 1 ,

k

k 1

k 1 k 1

k

k 1

k 1

k 1 .

Наиболее часто на практике используется кубический сплайн

следующего вида:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S

 

x a b x x

c

x x 2

d

x x 3 .

 

 

 

 

 

3

i

i

i

i

 

i

i

 

i

 

 

Для задания сплайна коэффициенты ai ,

bi

, ci

, di

– подбираются так,

чтобы S3 xi yi , а первая и вторая производные были непрерывными.

116

4.15.Леммы о сплайнах

1.Смыкающий (чертежный) сплайн. Существует единственный кубический сплайн, который имеет первую производную с граничными

условиями S ( a ) D0 , S ( b ) DN , т.е. смыкающий сплайн имеет определенный наклон в крайних точках.

2. Естественный сплайн. Существует единственный кубический

сплайн

со свободными граничными условиями S ( a ) 0

,

S ( b ) 0 , т.е.

сплайн

допускает свободный наклон на краях для обеспечения

положения, которое минимизирует осцилляцию кривой.

 

 

3. Экстраполяционный сплайн. Существует единственный кубический сплайн, который используется для экстраполирования по

внутренним узлам, чтобы определить

S ( a ) по узлам х1, х2 и

S ( b ) по узлам

 

 

 

хN-1, хN-2.

4. Сплайн, заканчивающийся параболой. Существует единственный

кубический сплайн, такой, что

S (х) 0

на интервале [x0, x1] и

S (х) 0

на

 

 

 

 

 

интервале [xN-1, xN].

 

 

 

 

5. Сплайн с заданной кривизной в крайних точках. Существует единственный кубический сплайн с заданными значениями второй производной в крайних точках.

4.16. Аппроксимация

Пусть y является функцией аргумента x. Это означает, что любому значению x из области определения поставлено в соответствие значение y. На практике иногда не возможно записать зависимость y(x) в явном виде. Вместе с тем, не редко эта зависимость задается в табличном виде. Это означает, что дискретному множеству значений {xi} поставлено в соответствие множество значений {yi}, 0 i m. Эти значения – либо результаты расчета, либо набор экспериментальных данных [5].

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

117

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

.

Коэффициенты aj подбираются таким образом, чтобы достичь наименьшего отклонения полинома от заданной функции.

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

4.17.Метод наименьших квадратов

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

Рассмотрим рис.4.3, отражающий большой разброс точек. В

простейшем случае будем искать аппроксимирующую функцию (x) в виде полинома первой степени (прямой): (x) = a0 + a1x.

Рис. 4.3. Аппроксимация

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

118

Пусть общее количество точек равно m. Обозначим i отклонение i-й точки от искомой прямой: i = (xi ) – yi.

 

Как видно из рис. 4.4,

 

отклонения

могут

быть

как

 

положительными,

так

и

 

отрицательными.

 

Чтобы

 

определить

близость

искомой

 

функции к табличным точкам,

 

необходимо

составить

сумму

Рис. 4.4 Отклонения

квадратов всех отклонений.

 

 

 

 

 

Метод наименьших квадратов заключается в минимизации суммы квадратов отклонений. В нашем случае эта функция равна:

 

m

 

 

 

m

a

 

 

y

2

S

 

 

2

 

 

 

a x

 

i

 

0

.

 

 

 

 

1 i

i

 

 

i 1

 

 

 

i 1

 

 

 

 

 

Для нахождения минимума функции S необходимо приравнять нулю ее частные производные. В результате получим систему уравнений:

 

S

0,

 

a0

 

 

 

 

S

 

 

0.

 

 

a

 

 

1

 

Опуская промежуточные преобразования, получим систему уравнений

для нахождения неизвестных коэффициентов a0 и a1:

ma

0

 

 

x

a

 

 

y

i

,

 

 

 

i

1

 

 

 

 

x a

 

 

x2

a

x y .

 

 

 

 

 

0

 

i

1

 

 

i i

i

 

 

 

где m – количество точек; суммирование здесь и далее предполагается по всем точкам (i = 1, 2,…, m).

Метод наименьших квадратов несложно распространить на общий случай, когда мы будем искать функцию (x) в виде полинома степени n: .

Отметим, что в случае аппроксимации всегда справедливо следующее соотношение, связывающее количество исходных точек m и степень искомого полинома n m – 1, причем в случае равенства мы приходим к интерполяции (все отклонения равны нулю).

Неизвестные коэффициенты a0, a1, …, an находим из условия минимизации суммы квадратов отклонений искомой функции от исходных точек. По аналогии с полиномом первой степени в нашем случае имеем систему уравнений: ZA = B, где Z - квадратная матрица размерностью (n+1) (n+1), составленная из известных координат точек;

119

A – вектор неизвестных коэффициентов: Y – вектор-столбец свободных членов:

 

 

m

 

xi

xi

...

xi

 

a0

yi

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

i

i

i

 

i

 

 

 

 

 

i

 

i

 

 

 

 

 

1

 

 

 

 

 

 

x

 

 

x

2

 

x

3

...

 

x

n 1

 

 

a

 

 

 

x y

 

Z

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

; A

 

 

 

; Y

 

 

 

 

.

 

...

 

...

 

 

...

 

...

...

 

 

...

 

 

...

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

n

 

x

n 1

 

x

n 2

...

 

x

2n

 

 

a

 

 

 

 

n

 

 

 

 

 

i

 

i

 

 

i

 

 

i

 

 

n

xi

yi

 

 

 

 

 

 

 

 

 

4.18. Примеры

Пример 4.1

 

 

 

1

 

 

 

 

0

 

 

 

 

 

 

 

Даны пять исходных точек:

x

 

2

 

,

 

 

 

 

 

 

 

 

 

5,5

 

 

 

 

 

7,8

 

 

 

 

 

 

 

 

 

6,7

 

 

 

1

 

 

 

 

y

 

2,4

 

 

 

 

 

 

 

0,7

 

 

1,2

 

 

 

 

.

Построить

интерполяционные многочлены: первой степени, второй степени, четвертой степени. Построить аппроксимирующие многочлены: первой, второй степени.

Построение кусочно-линейной интерполяционной функции. Метод неопределенных коэффициентов. Ручной счет

Расчет по первой и второй точкам: x1 1,

Искомая функция:

y a0

a1 x .

 

1

1

6,7

 

 

 

1

1

6,7

 

 

 

 

 

 

 

 

 

 

 

 

0

1

 

1строка

0

1

5,7

 

1

 

 

 

 

 

 

 

 

 

 

a1

5,7 ;

a0 6,7 1 5,7 1.

 

 

 

Следовательно,

y 1 5,7x при

1 x 0 .

Расчет по второй и третьей точкам: x2 0 , Искомая функция: y a0 a1 x .

y1

y2

6,7

1 ;

;

x

x

2

 

3

 

 

2

0

,

, y2

y

3

 

 

 

1 .

2,4 .

1

0

 

 

 

 

1

0

1

 

 

 

1

0

1

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

2,4

 

1строка

0

2

1,4

 

2

0

1

0,7

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a1 0,7 ; a0 1 0 0,7 1 .

 

 

 

Следовательно, y 1 0,7x при 0 x 2 .

 

 

 

Расчет по третьей и четвертой точкам:

x3

2

,

Искомая функция: y a0 a1 x .

 

 

 

y

3

 

2,4

;

x4 5,5 ,

y

4

 

0,7

.

120