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

Методические указания к выполнению лабораторных работ по дисциплине Численные методы. Часть 1

.pdf
Скачиваний:
0
Добавлен:
12.08.2026
Размер:
799 Кб
Скачать

max

 

h2

(b a) max

 

 

 

.

(2.11)

 

 

 

12

 

y (x)

 

Трап.

 

x [a,b]

 

 

 

 

 

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

2.3. Метод Симпсона (метод парабол)

Функция y(x) на каждом элементарном отрезке заменяется вписанной в

нее

параболой,

т.е.

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

полиномом

 

второй

степени:

y(x) a

2

x2 a x a

0

R (x)

(где R (x) – остаточный член интерполяционно-

 

 

 

1

 

 

2

2

 

 

 

 

 

 

го полинома, см. раздел 3). Уравнение параболы y0 (x) a

2

x2 a x a

0

ищет-

 

 

 

 

 

 

 

 

 

 

 

1

 

 

ся

по трем

точкам.

Если

искать это уравнение на

 

отрезке

[xi 1 , xi ],

( i 1, 2,...,N ) то нужно взять точки xi 1 , xi 1/ 2

xi 1 h 2, xi . Обычно поступа-

ют таким образом: уравнение параболы строят по точкам x0 , x1 , x2 на отрезке

[x0 , x2 ] .

В этом

случае число отрезков N берут четным, тогда

N

b a

2M , где

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

h

 

 

 

y(x) заменяется параболой. Можно показать, что на отрезке интегрирования

[x

, x

i 1

] ( i 1, 2,...,N ) значение I (n)

( n 1,...,N ) интеграла будет равно:

i 1

 

 

 

 

 

 

 

 

 

 

 

 

I

(i)

h

y

 

4 y

 

y

 

.

 

 

 

i 1

i

i 1

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Суммируя все элементарные площади на отрезке [a,b] , получим формулу Симпсона численного интегрирования для N отрезков:

I

 

 

 

 

h

y

 

y

 

4 y

y

 

... y

 

2 y

 

y

 

... y

 

 

Симп

 

0

N

3

N 1

2

4

N 2

 

 

3

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(2.12)

 

 

 

 

 

 

 

 

 

 

M

 

M 1

 

 

 

 

 

 

 

 

 

 

h

 

 

 

 

4 y2n 1

2 y

 

 

 

 

 

 

 

 

 

 

 

yN

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

y0

2n .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n 1

 

 

n 1

 

 

 

 

 

 

 

 

 

Можно записать следующую программу для метода Симпсона на универсальном языке:

1S y0 yN ; p 4;

2цикл по n от 1 до N 1

3{S S p yn ; p 6 p;}

4S S h3 .

Теоретическая абсолютная погрешность метода Симпсона на отрезке [a, b] равна

 

 

 

1

 

 

 

 

Симп

 

(b a)h4 max

y IV (x)

.

(2.13)

 

 

180

x [a,b]

 

 

 

 

 

 

 

 

11

2.4. Практическая оценка погрешности и экстраполирование по Ричардсону

При интегрировании функции, заданной таблично в равноотстоящих узлах сетки, оценка погрешности производится по формулам:

метод средних прямо-

метод трапеций

метод Симпсона

угольников

 

 

 

 

 

 

 

 

 

 

 

 

 

b a

 

 

 

 

 

b a

 

 

 

 

 

b a

 

 

 

 

 

 

2 y

 

 

 

2 y

 

 

 

4 y

 

 

 

 

 

 

 

 

24

 

 

 

 

12

 

 

 

 

180

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Здесь 2 y и 4 y – среднеарифметические значения вторых и четвертых ко-

нечных разностей (см. раздел 3), вычисленных по заданной таблице сеточной функции.

Вычисление значений I ( N ) при различных значениях N элементарных отрезков позволяет получить более точное значение интеграла. Это позволяет практическим способом оценить погрешность и повысить на единицу порядок точности численного метода путем двойного (и т.д.) просчета.

Пусть используется какой-либо метод численного интегрирования с шагами h и 2h , при этом пусть число отрезков разбиения в методе с шагом h равно N , тогда в методе с шагом 2h N / 2 . Далее, пусть порядок выбранно-

го метода равен k , тогда точное значение I

интеграла (2.1) равно:

I I ( N ) C hk O(hk 1 ),

(2.14)

I I ( N / 2) C 2k hk O(hk 1 ),

