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

MET-ЧМ-Часть-2

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

11

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

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

Пусть на некотором промежутке [a; b] заданы n различных узлов x1 , x2 , x3 , …, xn , а также значения некоторой функции y1 , y2 , y3 , …, yn в этих узлах. Необходимо построить полином P(x), проходящий через заданные

точки, т.е.

P(xi ) = yi

Этот полином называется интерполяционным полиномом, является единственным полиномом степени n 1, и может быть записан, например, в форме Лагранжа или Ньютона.

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

 

P(x) = Ln1

n

 

 

(x) = åyili (x)

(4.11)

 

 

 

i=1

 

где li (x) =

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

 

- фундаментальные

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

 

 

полиномы Лагранжа. Они удовлетворяют равенствам

 

 

ì1,

i = k

 

 

lk (xi ) = í

0,

i ¹ k

(4.12)

 

î

 

 

 

 

 

 

и зависят лишь от заданных узлов xi , но не от значений интерполируемой функции yi .

Пример 4.5. Пусть задана таблица:

xi

 

0

 

1/2

Таблица 4.10

1

 

 

1

yi

0

2

 

9/8

 

0

Необходимо построить интерполяционный полином Лагранжа, прохо-

дящий через заданные точки Решение. Запишем фундаментальные полиномы Лагранжа:

l1(x)

l2(x)

=

 

 

(x x2 )(x x3 )(x x4 )

=

 

(x 0)(x

1

)(x 1)

= −

1 x3

+

1 x2

1 x

 

2

 

 

(x1 x2 )(x1 x3 )(x1 x4 )

 

 

 

(1 0)(1

1

)(1 1)

 

 

3

 

2

 

6

 

 

 

 

2

 

 

 

=

 

 

(x x1 )(x x3 )(x x4 )

=

 

(x + 1)(x

1

)(x 1) = −2x3

x2

2x + 1

 

 

 

2

 

 

 

(x2 x1 )(x2 x3 )(x2 x4 )

 

 

(0 + 1)(0

1

)(0 1)

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

12

l3 (x) =

(x x1 )(x x2 )(x x4 )

 

 

=

(x + 1)(x 0)(x 1)

= −

8 x3

+

8 x

 

(x3 x1 )(x3 x2 )(x3 x4 )

(12 + 1)(

1

0)(12 1)

 

 

 

 

3

 

 

3

 

 

 

2

 

 

 

 

l4 (x) =

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

 

=

(x + 1)(x 0)(x

1

)

= x3 +

1 x2

1 x

 

2

(x4 x1 )(x4 x2 )(x4 x3 )

(1 + 1)(1 0)(1

1

 

 

 

 

)

 

 

2

 

 

2

 

 

2

 

 

 

 

Проверим свойство (4.11), например, для l4(x):

l4 (1) = 0, l4 (0) = 0, l4 (1/2) = 0 , l4 (1) = 1

Подставляя li (x) в полином Лагранжа находим:

L3(x) = y1l1(x) + y2l2(x) + y3l3(x) + y4l4(x) =

=0 × l1(x) + 2l2(x) + 98 l3(x) + 0 × l4(x) = x3 - 2x2 - x + 2

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

Интерполяционный полином Ньютона имеет вид:

Nn1(x) = D0(x1 ) + D1(x1,x2 )(x - x1 ) + D2(x1,x2,x3 )(x - x1 )(x - x2 ) + ...

где

D0(xi ) = D1(xi ,xk

D2(xi ,xj

D3(xi ,xj

... + Dn1(x1,x2,..., xn 1 )(x - x1 )(x - x2 )...(x - xn1 )

yi

) = D0(xi ) - D0(xk ) - разделенная разность первого порядка, xi - xk

,xk ) = D1(xi ,xj ) - D1(xj ,xk ) - разделенная разность второго порядка,

xi - xk

,xl ,xk ) = D2(xi ,xj ,xl ) - D2(xj ,xl ,xk ) - разделенная разность третье-

xi - xk

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

