Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методы вычислений в Excel.pdf
Скачиваний:
187
Добавлен:
14.03.2016
Размер:
998 Кб
Скачать

Рассмотрим точку 0,2, которая принадлежит первому отрезку, т.е. i0 1 . Следовательно, получим,

S z a b

z x

c

z x1 2

d

1

z x1 3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

1

1

 

1

2

 

 

 

 

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S 0,2 2 0 0,2 0,25 48

0,2 0,25 2

 

192

 

0,2 0,25 3

1,944

 

 

 

 

 

6

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

Итак, значение функции в точке 0,2 равняется 1,944.

 

 

Рассмотрим точку 0.8, которая принадлежит четвертому

 

отрезку, т.е. i0 3 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S z a

3

b z x

3

c

3

 

z x3 2

d

3

z x3 3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

2

 

 

 

 

 

 

 

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0,8 0,75 3

 

S 0,8 0 0 0,8 0,75 48

0,8 0,75 2

192

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

 

 

24 * 0,0025 32 * 0,000125 0,064

Глобальная интерполяция

В случае глобальной интерполяции отыскивается единая интерполирующая функция на всем интервале a,b . Самым

распространенным способом является полиномиальная интерполяция.

Будем искать интерполирующую функцию в виде полинома

(многочлена) m -ой степени P x a

0

a x a

x2 ... a

m

xm .

m

1

2

 

 

Какова должна быть степень многочлена, чтобы удовлетворить всем условиям интерполяции? Допустим, что заданы две точки:

x0 , f0 и x1 , f1 , т.е. N 1. Через эти точки можно провести

единственную прямую, т.е. интерполирующей функцией будет

полином

первой степени P1 x a0 a1 x .

 

Через

три

точки

( N 2 )

можно провести параболу P x a

0

a x a

x2

и т.д.

 

2

1

2

 

 

49

Рассуждая таким способом, можно предположить, что искомый полином должен иметь степень N .

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

условия интерполяции при каждом x xi :

 

 

 

 

 

 

 

 

 

 

 

P

x

a

0

a x

a

 

 

x 2

a

3

x3

... a

N

x N

f

1

 

 

 

 

 

N

 

1

a

 

1 1

 

2 1

 

 

1

 

 

 

1

 

 

 

 

 

P

x

2

0

a x

2

a

2

x 2

a

3

x3

... a

N

x N

f

2

 

.

 

 

 

N

 

 

 

1

 

 

 

2

 

 

 

2

 

 

 

2

 

 

 

 

 

 

x

 

a

 

 

 

 

 

 

 

 

 

...

 

 

 

 

 

 

 

 

 

 

 

x N f

 

 

P

 

N

0

a x

N

a

2

x 2

a

3

x3

 

... a

N

N

 

 

N

 

 

 

 

1

 

N

 

 

 

N

 

 

N

 

 

 

 

 

 

Данная система является линейной относительно искомых

коэффициентов a0 ,a1 ,a2 ,..,.aN . Известно,

что

СЛАУ

имеет

решение, если ее определитель отличен от нуля. Определитель данной системы

 

1

x

...

xN

 

 

 

 

1

 

1

 

 

 

1

x2

...

x2N

 

xk xm

 

... ...

...

...

 

0 k m N

 

1

xN

...

xNN

 

 

носит имя Вандермонда. Из курса математического анализа известно, что он отличен от нуля, если xk xm . В нашем случае

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

Мы

показали,

что

для

нахождения

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

a0 ,a1 ,a2 ,..,.aN надо

решить СЛАУ, что является сложной

задачей. Но есть другой способ построения

полинома N

степени, который не требует решения такой системы.

Полином Лагранжа

 

 

 

 

 

 

 

N

li z – базисные

Решение ищем в виде Ln z fili z , где

 

N -й степени,

 

i 0

 

полиномы

для

которых выполняется условие:

50

N 1 !

1,

i k

. Убедимся в

том,

что если такие полиномы

li xk

i k

0,

 

 

 

построены,

то LN x будет

удовлетворять условиям

интерполяции:

N

Ln xk fili xk f0l0 xk f1l1 xk ... fili xk ... fN lN xk fk

