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

amo_presentation_6

.pdf
Скачиваний:
3
Добавлен:
12.05.2015
Размер:
302.54 Кб
Скачать

или

æççç1

ççç1

çççççççç1 çè1

ì

 

+a x

 

+a x

 

2

+ ... +a

 

 

x

 

n

= y

,

ïa

0

0

 

0

m

0

ï

1

2

 

 

 

 

0

 

 

ï

 

+a x

 

+a x

 

 

+ ... +a

 

 

xn

= y ,

 

ïa

0

1

2

 

 

 

ï

1

2 1

 

m

1

1

 

 

í

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ï

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ï...............

 

 

 

 

 

 

 

 

 

 

 

 

 

ï

 

 

 

 

 

2

 

 

 

 

 

 

n

 

 

 

ï

 

+a x

 

+a x

+ ... +a

 

x

= y

 

.

ïa

0

n

n

 

n

 

îï

1

2

 

 

 

 

m

 

n

 

x0 x02 x1 x12

xn-1 xn2-1

xn xn2

 

x

n

ö

æ

a0

ö

æ

y0

ö

0

÷

ç

÷

ç

÷

 

 

n

÷

 

 

 

÷

 

 

 

÷

 

x

÷

ç

a

÷

ç

 

y

÷

1

÷

ç

÷

ç

 

÷

 

 

÷

ç

 

 

1

÷

ç

 

 

1

÷

 

 

 

÷

ç

 

 

 

÷

ç

 

 

 

÷

 

 

÷

ç

 

 

 

÷

ç

 

 

 

÷

÷

ç

÷

= ç

÷

 

 

 

÷

ç

 

 

 

÷

ç

 

 

 

÷

 

n

÷

ç

 

 

 

÷

ç

 

 

 

÷

 

÷

 

 

 

÷

 

 

 

÷

 

 

 

÷

ça

n-1

÷

çy

n-1

÷

xn-1 ÷÷

çç

 

÷

çç

 

÷

 

 

n

÷

ç

a

 

÷

ç

y

 

÷

 

x

÷

ç

n

÷

ç

n

÷

n

÷

è

 

 

ø

è

 

 

ø

 

 

ø

 

 

 

 

 

 

 

 

 

 

Полученная система уравнений

f (xi ) = a0 +a1xi +a2xi2 + ... +anxin , i = 0,...,n

однозначно разрешима (т. е. решение существует и единственно), так как по условию xi, i = 0,1,...,n различны.

Следовательно, в этом случае определитель системы отличен от нуля

 

1

x0

x02

x0n

 

D =

1

x

 

x2

xn

¹ 0

 

 

1

1

 

1

 

 

 

 

 

1 xn xn2 xnn

Таким образом, коэффициенты a0,a1,...,an ,

получающиеся в результате решения данной системы, определяют единственный интерполяционный многочлен, построенный по (n +1)-й различной точке и имеющий степень не ниже n.

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

x0,x1, т. е.

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

Построить интерполяционный многочлен

P (x ) = a0 +a1x ,

совпадающий со значениями f (x ) в узлах x0,x1.

Решение. Запишем систему относительно a0

и a1

a0 +a1x0 = y0,

 

æ

1

x

ö

æ

ö

æ

 

ö

или

ç

0 ÷

ça0

÷

çy0

÷

 

ç

 

 

÷

ç

÷

= ç

 

÷.

 

 

ç

1

x

÷

ça

÷

çy

÷

a0 +a1x1 = y1.

 

÷

÷

÷

 

è

 

 

1 ø

è 1

ø

è

1

ø

Решим данную систему методом исключения:

ì

 

 

+a x

 

= y

,

 

1. a

 

= y

 

 

-a x

 

,

определяем a

 

из урав.1

 

ïa

0

0

 

0

0

0

0

 

ï

 

 

 

1

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

í

 

 

+a x

 

= y .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ïa

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

î

 

 

 

 

1

 

1

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ï 0

 

 

 

 

 

 

 

 

 

2.

y0 -a1x0 +a1x1

= y1, подставляем a0 в урав. 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3. a1 (x1 - x0 )

= y1 -y0,

 

 

сводим подобные члены

 

 

4. a

 

 

=

y1 -y0

,

 

 

 

 

 

 

 

 

определяем значение a

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

x1 - x0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

-y0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5. a

0

= y

0

-

y1

x

0

,

 

 

подставляем значение a в урав. 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x1

- x0

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6. a

0

=

 

y0 (x1 - x0 )- x0

(y1 -y0 )

, приводим к общему знаменат.

 

 

 

 

 

 

 

 

 

 

 

 

 

