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

Tarasov

.pdf
Скачиваний:
13
Добавлен:
29.03.2016
Размер:
1.63 Mб
Скачать

Лекция 1. Задача приближения функции

Постановка задачи.

Пусть на отрезке [a,b] функция у=f(x) задана таблицей своих значений y0 f (x0 ),...,yn f (xn ) .

Допустим, что вид функции f(x) неизвестен. На практике часто встречается задача вычисления значений функции у=f(x) в точках х, отличных от x0 ,...,xn . Кроме того, в некоторых случаях, не смотря на то,

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

Определение. Точки x0, ..., xn называются узлами интерполяции.

Требуется найти аналитическое выражение функции F(x), совпадающей в узлах интерполяции со значениями данной функции, т.е.

F(x0 ) y0 , F(x1) y1, ..., F(xn ) yn .

Определение. Процесс вычисления значений функции F(x) в точках отличных от узлов интерполирования называется интерполированием функции f(x). Если x x0 , xn , то задача вычисления приближенного

значения функции в т. х называется интерполированием, иначе – экстраполированием.

Геометрически задача интерполирования функции одной переменной означает построение кривой, проходящей через заданные

точки (x0 , y0 ),(x1, y1),...,(xn , yn ) (рисунок 1). То есть задача в такой

постановке может иметь бесконечное число решений.

у

x 0 x 1

x 2

x 3

х

Рисунок 1 − Геометрическая иллюстрация задачи интерполирования функции

Задача становится однозначной, если в качестве F(x) выбрать многочлен степени не выше n, такой что:

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

Определение. Многочлен Fn (x), отвечающий вышеназванным условиям, называется интерполяционным многочленом.

Знание свойств функции f позволяет осознанно выбирать класс G аппроксимирующих функций. Широко используется класс функций вида

Фm (x) c0φ0 (x) c1φ1(x) ... cmφm (x),

(1.1)

являющихся линейными комбинациями некоторых базисных функц ий

0 (x), ..., m (x).

Будем искать приближающую функцию в виде многочлена степени m, с коэффициентами с0 , ..., сm , которые находятся в зависимости от вида приближения. Функцию Фm (х) называют обобщенным многочленом по системе функций 0 (х), 1 (х), …, m (х), а число m – его степенью. Назовем обобщенный многочлен Фm (х) интерполяционным,

если он удовлетворяет условию

 

Фm (хi )=yi , (i=0,1,…,n).

(1.2)

Покажем, что условие (1 .2) позволяет найти

приближающую

функцию единственным образом

 

c0 0

c0 0

. .c0 0

(x0 ) c1 1 (x0 ) ... cm m (x0 ) y0

(x1 ) c1 1 (x1 ) ... cm m (x1 ) y1

(1.3)

. . . . . . . . .

(xn ) c1 1 (xn ) ... cm m (xn ) yn,

Система (1.3) есть система линейных алгебраических уравнений относительно коэффициентов с0 1 ,…,сm .

Эта система n линейных уравнений имеет единственное решение, если выполняется условие m=n и определитель квадратной матрицы Р

 

0

(x0 ), 1(x0 ),...,

n (x0 )

 

 

 

 

detP

0

(x1 ), 1( x1 ) ,...,

n

(x1 )

 

0.

 

 

 

 

 

 

 

. . . . . . . .

 

 

 

 

 

0

(xn ), 1(xn ),...,

n (xn )

 

 

Определение. Система функций

 

0

(x),..., n (x) называется

 

 

 

 

 

 

 

Чебышевской системой функций на [ a,b],если определитель матрицы

отличен от

нуля

detP≠0 при

любом

расположении узлов

xi [a,b],

i=0,1,…n, когда среди этих узлов нет совпадающих.

 

Если мы имеем такую систему функций, то можно утверждать, что

существует

единственный

для

данной

системы

функций

интерполяционный

многочлен

Фm (х), коэффициенты

которого

определяются единственным образом из систе мы (1.3).

 

Пример. При m n система функций 1 , х, х2 ,…, хm

линейно

независима в точках х0 , х1 , …, хn , если они попарно различны.

 

1.1 Интерполяционный многочлен Лагранжа