Пример 4.6. Построить интерполяционный полином в форме Ньюто- на, проходящий через точки, заданные таблицей 4.10.

Решение. Расчеты представим в виде таблицы.

 

xi

yi

 

Таблица 4.11

i

D1

D2

D3

1

1

0

2

 

 

 

 

 

 

 

2

0

2

7 / 4

5/2

 

3

1/2

9/8

1/2

1

9/ 4

 

4

 

 

 

 

1

0

 

 

 

13

D1(1,2) = (y1 - y2 )/(x1 - x2 ) = (0 - 2)/(-1 - 0) = 2

D1(2,3) = (y2 - y3 )/(x2 - x3 ) = (2 - 9/8)/(0 - 1/2) = -7 / 4 D1(3,4) = (y3 - y4 )/(x3 - x4 ) = (9/8 - 0)/(1/2 - 1) = -9/ 4

D2

(1,2,3) = (D1(1,2) - D1(2,3))/(x1

- x3 ) = (2 + 7 / 4)/(-1 - 1/2) = -5/2

D2

(2,3,4) = (D1(2,3) - D1(3,4))/(x2

- x4 ) = (-7 / 4 + 9/ 4)

/(0 - 1/2) = -1/2

D3(1,2,3,4) = (D2(1,2,3) - D2(2,3,4))/(x1 - x4 ) = (-5/2 + 1/2)/(-1 - 1)

= 1

N3(x) = D0(1) + D1(1,2)(x - x1 ) + D2(1,2,3)(x - x1 )(x - x2 ) +

 

 

 

 

+ D3(1,2,3,4)(x - x1 )(x - x2 )(x - x3 ) =

 

 

 

 

 

 

 

 

= 0 + 2(x + 1) -

5

(x + 1)x +

æ

1

ö

3

- 2x

2

- x +

2

 

2

1 × (x + 1)xçx -

2

÷ = x

 

 

 

 

 

è

ø

 

 

 

 

 

Пример 4.7. Построить интерполяционный полином, проходящий че- рез точки, заданные таблицей 4.10, используя программу Excel.

Порядок решения.

14)Ввести таблицу в рабочий лист Excel (обыкновенные дроби вводятся как формулы, т.е. =9/8). Выделить ячейки таблицы.

15)Вызвать Мастер диаграмм. Выбрать тип диаграммы точечная (без соединительных линий). Нажать кнопку «Готово».

16)Вызвать контекстное меню (правой кнопкой мыши) одной из точек графика. Выбрать пункт «добавить линию тренда».

17)На вкладке тип выбрать полиномиальная аппроксимация и устано- вить степень полинома на единицу меньше числа точек, т.е. 3.

18)На вкладке параметры отметить «показывать уравнение на диаграмме».

19)Закрыть окно настроек, нажав кнопку ОК. Появляется линия графика интерполирующей функции и соответствующая формула:

y(x) = x3 - 2x2 - x + 2

2,5

y = x3 - 2x2 - x + 2

2

1,5

1

0,5

 

 

 

0

 

 

 

-1,5

-1

-0,5

0

0,5

1

1,5

-0,5

Рис. 4.6. Результаты интерполяции в программе Excel.

14

5. Численное интегрирование.

Требуется вычислить определенный интеграл:

 

b

 

I

= ò f(x)dx

(5.1)

 

a

 

Выберем на отрезке интегрирования [a, b] n различных узлов

a = x0 < x1 < x2 < ... < xn 1 < xn = b

и интерполируем функцию f(x) по ее значениям в этих узлах некоторым по- линомом Pm (x). Тогда определенный интеграл (5.1) приближенно можно

вычислять по формуле

 

b

 

 

I

= ò Pm (x)dx ,

 

(5.2)

 

a

 

 

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

 

 

5.1. Метод прямоугольников.

 

На каждом отрезке [xi , xi+1 ],

i = 0, 1, 2, ..., n 1 функция f(x)

заме-

няется полиномом нулевой степени P0(x) = f(xi ).

 

Поэтому приближенно I вычисляется по формуле (см. рис. 5.1):

 

 