(2.15)

где I ( N / 2) и I ( N ) – численные значения интеграла, вычисленные по методу с шагом h и 2h , C hk и C 2k hk – главные члены погрешности численного метода, C – константа.

1, для методов левых и правых прямоугольников,

k 2, для методов средних прямоугольников и трапеций,4, для метода Симпсона.

Используя формулы (2.14)-(2.15), получим абсолютную практическую погрешность по методу двойного просчета (метод Рунге)

~

 

 

I ( N ) I ( N / 2)

 

 

 

 

 

 

 

 

 

 

.

(2.16)

 

 

 

 

 

 

 

 

 

 

2k 1

 

Подставляя формулу (2.16) в (2.14), получим формулу численного интегрирования с точностью порядка k 1

 

2k I ( N ) I ( N / 2)

 

I

 

O(hk 1 ) .

(2.17)

 

 

2k 1

 

Формула (2.17) называется экстраполяцией по Ричардсону.

Если порядок погрешности k метода не известен, можно, используя ту же методику, что и выше, получить оценку этого числа. Для этого нужно

12

иметь три приближенных значения интеграла, чтобы исключить член C hk с двумя неизвестными.

Для этого добавим к уравнениям (2.14)-(2.15) еще одно вида:

I I ( N / 4) C k 4k hk

O(hk 1 ) .

(2.18)

Тогда на основании (2.14)-(2.15) и (2.18) имеем:

 

2k

I ( N / 4)

I ( N / 2)

.

 

(2.19)

I ( N / 2)

I ( N )

 

 

 

 

 

2.5.Задание на лабораторную работу № 1: Численное интегрирование

1.Вычислить интеграл (№ вар. по списку в журнале) аналитически, методами

средних прямоугольников, трапеций и Симпсона для N 4 вручную (ЭВМ: N 16 ) и N 8 (ЭВМ: N 32 ). Для каждого метода вычислить экстраполированное по Ричардсону значение интеграла.

2. Определить теоретическую погрешность каждого метода, а также погреш-

ность вычисления, исходя из принципа двойного пересчета ( N 4 и

N 8

(для ЭВМ: N 16 и N 32 )), и сравнить с истинной погрешностью.

 

3. Сделать выводы и сравнение методов.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

№ вар.

 

интеграл

№ вар.

 

интеграл

 

 

 

 

2

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

1

(e x

2 cos x)dx

16

(2sin x sin 2x)dx

 

 

 

 

2

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

4

 

 

dx

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

2 x

17

(3x5 4x3 1)dx

 

 

 

 

 

0

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

3

( 25x4

 

45x2 8)dx

18

 

2x ln 2 dx

 

 

 

 

1

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

1

 

 

dx

 

 

3

 

 

 

 

 

 

4

 

 

 

 

19

 

 

ln x dx

 

 

 

 

1 x2

 

 

 

 

 

 

0

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

5

(3x5

 

x3 x)dx

20

 

(x2 cos x)dx

 

 

 

 

0

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

9

 

 

 

 

 

 

 

/ 2

 

 

 

 

 

 

 

 

 

 

 

 

 

(cos x x3 )dx

 

 

 

6

 

6x 5 dx

21

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

2 dx

 

 

 

7

 

(sin 2x x)dx

22

 

 

x 2

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

1

 

 

 

 

13

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

8

(1 2sin x)dx

23

ln(1 x) dx

 

0

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

/ 2

 

 

 

 

 

 

 

 

1

 

 

xdx

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

9

(sin x x4 )dx

24

 

1 x

 

0

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

4,5

 

 

 

 

 

 

 

 

2

dx

 

 

 

10

 

 

 

2x dx

25

 

 

 

 

 

 

 

 

x

 

 

 

 

 

0

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

11

(1 x2 x3 )dx

26

1 x2 2 dx

 

0

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

sin 2x dx

 

 

 

 

 

 

 

 

12

 

27

1 x2 dx

 

 

0

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

13

(1 sin x)dx

28

x exp( x 2 / 2)dx

 

0

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

1

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

14

(4 sin x x )dx

29

 

 

 

 

dx

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

x

 

7

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

dx

 

4

 

 

 

 

 

 

 

 

 

 

15

 

 

 

30

 

cos2 x dx

 

2x 3

 

 

2

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

Дополнительное задание: (по выбору)