Рассмотрим случай, когда узлы интерполирования не равноотстоят друг от друга на отрезке [ a,b].

Тогда шаг h=xi + 1 x i ≠const. Задача имеет единственное решение, если в качестве интерполирующей функции F(x) взять алгебраический многочлен

Ln (x)=a0 +a1 x+a2 x2 +…+an xn ,

где а i неизвестные постоянные коэффициенты.

Используя условие (1 .2) можем записать

Ln (x0 ) y0 ,

Ln (x1 ) y1,..., Ln (xn ) yn .

(1.4)

Запишем это в виде:

 

 

 

 

 

 

 

a0

a1x0

a12 x02

... a1n x0n y0

 

a

a x

a

x2

... a

xn

y

 

0

1 1

12

1

1n

1

1

(1.5)

 

 

 

 

 

 

 

. . . . . . . . . .

 

 

 

 

2

 

n

yn .

 

a0 a1xn a12 xn

... a1n xn

 

Эта система однозначно разрешима, так

как система

функций

1,х,х2 ,…,хn линейно независима в точках х0 1 ,…,хn . Однозначная разрешимость следует из того факта, что определитель этой системы (определитель Вандермонда)

1

x0

x02

...

x0n

 

 

1

x

x2

...

xn

 

(xi x j ) 0.

 

1

1

...

1

 

... ... ...

...

 

0 j i n

1

xn

xn2

...

xnn

 

 

Без вывода приведем многочлена Лагранжа

Ln (x) y0

 

(x x1 )...(x xn )

 

 

 

(x

0

x )...(x

0

x

n

)

 

 

 

 

 

 

1

 

 

 

 

y1

(x x0 )(x x2 )...(x xn )

 

 

(x

x

0

)(x

x

2

)...(x

x

n

)

 

 

1

 

 

 

1

 

 

1

 

 

 

одну

... yn

из форм записи интерполяционного

 

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

(1.6)

 

 

 

.

 

(xn x0 )...(xn xn 1 )

 

Определение. Этот многочлен называется интерполяционным многочленом Лагранжа и сокращенно записывается в виде

n

(x x0 )(x x1 )...(x xi 1 )(x xi 1 )...(x xn )

 

 

 

Ln (x)= yi

 

 

 

 

 

 

 

 

 

 

 

 

.

(1.7)

(x

x

 

)(x

x )...(x

 

x

)(x

x

)...(x x

 

)

i 0

0

i

n

 

 

 

i

 

i

1

i 1

i

i 1

i

 

 

 

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

L1

(x)= y

 

 

(x x0 )

y

(x x0 )

− при линейной интерполяции;

0 (x

 

x )

 

 

 

 

0

 

 