n1

xi )

 

I

= å f(xi )(xi +1

(5.3)

 

i=0

 

 

y

y=f(x)

f(x0)

f(x1)

 

 

 

 

 

 

 

 

 

x0=a x1

x2

xn-1

xn=b

x

 

 

 

 

 

Рис. 5.1. Метод прямоугольников.

Для равноотстоящих узлов формула (5.3) имеет следующий вид:

 

n1

 

I

= h å f(xi ), h = xi+1 xi

(5.4)

Или

i=0

 

n

 

 

 

I

= hå f(xi )

(5.5)

 

i =1

 

15

Формулу (5.4) называют формулой левых прямоугольников, а (5.5) - правых прямоугольников.

Программа вычисления интеграла методом прямоугольников пред- ставлена на рис. 5.2.

DEF FNF(X)=SQR(2*X^2+1)

A=0: B=1

N=8

H=(B-A)/N

S=0

X=A

1S=S+FNF(x)*H

X=X+H

IF X<B THEN 1 PRINT S

END

Рис. 5.2. Программа вычисления интеграла методом прямоугольников.

5.2.Метод трапеций.

Вэтом методе на каждом отрезке [xi , xi+1 ]функция f(x) заменяется

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

 

 

 

 

 

 

 

 

 

По формуле Лагранжа:

 

 

 

 

 

 

 

 

 

P (x) = f(x

)

x xi +1

+ f(x

 

+1

)

x xi

 

(5.9)

 

 

 

 

1

 

 

 

 

i

 

xi - xi +1

 

i

xi +1 - xi

 

Интегрируя P1(x) на отрезке [xi ,

xi+1 ], получим:

 

xiò+1 P1(x)dx =

1

(f(xi ) +f(xi +1 ))(xi +1 - xi )

(5.10)

xi

 

 

 

2

 

 

 

(i = 0, 1, 2, ..., n 1), получим формулу трапеций

Суммируя по всем i

 

(см. рис. 5.3):

1 n1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

I =

 

å(f(xi ) + f(xi +1 ))(xi +1

- xi )

(5.11)

 

2 i =0

 

 

 

 

 

 

 

= x0 + h , …, xn

= x0 + nh формула

Для равноотстоящих узлов x0 , x1

(5.11) принимает следующий вид:

 

 

 

 

 

 

 

 

 

 

 

 

h n 1

(f(xi ) + f(xi +1 ))

 

 

 

 

 

 

I

=

å

 

 

 

 

(5.12)

или

 

 

 

 

2 i =0

 

 

 

 

 

 

 

 

 

 

 

 

 

æ f(a) + f(b)

n 1

 

 

 

 

 

 

 

 

 

ö

 

 

 

 

 

I = h

ç

 

 

 

 

 

 

 

+ å f(xi )÷

 

 

 

 

(5.13)

 

 

2

 

 

 

 

 

 

 

 

 

 

è

 

 

 

 

 

 

i =1

ø

 

 

 

 

 

16

y

f(x0)

y=f(x)

 

f(x1)

x0=a x1

x2

xn-1

xn=b

x

 

 

 

 

Рис. 5.3. Метод трапеций.

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

в программе, представленной на рис. 5.2, заменить отмеченные строки на следующие:

1S=S+0.5*(FNF(x)+FNF(X+H))*H

X=X+H

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

Интервал [a, b] разделим на 2n отрезков. Группируя узлы тройками

xi1,xi , xi +1 , на каждом отрезке [xi 1, xi+1 ]

i = 1, 3, ..., 2n 1 интерполиру-

ем функцию f(x) полиномом 2-й степени P2(x)

 

 

По формуле Лагранжа:

 

 

 

 

 

 

 

P2(x) = f(xi1 )

 

(x xi

)(x xi+1 )

+ f(xi )

(x xi1 )(x xi+1 )

 

+

 

(xi1 xi

)(xi1 xi+1 )

 

(xi xi1 )(xi xi+1 )

 

 

 

 

+ f(xi+1 )

 

(x xi 1 )(x xi )

 

 

 

 

 

 

(xi +1 xi 1 )(xi+1 xi )

 

 

Интегрируя P2(x) на отрезке [xi 1, xi+1 ], получим:

 

 

xiò+1 P2(x)dx = h [f(xi1 ) + 4f(xi ) +f(xi+1 )]

(5.14)

xi 1

 

3

 

 

 

 

 

 

 

Суммируя формулу (5.14) по всем n отрезкам, получаем формулу для

приближенного интегрирования (см. рис.5.4):

 

 

 

h n1

[f(x2k ) +

4f(x2k +1 ) + f(x2k +2 )]

 

 

I =

å

(5.15)

или

3 k =0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

I = h (f(a) + 4f(x1 ) + 2f(x2 ) + 4f(x3 ) + ... + 4f(xn1 ) + f(b))

(5.15)

3

 

 

 

 

 

 

 

 

 

 

17

y

f(x0)

f(x1)

f(x2) y=f(x)

x0=a x1

x2

x2n-1

x2n=b

x

 

 

 

 

Рис. 5.4. Метод парабол.

Программа вычисления интеграла методом парабол (Симпсона):

в программе, представленной на рис. 5.2, заменить отмеченные строки на следующие:

1S=S+(FNF(X)+4*FNF(X+H)+FNF(X+2*H))*H/3

X=X+2*H

5.4.Оценка точности вычисления определенного интеграла.

Погрешность вычисления значения интеграла I2n при числе шагов h ,

равном 2n , определяется по формуле Рунге:

2n = I2n In

2p 1

где In - значения интеграла при числе шагов, равном n ,

p - порядок точности, равный 1 для формулы левых (правых) прямо- угольников, 2 для формулы трапеций и 4 для формулы Симпсона.

Таким образом, интеграл вычисляется по выбранной формуле (прямо- угольников, трапеций, парабол Симпсона) для последовательных значений

числа шагов N = n ,

2n , 4n ,

и т.д. Процесс вычислений заканчивается, ко-

гда для очередного

значения

N будет выполнено условие 2n < ε , где

ε - заданная точность.

 

 

Пример 5.1. Вычислить определенный интеграл методами прямо- угольников, трапеций и парабол:

1

I = ò 2x2 + 1dx

0

Решение. Выберем на отрезке интегрирования [0; 1] n = 8 различных

узлов

x0 = a , xi+1 = xi + h

18

Шаг разбиения для равноотстоящих узлов определяем по формуле

h = b a

=

1

0

= 0,125

n

 

8

 

 

Сравнивая формулы 5.4, 5.5, 5.13 и 5.15, обратим внимание, что опре-

деленный интеграл приближенно можно вычислять по формуле

 

n

 

I

= håci f(xi )

 

i =

0

где ci - числовые коэффициенты, на которые умножаются значения функции в узлах f(xi ):

ci

= 1, 1, 1, ...,

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

 

 

ci

= 0, 1, 1, ...,

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

 

 

ci

= 0,5; 1; 1; ...; 1; 0,5 - для метода трапеций;

 

 

 

 

ci

= 1

; 4

; 2 ;

4

; 2 ; ...,

2

; 4 ;

1 - для метода парабол

 

 

 

 

3

3

3

3

3

3

3

3

 

 

 

 

 

 

 

Вычислим значения функции в узлах (табл. 5.3).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 5.3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

xi

 

 

 

0

 

 

0,125

 

0,25

 

0,375

0,5

0,625

0,75

0,875

1

f(xi )

 

 

1,000

 

 

1,016

 

1,061

 

1,132

1,225

1,335

1,458

1,591

1,732

Вычислим интеграл:

По формуле левых прямоугольников

I = 0,125(1,0 + 1,016 + 1,061 + 1,132 + 1,225 + 1,335 + 1,458 + 1,591) = 1,227

По формуле правых прямоугольников

I = 0,125(1,016 + 1,061 + 1,132 + 1,225 + 1,335 + 1,458 + 1,591 + 1,732) = 1,319

 

По формуле трапеций

 

 

I = 0,125(0,5 × 1,0 + 1,016 + 1,061 + 1,132 + 1,225 +

 

+ 1,335 + 1,458 + 1,591 + 0,5 × 1,732) = 1,273

 

По формуле парабол

 

 

I =

0,125

(1 × 1,0 + 4 × 1,016 + 2 × 1,061 + 4 × 1,132 + 2 × 1,225 +

3

 

 

 

 

 

+ 4 × 1,335 + 2 × 1,458 + 4 × 1,591 + 1 × 1,732) = 1,271

 

Пример 5.2. Вычислить с помощью программы Excel определенный

интеграл методом трапеций

 

 

 

1

 

 

 

 

I = ò

2x2 + 1

dx .

0

19

 

Порядок решения.

 

20)