4. Написать программу, осуществляющую с помощью подпрограммы вычисление интеграла с заданной точностью ( взять равным 0.001). Заданная точность достигается методом двойного просчета для N и 2N элементарных интервалов интегрирования, начиная с N 1. Завершение программы двойного просчета должно выполняться либо при достижении заданной точности, либо при проведении заданного количества итераций kmax (не более 15

итераций). Использовать методы трапеций и Симпсона.

3. АППРОКСИМАЦИЯ И ИНТЕРПОЛЯЦИЯ ФУНКЦИЙ

3.1. Аппроксимация и интерполяция

Аппроксимация – это замена (приближение) одной функции f (x) более простой функцией y(x) , близкой к функции f (x) .

В качестве аппроксимирующих (приближенных) функций y(x) очень

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

14

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

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

способы аппроксимации.

Возьмем в качестве аппроксимирующих функций y(x) обобщенные полиномы, составленные по системе функций n (x) , вида:

N

 

y(x) a0 0 (x) a1 1 (x) ... aN N (x) an n (x) ,

(3.1)

n 0

 

где an – неизвестные коэффициенты, которые подбираются. В качестве

функций n (x)

обычно берут полиномы: 1, x , x2 , …, x n , …. Тогда функция

y(x) примет вид обычного полинома степени N :

 

y(x) a

0

a x a

2

x2 ... a

N

x N .

(3.2)

 

1

 

 

 

 

 

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

 

Пусть на отрезке [a, b]

задана аппроксимируемая функция f (x) и из-

вестны значения

функции

f (x)

в некоторых попарно различных

точках

a x0 , x1 , …, xN b .

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

чение f (x)

в точках

x xi ( i 0, 1,..., N ), если известны значения функции

f (x) в узлах интерполирования x0 , x1 , …, xN .

Пусть

f (xi ) yi

( i 0, 1,..., N ), тогда совокупность значений xi и yi

( i 0, 1,..., N ) называют сеточной функцией, заданной на отрезке [a, b]. Задача интерполирования решается следующим образом: выбирается

система функций n (x) , строится обобщенный полином (3.1), а коэффициенты an подбираются таким образом, чтобы в узлах интерполяции значения обобщенного полинома совпадали со значениями данной функции f (x) :

f (xi ) y(xi ) , i 0, 1,..., N .

 

(3.3)

Обобщенный полином (3.1), обладающий свойством (3.3), называется

обобщенным интерполяционным полиномом, а функция y(x)

– интерполяци-

онной функцией для функции f (x) на отрезке [a, b].

 

Если требуется вычислить значение

f (x) в точках x , которые лежат вне

отрезка [ 1 , 2 ] ( 1 min( x0 , x1 ,...,xN ) , 2

max(x0 , x1 ,...,xN ) ),

то такую задачу

называют задачей экстраполяции.

 

 

Если y(x) определяется формулой (3.2), то говорят о полиномиальной (параболической) интерполяции.

15

Задача полиномиальной интерполяции для функции f (x) , заданной в виде таблицы:{xi , f (xi ) , i 0, 1, ..., N} состоит в следующем: найти многочлен

P (x) a

0

a x a

2

x2 ... a

N

x N

такой, что:

N

1

 

 

 

 

PN (xi ) f (xi ) ,

i 0, 1, ..., N ,

 

(3.4)

т.е. найти коэффициенты a0 ,

a1 , …, aN

полинома PN (x) .

Из математического анализа известно, что существует только один полином PN (x) на заданном отрезке [a, b] для несовпадающих узлов сетки.

При практическом построении интерполяционного полинома обычно используют два метода: метод Лагранжа и метод Ньютона.

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

Построим многочлен N -ой степени в виде линейной комбинации многочленов N -ой же степени:

LN (x) y0l0 (x) y1l1 (x) ... yN lN (x) ,

(3.5)

где yn

y(xn ) , n 0,1,...,N , ln (x) – это многочлены N -ой степени такие, что:

 

1, если n m,

 

 

ln

(xm )

 

n, m 0,1,..., N.

(3.6)

 

0, если n m,

 

 

Тогда для каждого xn ,

n 0,1,...,N справедливо равенство:

 

LN (xn ) yn .

 

 

 

По свойству (3.6) многочленов ln (x) получаем:

 

ln (x) = cn (x x0 )(x x1 )...(x xn 1 )(x xn 1 )...(x xN ) .

(3.7)

Коэффициенты cn можно получить из условия: ln (xn ) 1.