1 (x x

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

1

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(x x1 )(x x2 )

 

y1

 

(x x0 )(x x2 )

 

y2

(x x0 )(x x1 )

L2

(x)= y0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

− при

(x

0

x )(x

0

x

)

 

(x

x

)(x x

)

(x

2

x

)(x

2

x )

 

 

 

 

 

1

 

2

 

 

 

 

1

0

1

2

 

 

 

0

 

1

 

квадратичной интерполяции.

 

 

 

 

 

 

 

 

 

 

 

 

Рассмотрим

 

теперь

случай

с

 

равноотстоящими узлами. Тогда

интерполяционная формула Лагранжа заметно упрощается. В этом случае шаг h=xi + 1 -xi =const. Введем в рассмотрение многочлен вида

Qi (x)

(x x0 )(x x1 )...(x xi 1 )...(x xn )

.

(xi x0 )(xi x1 )...(xi xi 1 )...(xi xn )

 

 

Введем обозначение q=

x x0

, отсюда следует, что

h

 

 

 

x x0 =

q h ,

 

x x1 = q h h h (q 1) ,

. . . . . . . . . . .

x xi = q h i h h (q i), x xn = q h n h h (q n).

Тогда многочлен Qi примет вид

Q (x)

q(q 1) [q (i 1)] [q (i 1)]...(q n) hn

 

 

.

 

 

i

i h(i 1)

h...h( h)...[ (n i) h]

 

Произведя простейшие преобразования, получим выражение вида:

Qi (q)= q (q 1)...(q n) ( 1)n i

=

( 1)n i

(q i) i!(n i)!

 

 

где Cni – число сочетаний из n элементов по i

Ci

 

 

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

 

n

 

 

 

 

 

,

 

 

 

 

 

 

q i

 

n!

 

 

C i

 

 

n !

.

 

 

 

 

 

 

 

 

 

n

 

 

 

i ! (n i) !

 

 

 

 

 

 

 

 

Тогда интерполяционный многочлен Лагранжа для равноотстоящих узлов имеет вид:

L (x) q(q 1)...(q n) ( 1)n i

i

 

Cn y .

 

 

n

 

 

n

 

 

 

i

n!

i 0

q i

 

 

1.1.1 Оценка погрешности интерполяционного многочлена

Оценить погрешность интерполяционной формулы Лагранжа можно только тогда, когда известно аналитическое выражение интерполируемой функции, а точнее, если известно максимальное значение (n+1)-ой производной функции f(x) на отрезке [a,b]. Пусть

|R n (x)| =| f(x) −L n (x)|,

где Rn (x) –погрешность;

f(x) − точное значение функции в точке х;

Ln (x) − приближенное значение, полученное по полиному Лагранжа.

Если обозначить

 

через

M n 1

= f (n 1) (ξ) max

 

f (n 1) (x)

 

, где

ξ [a,b],

 

 

 

причем х0 =а, хn = b, то

 

 

 

 

 

 

 

x [a,b]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Rn (x)

 

 

M n 1

 

 

(ξ x0 )(ξ x1)....(ξ xn )

 

.

 

 

 

 

 

 

 

 

(n 1)!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.2 Интерполяционные полиномы Ньютона

1.2.1 Интерполяционный многочлен Ньютона для равноотстоящих узлов

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

Определение. Конечной разностью перового порядка называется разность между значениями функции в соседних узлах интерполяции. Тогда конечные разности в точках х0 1 ,…,хn - 1

y0 y1 y0 f (x1) f (x0 ) f (x0 ) ,

y1 y2 y1 f (x2 ) f (x1) f (x1) ,

. . . . . . . . . . .

yn 1 yn yn 1 f (xn ) f (xn 1) f (xn 1) .

 

 

Конечная разность второго

 

порядка имеет вид:

 

 

 

 

 

 

 

 

 

2 y y

1

y ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

i

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

. . . . . .

 

 

 

 

 

 

 

 

 

 

 

 

 

n y ( n 1 y ).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

i

 

 

 

 

 

 

 

 

 

Рассмотрим некоторые свойства конечных разностей. Вторая

конечная разность в точке хi

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2 y

i

f (x

 

x) f (x x)

f (x

i 1

) f (x )

 

 

 

i 1

 

 

 

 

 

 

i

 

 

 

 

 

 

i

 

.

f (xi 2 ) 2 f (xi 1 ) f (xi ) yi 2 2 yi 1 yi

 

 

 

 

 

Аналогично третья конечная разность

 

 

 

 

 

 

 

 

 

3 y y

i 3

3 y

 

3 y

i 1

y .

 

 

 

 

 

i

 

 

 

 

i 2

 

 

 

 

i

 

 

 

 

Общее выражение для конечной разности n-го порядка имеет вид

n y y

n

i

C1 y

n i 1

C 2 y

n i 2

...

 

 

 

 

 

i

 

 

n

 

n

 

 

 

 

 

 

( 1)m C m y

n i m

...( 1)n y ,

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

i

 

 

 

 

 

 

а вообще, конечная разность порядка m от конечной разности порядка n

m ( n y)

m n y .

Конечные разности n-го порядка от многочлена степени n – есть величины постоянные, а конечные разности n+1-го порядка равны нулю.

Для вычисления значений функции в начале таблицы требуется построить интерполяционный многочлен степени n такой, что выполнены условия интерполяции

Pn (x0 ) y0 ,...,Pn (xn ) yn .

В силу единственности многочлена степени n, построенного по n+1 значениям функции f(x) многочлен Pn (x) , в конечном счете, совпадает с многочленом Лагранжа. Найдем этот многочлен в виде:

Pn(x) a0 a1 (x x0) a2(x x0)(x x1) ... an(x x0)...(x xn 1),

где аi (i=0,1,…, n) – неизвестные коэффициенты. Для нахождения а0 положим x x0 . Тогда P(x0 ) a0 , отсюда а0 =у0 .

Для вычисления a1 рассмотрим первую конечную разность для многочлена Pn (x) в точке х.

Pn (x) Pn (x h) Pn (x) [a0 a1 (x x0 h) ...

an (x x0 h) ...

...

(x xn 1 h)] a0 a1 (x x0 ) ...

an (x x0 )...

(x xn 1 ) .

В результате преобразований получим

 

 

Pn (x) h a1 2ha2 (x x0 ) ...

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

Вычислим первую конечную разность многочлена Pn (x) в точке

х0

Pn (x0 ) a1 h , но Pn (x0 ) f (x1) f (x0 ) y1 y0 y0 ,

откуда a1 y0 . h

Чтобы определить коэффициент а2 , составим конечную разность

второго

порядка 2 P (x) P (x h) P (x).

Отсюда

после

 

n

 

n

n

 

 

преобразования получим

a

2 y

Вычисляя

конечные

разности

0 .

 

 

2

2!h2

 

 

 

 

 

 

 

 

 

более высоких порядков и полагая х=х0 , придем к общей формуле для

определения коэффициентов: a i y0

(i=0,1,2,…,n).

 

 

 

 

 

 

i

i !hi

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Подставим значени я ai в многочлен, в результате получим первую

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

 

 

 

 

P (x) y

 

 

y0

(x x

) ...

n y0

(x x

)...(x x

 

).

 

 

n ! hn

n 1

n

0

 

1! h

0

 

0

 

 

Первую интерполяционную формулу можно записать в том виде, в котором ее удобнее использовать для интерполирования в начале таблицы. Для этого введем переменную q=(x-x0 )/h, где h– шаг интерполирования. Тогда первая формула примет вид

P (x) y

 

q y

 

 

q(q 1)

2 y

 

...

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

n y

 

.

0

0

 

0

 

0

n

 

2 !

 

 

n !

 

 

 

 

 

 

 

 

 

 

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

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

Pn (x) a 0 a1(x xn ) a 2(x xn )(x xn 1 ) ...

a n(x xn )...

(x x1 ).

Неизвестные коэффициенты а0 1 ,…,аn подберем так, чтобы были выполнены равенства

Pn (x0 ) y0 ,

Pn (x1 ) y1,..., Pn (xn ) yn .

Для этого необходимо и достаточно, чтобы

i P (x

n i

) i y

n i

(i=0,1,…,n).

n

 

 

 

В случае, если положить x=xn , то сразу определяется коэффициент

а0

Pn (x) yn a0 .

Из выражения для первой конечной разности найдем a1 :

Pn (x) 1 ha 1 2 ha 2 (x xn 1) ... n ha n(x x n 1)(x x n 2)...(x x1).

Отсюда, полагая х=хn - 1 , получим

a yn 1 .

Из выражения для

 

 

1

h

 

 

 

 

 

второй конечной разности найдем а2 :

a2

 

2 yn 2 .

Общая формула для

 

 

 

2!h2

 

коэффициента аi имеет вид ai i yn i . i!hi

Подставим эти коэффициенты в формулу многочлена и получим вторую интерполяционную формулу Ньютона:

P (x) y

n

 

yn 1 (x x

) ...

n y0 (x x

)...(x x ).

n

 

h

n

 

n!hn

n

1

 

 

 

 

 

 

 

На практике используют формулу Ньютона в другом виде. Положим q=(x-xn )/h. Тогда

 

 

 

 

 

q(q 1)

2

 

 

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

 

 

P (x) y

n

q y

n 1

 

 

y

n 2

...

 

 

y

0

.

 

 

n

 

 

2!

 

 

n!

 

 

 

 

 

 

 

 

 

 

 

 

 

Лекция 2. Интерполирование сплайнами

Многочлен Лагранжа или Ньютона на всем отрезке [ a,b] с использованием большого числа узлов интерполирования часто приводит к плохому приближению, что объясняется накоплением погрешностей в ходе вычислений. Кроме того , из-за расходимости процесса интерполирования увеличение числа узлов не обязательно приводит к повышению точности вычислений.

Поэтому построим такой вид приближения, который:

позволяет получить функцию, совпадающую с табличной функцией в узлах;

приближающая функция в узлах таблицы имеет непрерывную

производную до нужного порядка;

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

Определение. Сплайн − функцией называют кусочно - полиномиальную функцию, определенную на отрезке [ a,b] и имеющую на этом отрезке некоторое числ о непрерывных производных.

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

2.1. Построение кубического сплайна

Пусть на отрезке [a,b] в узлах сетки заданы значения некоторой функции f(x), т.е. a x0 x1 x2... xn b , yi f (xi ) (i= 0,1,…, n).

Сплайном, соответствующим этим узлам функции f (x) называется

функция S(х), которая:

1) на каждом частичном отрезке является многочленом третьей степени;