Ввести в ячейки A1:F1 заголовки столбцов (рис. 5.5).

 

21)

В ячейку A2

нижний предел интеграла a

0

22)

В ячейку E2 шаг разбиения h = (b a)/8 для n = 8

=(1-0)/8

23)

В ячейку A3

значение x1 = a + h

0,125

24)Выделить ячейки A2:A3 и при помощи маркера заполнения ввести значения xi = a + ih до x = b = 1 в столбце A.

25) В ячейку B2 формулу f(x)

=КОРЕНЬ(2*A2^2+1)

26)Выделить ячейку B2 и при помощи маркера заполнения ввести значе- ния f(xi ) в столбце B.

27)В ячейки С2, C3, … коэффициенты ci = 0,5; 1; 1; ...; 1; 0,5

28) В ячейку D2 формулу c0 f(x0 )

=B2*C2

29)Выделить ячейку D2 и при помощи маркера заполнения ввести значе- ния ci f(xi ) в столбце D.

30)В ячейке D11 найти сумму чисел столбца D, используя кнопку Авто-

сумма Σ .

31) В ячейке F11 найти значение интеграла

 

 

=D11*E2

 

 

 

 

 

 

 

 

 

 

 

 

 

A

B

C

D

E

F

 

G

 

1

x

f(x)

