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

ВМ_LABS / ЛР1_ИнтерполяцияP

.pdf
Скачиваний:
17
Добавлен:
21.03.2015
Размер:
164.81 Кб
Скачать

1

Лабораторная работа № 1

ПРИБЛИЖЕНИЕ ФУНКЦИЙ

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

Пусть на отрезке [a, b] в некоторых попарно различных точках x0, x1,..., xn известны значения функции f(x).

Задача интерполирования функции f(x) состоит в том, чтобы найти значение f(x), x ¹ xi , (i = 01,,..., n), если известны узлы интерполирования x0, x1,..., xn и значения функции f(x) в этих

узлах.

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

f(x) = F(x). (1.1)

Классический подход к решению задачи построения прибли- жающей функции F(x) основывается на требовании строгого сов- падения значений f(x) и F(x) в точках xi ,(i = 01,,..., n), т.е.

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

В этом случае нахождение приближённой функции называют интер-

поляцией (или интерполированием), а точки x0, x1,..., xn узлами

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

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

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

раических многочленов 1, x, x2,..., xn можно задать по формуле Ла-

гранжа

PDF created with pdfFactory Pro trial version www.pdffactory.com

2

n

ω(x)

 

Ln (x) = å

 

× f(xk ), (2.1)

(x - xk ) × w¢(xk )

k=0

 

где

n

 

 

 

w(x) = (x - xk ).

(2.2)

 

k=0

 

Разность rn (x) = f(x) − L n (x) называется погрешностью ин-

терполирования или остаточным членом интерполирования. В

узлах интерполирования погрешность rn (x) обращается в нуль, в ос- тальных точках она отлична от нуля, но если f(x) многочлен сте- пени k, а число узлов интерполирования n +1 > k , то rn (x) ≡ 0. Если функция f(x) имеет непрерывную n +1-ю производную, то

возможно представление остаточного члена вида

rn (x) =

f(n+1) (x)

 

× w(x), (2.3)

(n +1)!

где ξ некоторая точка,

 

лежащая на отрезке, содержащем узлы

x0, x1,..., xn и точку x.

Из формулы (2.3) видно, что для данной функции f(x) погреш- ность интерполирования зависит от выбора узлов x0, x1,..., xn на отрезке [a, b], и можно выбрать узлы интерполирования таким обра-

зом, чтобы

 

w(x)

 

=

 

 

 

 

 

w(x)

 

 

max

 

 

 

min max

 

 

.

 

 

a ≤x≤b

 

 

 

 

 

(x0 ,x1,...,xn ) a ≤x≤b

 

 

 

 

 

= max

 

 

Если принять M n+1

 

 

f(n+1) (x)

 

, то для подсчёта погреш-

 

 

 

 

 

x0≤x≤xn

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ности метода интерполирования по формуле Лагранжа непосредст-

венно применима следующая оценочная формула

r (x)

 

£

Mn+1

 

×

 

ω(x)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

(n +1)!

 

 

 

 

.

 

 

 

 

 

 

 

PDF created with pdfFactory Pro trial version www.pdffactory.com

3

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

3.1. Конечные разности и разностные отношения.

Пусть заданы равноотстоящие узлы xk = x0 + k × h k = 012, , ,... и значения функции f(xk ) = fk , h > 0.

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

Df(xi ) = Dfi = fi+1 - fi , i = 012, , ,...

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

 

 

 

2f(xi ) =

 

(

 

fi ) =

 

fi+1

 

fi , i

= 012, , ,...

 

Конечные разности (n +1)-го порядка определяются через раз-

ности n-го порядка по формуле

 

 

 

 

 

nfi , i = 012,

, ,...

 

 

 

 

 

 

 

 

n+1fi

=

 

 

nfi+1

 

 

 

 

Имеет место следующее равенство

 

 

 

 

 

 

 

 

 

 

 

f(x

 

) = f

 

= f +

n

 

f

 

+

n(n -1)

 

 

2f

 

+...+

n f .

 

 

 

 

 

 

 

 

n

 

 

n

 

 

 

0

1!

 

 

0

 

2!

 

 

 

 

0

 

 

 

0

Разностными отношениями первого порядка называются вели-

чины

 

 

 