На основании (3.5)-(3.7) получим интерполяционный полином Лагранжа

 

 

 

 

N

 

 

 

 

 

 

 

N

 

 

 

 

N

 

 

 

xk

 

 

 

 

 

 

 

 

 

 

L

 

(x)

 

y l

 

(x)

 

y

 

 

 

 

 

x

.

 

 

 

 

 

 

 

 

(3.8)

N

n

n

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

k

 

 

 

 

 

 

 

 

 

 

 

 

 

n 0

 

 

 

 

 

 

n 0

 

 

 

k 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Выпишем явный вид многочленов Лагранжа при N 1 и N 2 :

 

L (x)

x x1

 

y

 

 

x x0

y

 

 

(линейная интерполяция),

 

 

 

 

 

 

 

0

 

 

 

 

 

 

1

 

 

x0 x1

 

 

 

x1 x0

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

L2 (x)

(x x1 )(x x2 )

 

y0

 

(x x0 )(x x2 )

y1

(x x0 )(x x1 )

y2

(x x )(x x

)

 

(x x )(x x

)

(x

2

x )(x

2

x )

 

 

 

 

0

 

1

 

0

 

2

 

 

 

 

 

 

 

1

 

 

0

1

2

 

 

 

0

1

 

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

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

Другим способом задания интерполяционного полинома является метод Ньютона. Построим сначала полином Ньютона для равноотстоящих точек (для равномерной сетки узлов) на отрезке [a,b] :

16

 

 

x

 

 

x

 

nh

,

 

x

 

a ,

h

b a

, x

 

b ,

n 0,1,...,N 1

 

(3.9)

 

 

n

0

 

0

 

N

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

N

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Полином Ньютона N -ой степени строится по следующей формуле:

 

 

N (x) a0

a1 (x x0 ) a2

(x x0 )(x x1 ) ...

 

 

 

 

(3.10)

 

 

aN (x x0 )(x x1 )...(x xN 1 ).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Коэффициенты an

в (3.10) ищутся из интерполяционного условия:

 

 

N(xn ) yn ,

n 0,1,...,N .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Начнем с коэффициента a0 : N(x0 ) y0 a0

a0

y0 .

 

 

Далее: N(x ) a

 

a (x x ) y

 

a

 

y1

y0

 

y1

y0

,

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

1

1

 

0

 

 

 

1

 

 

 

 

1

 

x1 x0

 

 

 

h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

N (x2 ) a0 a1 (x2

x0 ) a2

(x2

x1 )(x2 x0 ) y2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2h

 

 

 

 

 

 

 

 

h

 

 

 

2h

 

 

 

 

 

 

 

 

 

 

 

a

 

 

 

y2 2 y1 y0

, …

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2h2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

По индукции можно показать, что

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

k

k y0

, k 0,1,...,N

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(3.11)

 

 

 

 

 

k!hk

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В (3.11) k y0

 

– это конечные разности k -го порядка узла x0 .

 

 

 

Конечные

разности

определяются

следующим

образом: y0

y1 y0 ,

2 y

0

( y

0

) y y

0

, 3 y

0

2 y 2 y

0

, …, k y

0

k 1 y k 1 y

0

.

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

1

 

yn yn 1 yn ,

2 yn yn 1 yn , ... , k yn

k 1 yn 1 k 1 yn , n 0,1, 2,....

 

Таким образом, полином Ньютона N -ой степени для равноотстоящих уз-

лов имеет следующий вид:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

N (x) y

0

 

y0 (x x )

2 y0

(x x )(x x ) ...

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1!h

 

 

 

0

 

2!h2

 

 

 

 

0

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(3.12)

 

 

 

 

 

N y0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

N!hN

 

 

N 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Полином Ньютона совпадает с полиномом Лагранжа (в силу теоремы существования и единственности), но по способу построения получается более просто. Так слагаемые в полиноме Ньютона убывают и располагаются, как и в ряде Тейлора, в порядке их значимости.

Если в (3.12) ввести замену переменной t (x x0 )h , тогда

xx0 th , (x x1 )h t 1, …, (x xN 1 )h t (N 1) .

Сучетом этих соотношений формула (3.12) примет следующий вид:

N (x) y

0

y0

t 2 y0

t(t 1) ... N y0 t(t 1)(t 2)...(t (N 1)). (3.13)

 

1!

2!

N!

 

 

Формула (3.13) называется первым интерполяционным полиномом Ньютона для интерполирования вперед.