i 0

Каким образом построить базисные полиномы? Определим

li

z

 

 

 

z x0

 

z x1 ... z xi 1

z xi 1

... z xN

 

 

 

,

i 0,1,2,..., N .

xi

x0 xi

x1 ... xi

xi 1 xi xi 1 ... xi xN

 

 

 

 

 

 

 

 

 

Легко понять, что

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

l0

z

 

 

 

z x1

z x2

... z xN

 

 

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x0

x1

x0

x2

... x0

xN

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

l

z

 

 

 

z x0

z x2

... z xN

 

, и т.д.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

x

x

0

 

x

x

2

... x

x

N

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

1

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Функция

 

 

li z

является полиномом N –й степени от z и

для нее выполняются условия «базисности»:

 

 

 

 

 

 

 

 

 

 

 

li xk

 

xk

 

x0

xk

x1

... xk

xi 1

xk xi 1 ... xk xN

 

0,

i k ,

 

x

i

x

0

x

x

... x

i

x

 

 

x

x

 

... x

i

x

N

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

1

 

 

 

 

i 1

 

i

i 1

 

 

 

 

 

 

 

 

 

т.е. k 1,2,...,i 1,i 1,..., N ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

l

x

xi

 

x0

xi

x1

... xi

xi 1

xi

xi 1

... xi

xN

 

 

1,

i k .

x

 

 

x

 

 

 

x

 

... x

 

 

 

i

i

 

 

 

x

0

x

 

... x

i

x

 

x

i 1

x

N

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

i

 

 

1

 

 

 

 

i 1

 

 

i

 

 

i

 

 

 

 

 

 

 

 

 

 

 

Таким образом, нам удалось решить задачу о построении

интерполирующего

 

полинома

 

 

N

степени, и

 

для

этого не

нужно решать СЛАУ. Полином Лагранжа можно записать в

N

N

 

z xk

 

виде компактной формулы: LN z fili z fi

.

 

i 0

i 0

i k xi xk

Погрешность этой формулы можно оценить, если исходная функция g x имеет производные до N 1 порядка:

r z g N 1 N 1 z xi , a,b .

i 0

51

Из этой формулы следует, что погрешность метода зависит от свойств функции g x , а также от расположения узлов

интерполяции и точки z . Как показывают расчетные эксперименты, полином Лагранжа имеет малую погрешность при небольших значениях N 20 . При бόльших N погрешность начинает расти, что свидетельствует о том, что метод Лагранжа не сходится (т.е. его погрешность не убывает с ростом N ).

Рассмотрим частные случаи. Пусть N 1, т.е. заданы

значения функции только в двух точках. Тогда базовые полиномы имеют вид:

 

 

l0 z

 

z x1

 

, l1 z

z x0

 

 

 

 

 

 

 

 

 

 

x

0

x

1

 

x x

0

 

 

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

f1

z x0

 

LN z fi li z f 0 l0 z f1l1 z f 0

 

z x1

 

 

 

 

N

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x0 x1

 

 

x1 x0

 

,

 

f1 f 0

 

 

 

 

 

 

 

 

 

 

f

1 f 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

z f

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

x

x

 

 

 

x

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

1

 

1

0

1

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

т.е. получаем формулы кусочно-линейной интерполяции.

 

 

Пусть N 2 . Тогда:

 

 

 

 

 

 

 

 

 

 

 

 

l0 z

 

z x1

z x2

 

 

 

,

l1 z

z x0

z x2

 

 

,

 

 

x

0

x

x

0

 

x

2

 

 

x x

0

x x

2

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

1

 

 

 

1

 

 

 

 

l2

z

 

 

z x0

z x1

 

 

 

,

 

 

 

 

 

 

 

 

 

 

 

 

x2

x0

x2 x1

 

 

 

f1

z x0 z x2

 

 

 

 

 

 

 

 

 

 

 

 

L2 z fi li z f 0

 

z x1 z x2

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i 0

 

 

 

 

 

 

 

x0 x1 x0 x2

 

 

 

 

x1 x0 x1 x2

 

.

 

z x0

z x1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

2

x

0

x

2

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

52