f(x1 ) − f(x0 )

 

 

 

 

 

 

 

f(x2 ) − f(x1)

 

f(x

, x ) =

,

f(x , x

2

) =

, ...,

 

 

 

 

 

0

 

 

1

 

 

 

x1 − x0

 

 

 

 

1

 

 

 

 

x2 − x1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

узлы xk произвольные.

По ним составляются разностные отноше-

ния второго порядка:

 

 

 

 

 

 

 

 

 

f(x1, x2 ) − f(x0, x1)

 

 

 

 

 

 

f(x

, x , x

) =

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

1

2

 

 

 

 

 

 

 

x2 − x0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f(x , x

2

, x

) =

f(x2, x3 ) − f(x1, x2 )

, ...

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

3

 

 

 

 

 

 

 

 

 

x3 − x1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Разностные отношения порядка n + 1 (n = 12,,... ) определяют-

ся при помощи разностных отношений предыдущего порядка n по

формуле

f(x

, x ,..., x

n+1

) =

f(x1, x2,..., xn+1) − f(x0, x1,..., xn )

.

 

0

1

 

xn+1

− x0

 

 

 

 

При всяком n верно равенство

 

n

 

f(xi )

f(x0

,x1,...,xn+1) = å

 

 

(xi

− x0 )...(xi − xi−1)(xi − xi+1)...(xi − xn )

 

i=0

PDF created with pdfFactory Pro trial version www.pdffactory.com

4

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

Для равноотстоящих узлов xk = x0 + kh, k = 01,,2,..., имеет

место соотношение между

 

разностными отношениями и конечными

разностями

 

 

 

 

Dk f0

 

 

f(x

0

, x ,..., x

k

) =

 

, k = 01,,2,... . (3.1.1)

 

 

1

 

hk × k !

 

 

 

 

 

 

 

Конечная разность порядка n от многочлена степени n равна постоянной величине, и, следовательно, все разности более высокого порядка равны нулю. Аналогичное свойство имеет место также для разностных отношений.

С помощью разностных отношений строится другая формула интерполяционного многочлена – интерполяционный многочлен Ньютона:

 

L n (x) = f(x0 ) + (x

− x0 )f(x0, x1 ) +

 

 

+ (x − x0 )(x − x1 )f(x0, x1, x

2 )+...+

(3.1)

 

+ (x - x0 )(x - x1 )...(x - xn−1 )f(x

0, x1,..., xn ),

 

 

где

Ln (xk ) = f(xk ),(k = 01,,..., n).

Остаточный

член

rn (x) = f(x) − L n (x) в этом случае можно выразить через разде-

лённую разность:

rn (x) = f(x, x0, x1,..., xn )(x − x0 )(x − x1)...(x − xn ).

Формулой Ньютона (3.1) удобно пользоваться для интерполиро- вания одной функции с меняющейся системой узлов: при добавлении

нового узла xn+1 нужно вычислить только одно слагаемое

(x − x0 )...(x − xn )f(x0, x1,..., xn+1) и добавить его к предыдущей

сумме.

В случае равноотстоящих узлов имеется много различных фор- мул, построение которых зависит от расположения точки интерполи- рования x по отношению к узлам интерполирования.

PDF created with pdfFactory Pro trial version www.pdffactory.com

5

3.2. Интерполяционная формула Ньютона для интерполирования в начале таблицы.

Пусть функция f(x) задана таблицей значений fk = f(xk ) в равноотстоящих точках xk = x0 + k × h (k = 012, , ,...) и точка ин- терполирования x находится вблизи от начальной точки x0 . Введём новую переменную t , положив x = x0 + t × h, t = (x - x0 ) / h . Ис-

пользуя (3.1) и соотношения (3.1.1) между разностными отношения- ми и конечными разностями, получаем интерполяционную формулу

Ньютона для интерполирования в начале таблицы

 

f(x) = f(x

0

+ th) = f

0

 

+

 

t

 

 

f

0

+ t(t −1) 2f

0

+ ...+

 

 

1!

 

 

 

 

 

 

2!

 

 

 

+ t(t −1)...(t − n +1)

 

nf

0

+ r (x),

 

(3.2.1)

 

 

 

n!

 

 

 

 

 

 

 

n

 

 

где

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