17

Для правой половины отрезка [a,b] разности лучше вычислять справа налево. Это достигается заменой t (x xN )h . Тогда из (3.12) получим

N (x) y

N

yN 1

t 2 yN 2

t(t 1) ... N y0 t(t 1)(t 2)...(t N 1). (3.14)

 

1!

2!

N!

 

 

Формула (3.14) называется вторым интерполяционным полиномом Ньютона для интерполирования назад.

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

Пусть функция y f (x) задана таблично на неравномерной сетке узлов

a x0 , x1 , …, xN b , при этом y0 , y1 ,…, yN – значения функции f (x) , и разности xn 1 xn ( n 0,1,...,N 1) не равны между собой. Введем следующие

определения.

Отношения

f (xi , xi 1 )

 

yi 1

yi

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

называются разделенными

 

xi 1

xi

 

 

 

 

 

 

 

разностями первого порядка.

 

 

 

 

 

 

 

Аналогично,

f (xi , xi 1, xi 2 )

f (xi 1, xi 2 ) f (xi

, xi 1 )

– разделенные разно-

 

xi 2

xi

 

 

 

 

 

 

 

 

 

сти второго порядка.

Разделенные разности n -го порядка определяются из разделенных разностей n 1-го порядка по следующей формуле:

f (x , x

,...,x

)

f (xi 1,...,xi n ) f (xi ,...,xi n 1 )

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

(3.15)

 

 

 

i i 1

 

i n

 

 

 

xi n xi

 

 

 

 

 

 

 

 

 

 

Пусть P(x) – полином Лагранжа степени N такой, что:

 

P(xi ) f (xi ) yi , (i 0,1, 2,...,N) .

 

(3.16)

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

 

P(x, x0 )

P(x) P(x0 )

 

 

(3.17)

 

 

x x0

 

 

 

 

 

 

 

полином ( N 1)-й степени относительно x .

 

 

Далее,

 

 

 

 

 

 

 

 

 

P(x, x0 , x1 )

 

P(x, x0 ) P(x0 , x1 )

 

 

(3.18)

 

 

x x1

 

 

 

 

 

 

 

 

полином ( N 2 )-й степени относительно x . Тогда, разделенная разность вида

P(x, x0 , x1,...,xN 1 ) есть полином нулевой степени, т.е.

P(x, x0 , x1,...,xN 1 ) С .

Отсюда P(x, x0 , x1 ,...,xN ) 0 .

 

Из формулы (3.17) имеем:

 

P(x) P(x0 ) P(x, x0 )(x x0 ) .

(3.19)

Из определения разделенных разностей следует, что

 

18

P(x, x

 

,...,x

 

)

P(x, x0 ,...,xm 1 ) P(x0 ,...,xm )

,

 

0

m

x xm

 

 

 

 

 

 

 

 

 

 

 

 

 

поэтому

 

 

 

 

 

 

 

P(x, x0 ,...,xm 1 ) P(x0 ,...,xm ) P(x, x0 ,...,xm )(x xm ) .

(3.20)

Используя формулы (3.18)-(3.19) и интерполяционные условия (3.15), получим интерполяционный полином Ньютона для неравноотстоящих узлов:

f (x) y0

f (x0

, x1 )(x x0 ) f (x0

, x1

, x2 )(x x0 )(x x1 ) ...

(3.21)

f (x0 , x1 ,...,xN )(x x0 )(x x1 )...(x xN 1 ).

 

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

Ясно, что в узлах интерполяции погрешности интерполяционных многочленов Лагранжа и Ньютона равны нулю. Погрешность RN (x) f (x) LN (x)

в точке x , не совпадающей с узлом интерполяции, определяется по формуле:

 

 

 

 

 

 

 

 

max

f ( N 1) (x)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

R

N

(x)

 

x [a,b]

 

 

 

 

 

 

 

| (x x

)(x x )...(x x

N

) | ,

(3.22)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(N 1)!

0

 

 

 

1

 

 

 

или

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

max

 

f ( N 1) (x)

 

 

 

 

 

 

 

 

 

 

 

 

Rmax (x)

 

x [a,b]

 

 

 

 

 

 

 

 

 

 

(x

N

x

0

) N 1 .

 

 

(3.23)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

N

 

 

 

 

 

 

 

 

 

(N

1)!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В случае равномерной сетки узлов из (3.23) имеем

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