c

cf

h

I

 

 

 

 

2

0

1

0,5

0,5

0,125

 

 

 

 

 

3

0,125

1,015505

1

1,015505

 

 

 

 

 

 

4

0,25

1,06066

1

1,06066

 

 

 

 

 

 

5

0,375

1,131923

1

1,131923

 

 

 

 

 

 

6

0,5

1,224745

1

1,224745

 

 

 

 

 

 

7

0,625

1,334635

1

1,334635

 

 

 

 

 

 

8

0,75

1,457738

1

1,457738

 

 

 

 

 

 

9

0,875

1,59099

1

1,59099

 

 

 

 

 

 

10

1

1,732051

0,5

0,866025

 

 

 

 

 

 

11

 

 

 

10,18222

 

1,272778

 

 

 

12

 

 

 

 

 

 

 

 

 

Рис. 5.5. Вычисление определенного интеграла методом трапе- ций с помощью программы Excel.

20

6. Численное решение обыкновенных дифференциальных уравнений.

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

ными.

F(x,y,y,y′′,..., y(n)) = 0

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

частных производных.

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

Решить дифференциальное уравнение, значит найти такую функцию y = y(x), подстановка которой в уравнение обращала бы его в тождество.

График решения дифференциального уравнения называется инте-

гральной кривой.

Чтобы из уравнения n -го порядка получить функцию, необходимо вы- полнить n интегрирований, что дает n произвольных постоянных. Решение, выражающее функцию в явном виде, называется общим решением.

y = ϕ(x,C1,C2,...Cn )

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

ной точке, их называют начальными условиями,

... y

(n 1)

(x0 ) = y

(n 1)0

y(x0 ) = y0 y (x0 ) = y0

 

 

или значений функции в нескольких точках, т.е. краевых условий.

Задача нахождения частного решения дифференциального уравнения при заданных начальных условиях называется задачей Коши.

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

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

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

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