2) функция S(x) и ее две первые производные S (x),S (x) непрерывны

на

[a,b];

 

 

 

 

 

 

 

 

 

 

 

 

3) S(xi ) f (xi ) .

 

 

 

 

 

 

 

 

 

 

 

На

каждом

частичном

 

отрезке

 

[xi 1,xi]

будем искать

сплайн

S(x) Si (x) , где

Si (x)

многочлен третьей степени

 

 

 

 

S

(x) a b (x x )

ci

(x x )2

 

di

(x x )3 .

(2.1)

 

 

 

 

 

 

i

 

 

i

i

i

2

i

6

i

 

 

 

 

 

 

 

 

 

 

 

 

То есть для

x [x

1

,x ] нужно построить такую функцию S (x) , где

 

 

 

i

i

 

 

 

 

 

 

 

i

ai ,bi ,ci ,di подлежат определению. Для всего отрезка интерполирования

[a,b], таким образом, необходимо определить 4 n неизвестных коэффициента.

S (x) bi ci (x xi ) d2i (x xi )2 , S (x) ci di (x xi ),

Si (x) ai yi .

Доопределим a0 f (x0 ) y0 . Требование непрерывности функции

S(x) приводит к условия Si (xi ) Si 1(xi ),

(i=0,1,…,n-1).