| t(t -1)×...×(t - n) |

 

 

 

 

 

 

| r (x) |≈

 

n+1f.

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

(n +1)!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Здесь

n+1f = max | n+1fm |.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0≤m≤n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3.3. Интерполяционная формула Ньютона для интерполирования в конце таблицы.

Если точка интерполирования находится вблизи конца таблицы узлов, то узлы интерполирования естественно брать в порядке

xn , xn

- h, xn - 2h,....

Введя

переменную t и положив

x = xn

+ t × h, получим формулу Ньютона для интерполирования в

конце таблицы

 

t

 

 

 

 

t(t +1)

 

 

 

f(x) = f(xn + th) = fn

+

 

 

fn −1

+

 

2fn −2 + ...+

 

 

 

 

 

 

 

t(t +1)...(t + n −1)

1!

 

2!

 

(3.3.1)

 

+

nf

 

 

+ r (x),

 

 

 

0

 

 

 

n!

 

 

n

 

 

 

 

где

 

 

 

 

 

 

 

 

 

 

 

 

| t(t +1)×...×(t + n) |

 

 

 

| r (x) |≈

n+1f.

 

 

 

 

 

n

 

 

 

 

(n +1)!

 

 

 

 

 

 

 

 

 

 

Здесь

n+1f = max | n+1fm |.

 

 

 

 

 

 

 

 

 

 

 

0≤m≤n

 

 

 

 

 

 

 

 

 

PDF created with pdfFactory Pro trial version www.pdffactory.com

6

4. Уплотнение таблиц функций.

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

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

В случае, когда исходная таблица является таблицей с постоян- ным шагом, естественно применять интерполяционный многочлен Ньютона.

При заданном числе узлов (т.е. при условии, что конечные раз- ности и степень полинома определены вручную) для расчётов на ЭВМ формулы Ньютона удобно представлять по схеме Горнера. Так,

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

P (x) = y

 

 

+ t( y

 

+

t −1

 

(

2y

 

+

t − 2

(

3y

 

+...+

0

0

 

0

 

0

n

 

2

 

 

 

3

 

 

 

 

t − n +1

 

 

 

 

 

 

 

 

 

 

 

+

 

n y0 ))... ).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Использование схемы Горнера позволяет вычислять значение Pn (x)

вцикле.

Если же максимальный порядок используемых конечных раз-

ностей невелик, для вычисления значений Pn (x) могут использо- ваться формулы Ньютона в их стандартном виде (3.2.1), (3.3.1).

PDF created with pdfFactory Pro trial version www.pdffactory.com

7

Содержание отчёта (по каждому из заданий):

ручное решение;

решение в MS Excel;

программа решения на языке Turbo Pascal.

Задание 1. Построить интерполяционный многочлен Лагранжа по известной таблице значений функции. Вычислить значение функции в задан- ной точке.

Вар.

 

Таблица значений

 

Новое значение

 

 

аргумента x

 

 

 

 

 

 

1

x

0

1

3

4

2

f(x)

1

1.382

0.28

– 2.762

 

 

2

x

14

17

31

35

20

f(x)

0.991

– 0.961

– 0.404

– 0.428

 

 

3

x

0.5

0.6

0.7

0.8

0.655

f(x)

0.352

0.534

0.762

1.039

 

 

4

x

1

1.2

1.4

1.6

1.35

f(x)

1.209

1.704

2.277

2.882

 

 

5

x

0.1

0.2

0.3

0.4

0.15

f(x)

1.1

1.197

1.29

1.374

 

 

6

x

– 0.8

0.4

2.8

4

1

f(x)

2.142

– 0.282

0.142

1.05

 

 

7

x

1.2

1.9

3.3

4.7

3.99

f(x)

5.094

5.271

– 0.387

– 4.779

 

 

8

x

2.1

3.7

4.5

6.1

5

f(x)

– 0.419

– 0.901

– 0.309

0.965

 

 

9

x

1.45

1.36

1.14

0.11

1.2

f(x)

2.296

2.128

1.787

1.185

 

 

10

x

2.8

4

6.4

7.6

3.5

f(x)

0.087

0.733

2.849

2.279

 

 

11

x

6.1

7.5

8.2

9.6

7

f(x)

– 4.357