x1 - x0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7. a

0

=

y0x1 -y0x0 - x0y1 + x0y0

раскрываем скобки

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x1 - x0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8. a

0

 

=

y0x1 -y1x0

 

 

 

 

 

 

 

 

определяем значение a

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x1 - x 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Строим интерполяционный многочлен, подставив в

выражение

P (x ) = a0 +a1x ,

значения коэффициентов a0 и a1

P (x ) = a0

+a1x =

y0x1 -y1x0

+

y1 -y0

x .

 

 

 

 

 

 

 

 

 

 

x1 - x0

x1 - x0

Вывод. Для произвольной функции, заданной в точках

 

 

 

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

существует интерполяционный полином

P (x ) =

y x

-y x

0

 

y

-y

 

 

 

0 1

1

+

1

0

x , который совпадает со

x

- x

 

x

- x

 

1

0

1

0

 

 

 

 

 

значениями функции f (x ) в точках y0

и y1

Преобразуем полученный полином

P (x ) =

y x

1

-y x

0

 

y

-y

0

1

+

1

0

x ,

x

1

- x

 

x

- x

 

 

0

 

1

0

 

следующим образом

P (x ) =

 

y0x1

 

-

 

y1x0

 

 

+

 

 

y1x

 

-

 

y0x

 

=

x

1

- x

0

x

1

- x

0

 

x

1

- x

0

x

1

- x

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y0 (x1 - x )

 

y

1

(x - x0 )

 

 

 

 

 

 

=

 

 

 

 

 

 

 

+

 

 

 

 

 

 

 

 

=

 

 

 

 

 

x1

- x0

 

 

 

x1 - x0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

=x - x1 y0 + x - x0 y1

x0 - x1 x1 - x0

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

Постановка задачи. Пусть для функции y = f (x )

заданы значения yi = f (xi ) в неравноотстоящих (n + 1) узлах интерполяции,

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

Требуется построить многочлен Ln (x ) степени не выше n , и принимающий в заданных узлах xi , i = 0,1,...,n значения, совпадающие со значениями функции f (x ),

Ln (xi ) = yi, i = 0,1,2,...,n .

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

 

 

n

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

 

Ln (x ) = å

 

 

yi

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

или

 

i=0

 

 

 

 

 

 

 

 

n

 

 

 

Ln (x )

= åliyi , где li - это лагранжевый коэффициет при yi .

 

 

i=0

 

li =

 

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

 

 

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

 

 

n

Числитель – произведение разностей (x - xj ).

j =0 i¹j

n

Знаменатель – произведение разностей (xi - xj )

j =0 i¹j

В сокращенной форме:

é

 

 

 

ù

 

 

 

 

n

ê

n x - x

j

ú

 

ê

 

 

ú

Ln (x ) = åêf (xi )

 

 

ú

 

 

i=0

ê

j =0 xi - xj ú

 

ê

i¹j

 

ú

 

ë

 

 

 

û

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

Пример. Пусть n = 3. Тогда лагранжевы коэффициенты:

l0

=

 

 

(x - x1 )(x - x2 )(x - x3 )

 

,l1

=

 

 

(x - x0 )(x - x2 )(x - x3 )

 

 

(x0 - x1 )(x0 - x2 )(x0 - x3 )

 

 

 

(x1 - x0 )(x1 - x2 )(x1 - x3 )

 

l2

=

 

 

(x - x0 )(x - x1 )(x - x3 )

,l3

=

 

 

(x - x0 )(x - x1 )(x -x1 )

 

(x2 - x0 )(x2 - x1 )(x1 - x3 )

 

 

(x3 - x0 )(x3 - x1 )(x3 -x2 )

 

L3 = l0y0 +l1y1 +l2y2 +l3y3

Сокращенная форма записи многочлена

Введем вспомогательный многочлен wn +1 (x ) степени n + 1:

wn +1 (x ) = (x - x 0 ) (x - x1 ) ... (x - x i-1 ) (x - xi ) (x - xi+1 )

... (x - xn-1 ) (x - xn )

Пример:

w3 (x ) = (x - x0 )(x - x1 )(x - x2 )

w4 (x ) = (x - x0 )(x - x1 )(x - x2 )(x - x3 )

w5 (x ) = (x - x0 )(x - x1 )(x - x2 )(x - x3 )(x - x4 )

w6 (x ) = (x - x0 )(x - x1 )(x - x2 )(x - x3 )(x - x4 )(x - x5 )

….

На примере w3 (x ) вычислим производную w3¢ (x ),

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