Отсюда из (5.8) получаем следующие уравнения:

a a

b (x

x

)

ci 1

(x x

)2

di 1

(x

x )3 (i= 1,2,…,n-1).

 

 

 

i i 1

i 1 i

i 1

 

 

2

 

 

i

 

i 1

 

 

 

6

 

i

i 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Введем шаг интерполирования hi

 

xi xi 1 .

Тогда последнее равенство можно переписать в виде

 

 

 

h2

 

 

 

h3

 

 

 

 

 

 

 

 

 

 

 

h b

i

c

 

 

i

d

 

f

 

f

i 1

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

 

 

 

 

 

i

i

 

i

i

2

i

 

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Из непрерывности первой производной следует

 

 

 

 

 

 

h2

 

 

 

 

 

 

 

 

 

 

 

 

hi

ci

i

 

 

di

bi

 

bi 1 (i=2,3,…,n),

 

 

 

 

 

 

2

а из непрерывности второй производной

hi di =ci −ci − 1 (i=2,3,…,n).

Объединив все три вида уравнений, получим систему из 3 n-2 уравнений относительно 3 n неизвестных bi, ci, di . Два недостающих

уравнения получим, задав граничные условия для функции S(x). Для этого воспользуемся граничными условиями для сплайн -функции в виде

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S (a) S (b) 0(концы гибкой линейки свободны).

 

 

Тогда получим систему уравнений

 

 

d

 

c

c

 

 

 

c

 

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

 

h

 

 

, c

 

 

i

 

i

 

i

i 1

0

 

 

n

 

 

 

ci

 

h2

di bi

bi

 

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

(2.2)

hi

i

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

3

 

 

 

 

 

hi

bi

 

hi

 

ci

 

hi

di

 

 

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

 

 

 

 

 

 

 

 

2

 

 

 

6

 

 

 

 

 

Решая систему мето дом подстановки (исключаем из (2.2) неизвестные bi ,di ), получим систему:

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]