max

 

f ( N 1) (x)

 

 

 

 

 

 

 

 

 

 

 

 

R

N

(x)

 

 

x [a,b]

 

 

 

 

 

 

 

h N 1 .

 

 

 

 

 

(3.24)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(N 1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Если аналитическое выражение функции f (x) не известно, то, добавляя к

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

 

RN

(x)

 

 

 

 

 

 

( N 1)

y0

 

 

| (x x0 )(x x1 )...(x xN ) |.

(3.25)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h N 1 (N

 

1)!

 

 

 

 

 

 

 

 

 

 

 

 

 

В случае равномерной сетки

 

 

R

N

(x)

 

 

 

 

 

 

.

 

 

 

(3.26)

 

 

 

 

 

( N 1) y0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(N 1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Формулы (3.22)-(3.26) определяют также погрешность интерполяционных формул Ньютона.

Аналогично можно определить погрешность экстраполяции при удале-

нии x от [a x0 ,b xN ]. Так,

в случае равномерной сетки, при x [x0

h, x0 ]

или x [xN , xN h] имеем

 

 

 

 

R

 

(x)

 

 

max

 

f

( N 1)

 

 

h

N 1

.

(3.27)

 

 

 

 

 

 

N

 

 

 

(x )

 

 

 

 

 

 

 

 

x [ x ,x]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

19

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

Еще одним методом отыскания аппроксимирующего полинома (не интерполяционного) является метод наименьших квадратов (МНК). Суть его заключается в следующем: требуется провести полином N -ой степени a0 a1 x a2 x2 ... aN x N через ( M 1) заданную точку (M N ) так, чтобы этот полином в среднеквадратичном хорошо описывал исходную функцию f (x) . Такой метод полезен в том случае, если не удается обеспечить при

больших M гладкость интерполяции (по M -ой производной), что на практики очень сложно сделать.

Подберем аппроксимирующую функцию y(x) так, чтобы сумма квадратов отклонений значений функции f (xm ) от заданных значений ym y(xm ) в xm , m 0,1,...,M была бы минимальной. Такая функция будет наилучшей в

смысле метода наименьших квадратов. Составим следующую функцию (функционал):

 

M

 

 

 

S(a0 , a1 ,...,aN ) f (xm ) ym

2

 

 

 

m 0

 

 

 

M

 

 

 

 

a0

a1 xm a2 xm2 ... aN xmN ym 2 .

(3.28)

m 0

 

 

 

 

Найдем

минимум функции S(a0 , a1 ,...,aN )

в (3.28) по переменным

a0 , a1 ,...,aN .

Необходимые и

 

достаточные

условия минимизации

S(a0 , a1 ,...,aN ) выражаются условиями:

S

0,

n 0,...,N

(3.29)

an

 

 

 

– это система из ( N 1) уравнения с ( N 1) неизвестными коэффициентами a0 , a1 ,...,aN . Подставляя в (3.29) формулу (3.28), получим систему линейных

алгебраических уравнений вида:

 

M

 

 

 

 

 

 

 

 

 

M

 

 

 

 

 

xmk a0

xmk 1a1

xmk 2 a2 ... xmk N aN ym xmk

, k 0,1,...,N .

(3.30)

m 0

 

 

 

 

 

 

 

 

 

m 0

 

 

 

 

 

В матричной форме система (3.30) метода наименьших квадратов имеет

вид:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

M

 

M

 

 

M

 

 

 

 

M

 

 

 

 

 

 

 

0

 

1

 

 

N

a0

 

 

 

 

0

 

 

 

xm

xm ...

xm

 

 

 

ym xm

 

 

m 0

 

m 0

 

m 0

 

 

 

m 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

M

 

M

 

 

M

 

 

 

M

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

2

 

 

N 1

a1

 

 

 

 

1

 

 

xm

xm ...

xm

 

 

ym xm

.

(3.31)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m 0

 

m 0

 

m 0

 

...

 

m 0

 

 

 

 

 

...

...

...

...

 

 

 

...

 

 

 

 

 

 

 

 

 

M

 

M

 

 

M

 

 

 

M

 

 

 

 

 

 

x N

 

x N 1 ...

 

x2 N

 

 

 

y

 

x N

 

 

 

 

 

 

 

m

m

 

m

aN

 

 

 

m

m

 

 

m 0

 

m 0

 

 

m 0

 

 

 

m 0

 

 

 

 

 

20

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