4.81

1.927

3.341

 

 

12

x

– 2

1

2

4

2.89

f(x)

– 28

17

56

350

 

 

13

x

11

13

14

18

17.5

f(x)

1.741

1.783

1.802

1.872

 

 

14

x

93

96.2

104.2

108.7

100

f(x)

11.231

7.947

5.887

8.877

 

 

PDF created with pdfFactory Pro trial version www.pdffactory.com

8

Задание 2. Записать необходимый для дальнейших расчетов многочлен Ньюто- на по известной таблице значений функции. Определить значение аргумента x , соответствующее указанному значению функции.

Вар.

 

Таблица значений

 

Новое значение

 

 

функции f(x)

 

 

 

 

 

 

1

x

1

2

3

4

23.095

f(x)

8

19

42

101

 

 

2

x

– 4

– 1

2

5

– 20

f(x)

101

8

– 9.889

– 24.996

 

 

3

x

– 7

– 6

– 5

– 4

1.6

f(x)

1.946

1.792

1.609

1.386

 

 

4

x

– 3

– 1

1

3

5.3

f(x)

8

6

4

1

 

 

5

x

1

2

3

4

5

f(x)

1

7

29

33

 

 

6

x

– 2

– 1

0

1

10.7

f(x)

12

3

– 1

– 5

 

 

7

x

1

2

3

4

1.8

f(x)

– 18

– 11

– 1

5

 

 

8

x

– 4

– 1

2

5

– 23.4

f(x)

– 26

– 17

– 3

14

 

 

9

x

– 2

– 1

0

1

12.8

f(x)

21

17

11

5

 

 

10

x

1/3

2/3

1

5/3

0.423

f(x)

0.26

0.5

0.71

0.97

 

 

11

x

– 2

– 1

0

1

8.4

f(x)

12

3

– 1

– 5

 

 

12

x

– 6

– 3

0

3

9.5

f(x)

21

17

5

2

 

 

13

x

– 3

– 2

– 1

0

9.2

f(x)

– 21

– 10

3

11

 

 

14

x

– 4

– 2

0

2

– 1.45

f(x)

43

37

25

– 4

 

 

PDF created with pdfFactory Pro trial version www.pdffactory.com

9

Задание 3. Уплотнить таблицу с заданным шагом на заданном участке.

Вар.

 

Таблица значений

 

Участок

Шаг уплот-

 

 

уплотнения

нения

 

 

 

 

 

 

1

x

– 2

– 1

0

1

[– 2,– 1]

0.1

f(x)

– 26

– 17

– 3

14

 

 

 

2

x

– 5

– 3

– 1

1

[– 3,– 1]

0.2

f(x)

12

3

– 1

– 5

 

 

 

3

x

2

3

4

5

[4,5]

0.1

f(x)

21

17

5

3

 

 

 

4

x

– 2

0

2

4

[0,2]

0.2

f(x)

– 34

– 21

– 10

3

 

 

 

5

x

1

3

5

7

[3,5]

0.2

f(x)

37

25

– 4

– 13

 

 

 

6

x

– 3

– 2

– 1

0

[– 1,0]

0.1

f(x)

8

6

4

1

 

 

 

7

x

0

1

2

3

[1,2]

0.1

f(x)

1

7

23

29

 

 

 

8

x

– 4

– 2

0

2

[– 4,– 2]

0.2

f(x)

8

19

42

67

 

 

 

9

x

– 3

– 1

1

3

[– 3,– 1]

0.2

f(x)

– 18

– 11

1

4

 

 

 

10

x

0

2

4

6

[4,6]

0.2

f(x)

– 26

– 17

– 3

14

 

 

 

11

x

– 4

– 3

– 2

– 1

[– 3,– 2]

0.1

f(x)

21

17

11

5

 

 

 

12

x

2

3

4

5

[2,3]

0.1

f(x)

8

6

5

3

 

 

 

13

x

– 1

0

1

2

[0,1]

0.1

f(x)

12

3

– 1

0

 

 

 

14

x

– 2

0

2

4

[0,2]

0.2

f(x)

8

19

42

101

 

 

 

PDF created with pdfFactory Pro trial version www.pdffactory.com

Соседние файлы в папке ВМ_LABS