Материал: Приближенные методы-Буханько АА

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

y

yi 1

yi

, y

yi 2 2yi 1 yi

,

(1.3)

 

 

h2

i

h

 

i

 

 

а на концах отрезка положим

y

y1

y0

, y

yn yn 1

.

(1.4)

 

 

 

0

h

 

n

h

 

 

 

 

 

Подставив (1.3), (1.4) в уравнение (1.1) и условия (1.2):

yi 2

2 yi 1

yi

 

yi 1

yi

 

 

 

 

 

 

pi

qi yi

fi (i 0, n 2),

 

h2

 

 

h

 

 

 

y1

y0

 

 

 

 

yn

yn 1

(1.5)

0 y0

 

A,

0 yn

 

B,

1

 

h

1

 

h

 

 

 

 

 

 

 

 

 

 

 

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

Пример 1.1. Методом конечных разностей найти приближенное решение уравнения

 

 

 

y

1

y 0,5y 0,5x2

ln x 4 ,

(11)

 

 

 

 

 

 

 

 

x

 

 

 

 

удовлетворяющее краевым условиям

 

 

 

 

 

 

 

y(1)

y (1)

1,

 

(12)

 

 

 

 

y(2)

0,5y (2) 1,1137,

 

 

 

 

 

используя конечно-разностные отношения.

 

 

Выберем

шаг

h

0, 2 ,

 

получим

шесть

узлов сетки: x0

1 , x1 1, 2 ,

x2 1, 4 , x3

1, 6 ,

x4

1,8 ,

x5

2 . Используя формулы (1.3), заменяем урав-

нение (11) системой конечно-разностных уравнений:

 

yi 2

2 yi 1 yi

1

 

yi 1

yi

0,5y

0,5x2

ln x

4,

i 0,1, 2,3 .

 

 

 

h2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

h

 

 

 

i

 

 

i

i

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

В результате приведения подобных членов получаем

 

 

 

 

y

1

h

0,5h2

y

 

 

2

h

 

y

 

h2 0,5x2

ln x 4 .

(13)

 

 

 

i 1

 

 

2

 

 

 

 

 

i

 

xi

 

 

 

 

 

 

 

xi

 

i

 

i

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В граничных узлах краевые условия (12) согласно (1.4) принимают вид

 

 

 

 

 

y

 

 

y1

y0

1,

y 0,5

y5

y4

1,1137.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

h

 

 

5

 

 

 

h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Записав предпоследнее уравнение для каждого узла i

0,1, 2,3 и добавив по-

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

 

 

 

 

 

 

 

 

6

0,82 y0 1,8 y1

y2

0,18,

0,853y1

1,833y2

y3

0,182,

0,877 y2

1,857 y3

y4

0,186,

0,895 y3

1,875 y4

y5

0,192,

 

0,8 y0

y1

0, 2,

 

 

 

 

 

 

 

 

 

 

 

0,3y5

 

 

0,5 y4

0, 223,

 

 

 

 

 

 

 

 

 

решая которую, получаем

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y0

1, 066,

y1

1, 053,

y2

1, 201,

 

 

y3

1, 485,

y4

 

1,891, y5 2, 408 .

Для

сравнения

приведем

значения

 

 

точного

решения

 

задачи (11),

(12)

y(x)

x2

2ln x в соответствующих точках:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y(x0 )

1, 000,

y(x1 )

 

1, 075,

y(x2 )

1, 287,

 

 

 

 

 

 

 

 

 

y(x3 )

1, 620,

y(x4 )

 

2, 064,

y(x5 )

2, 614.

 

 

 

 

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

центрально-разностными отношениями

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y

 

 

yi 1

yi 1

, y

 

yi 1

2yi

yi 1

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h2

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

2h

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

Тогда получим систему

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

yi 1

2 yi

yi 1

 

yi 1

 

 

yi 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

pi

 

 

qi

yi

fi

 

(i

 

1, n

 

1),

 

 

 

 

 

 

 

h2

 

 

 

 

 

 

2h

 

 

 

 

 

 

 

(1.6)

 

 

 

 

 

y1

y0

 

 

 

 

 

 

 

 

 

 

yn

yn

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0 y0

 

A,

 

0 yn

 

 

 

 

1

 

B.

 

 

 

 

 

 

 

 

 

1

h

 

 

 

 

 

1

 

 

 

h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Замечание: Если функция

y

 

y(x) достаточно гладкая, то более точные

значения дают формулы

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y

y2

4y1

3y0

,

y

 

3yn

 

4yn 1

 

yn

2

 

 

n

2 .

 

(1.7)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

2h

 

 

 

 

n

 

 

 

 

 

2h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Оценка погрешности метода конечных разностей для задачи (1.1), (1.2)

имеет вид

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y y(x )

 

h2 M4

(b a)2 ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

i

 

 

96

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

где y(x )

— значение точного решения при x

x , M

4

 

max

y(4) (x)

.

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

x

a,b

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Пример 1.2. Методом конечных разностей найти приближенное решение уравнения (11), удовлетворяющее краевым условиям (12), используя цен- трально-разностные отношения с шагом h 0, 2 .

7

Используя формулы (1.6) и (1.7), заменяем уравнение (11) и краевые условия (12) системой конечно-разностных уравнений:

y

1

h

 

y 2 0,5h2

y

1

h

 

 

h2

0, 5x2

ln x 4

 

 

 

 

 

i 1

 

2xi

i

 

 

i 1

 

 

2xi

 

 

 

 

i

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(i

1, 2,3, 4), (14)

 

y0

y2

4 y1

3y0

1,

y5

0,5

3y5

 

 

4 y4

 

y3

1,1137.

 

 

2h

 

 

 

 

 

2h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Подставляя

значения

 

соответствующих

 

 

 

 

 

 

 

коэффициентов, последняя система примет

 

 

 

 

 

 

 

вид

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1, 083y2

 

1,98 y1

0,917 y0

0,182,

 

 

 

 

 

 

 

 

1, 071y3

 

1,98 y2

 

0,929 y1

0,186,

 

 

 

 

 

 

 

 

1, 063y4

1,98 y3

0,938 y2

0,192,

 

 

 

 

 

 

 

 

1, 056 y5

1,98 y4

 

0,944 y3

0, 201,

 

 

 

 

 

 

 

 

 

 

 

 

2, 6 y0

 

4 y1

2 y2

0, 4,

 

 

 

 

 

 

 

 

 

 

 

1,1y5

2 y4

 

0,5 y3

0, 446.

 

 

 

 

 

 

 

Решением этой системы будет

 

 

Рис. 1.2

 

 

 

y0

1, 037,

y1

1, 099,

y2

1, 299,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y3

1, 622,

y4

 

2, 055,

y5

2,594.

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

1.2 Метод прогонки

При применении метода конечных разностей к краевым задачам для дифференциальных уравнений второго порядка получается «трехчленная система» линейных алгебраических уравнений, каждое из которых содержит три соседних неизвестных. Для решения такой системы разработан метод, получивший название метода прогонки.

Запишем первые n 1 уравнений системы (1.5) в виде

 

y

m y

k y

h2 f

,

 

 

 

i 2

 

i i 1

i i

i

 

 

(1.8)

 

 

 

 

 

 

 

 

m

2 hp , k

i

1 hp h2 q (i 0, n 2).

i

i

 

i

i

 

 

 

Разрешая уравнение (1.8) относительно yi 1 :

8

y

fi

h2

1

y

ki

y

(1.9)

 

 

 

i 1

m1

 

i 2

 

i

 

 

mi

mi

 

и предполагая, что с помощью полной системы (1.5) из уравнения (1.9) исключена неизвестная yi , получим

 

 

 

 

 

 

yi 1

 

ci (di

 

 

yi

2 )

 

 

 

i

 

0, n

2

 

,

 

 

 

 

 

(1.10)

где ci ,

di ( i 1, n 2 ) – некоторые коэффициенты. Из (1.10) следует, что

 

 

 

 

 

 

 

 

 

 

yi

 

ci 1 (di 1

 

 

yi 1 ) .

 

 

 

 

 

 

 

 

 

 

(1.11)

Подставляя (1.11) в уравнение (1.8), получим

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y

 

m y

 

k c

(d

i 1

y

 

 

 

) h2 f

i

,

 

 

 

 

 

 

 

 

 

 

i 2

 

 

i

i 1

 

 

 

i i 1

 

 

 

 

 

i 1

 

 

 

 

 

 

 

 

 

 

откуда

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y

 

 

 

 

1

 

 

 

 

h2 f

 

 

 

 

k c

 

 

 

d

 

 

 

y

 

.

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

i

 

 

 

 

1

i

1

 

 

 

 

 

 

 

 

 

 

 

i

mi

ki ci

 

 

 

 

 

 

 

 

i i

 

 

 

 

 

 

i 2

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Сравнивая последнее выражение с (1.10), получим для определения

ci , di

рекуррентные формулы:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

h2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

c

 

 

 

 

 

,

d

i

 

 

f

 

 

 

k c

1

d

i

 

1

(i

 

 

1, n

2).

(1.12)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

mi

ki ci

 

 

 

 

 

 

i

 

 

 

 

 

 

 

i i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Для определения коэффициентов c0 ,

 

d0

 

запишем соотношения (1.11), (1.12)

при i

0 :

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y0

 

c 1

 

d 1

 

y1

 

 

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

c

 

 

 

1

 

 

 

,

 

d

 

 

 

 

h2 f

 

 

 

 

k

c

 

d

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

0

 

 

 

1

1

 

 

 

 

 

 

 

 

 

 

0

m0

k0c

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

и выразим из первого краевого условия (1.5)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y0

 

 

 

1

 

 

 

 

 

 

Ah

 

 

 

y1 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0 h

1

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

c

 

 

 

 

1

 

 

0 h

 

 

 

 

 

,

 

 

d

 

 

 

 

 

 

k0 Ah

 

 

 

 

f

h2 .

(1.13)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

m0

( 1

 

 

0 h) k0 1

 

 

 

 

 

 

 

 

 

 

 

 

 

0 h

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

Вычисления по методу прогонки проводятся следующим образом.

 

Прямой ход. По формулам (1.8) вычисляем значения mi

, ki . Находим по

формулам (1.13) коэффициенты c0 , d0 ,

 

а затем, применяя последовательно

рекуррентные формулы (1.12), получаем значения ci , di при i 1, n 2 .

Обратный ход. Из уравнения (1.10) при i n 2 и последнего уравнения (1.5) получаем

9

yn 1

cn 2 (dn 2

 

yn ),

 

 

0 yn

 

yn

yn 1

B.

 

1

h

 

 

 

 

 

 

 

 

 

Разрешив полученную систему относительно

 

yn , определяем

 

yn

1cn

2 dn

2

Bh

 

,

(1.14)

1 (1

cn 2 )

 

0 h

 

 

 

 

используя уже найденные значения

cn 2 ,

dn 2 . Далее, последовательно при-

меняя рекуррентные формулы (1.10), вычисляем значения yn ( i

n 1, ,1):

yn 1

cn 2 (dn 2

 

yn ),

 

 

yn 2

cn 3 (dn 3

yn 1 ),

(1.15)

 

 

 

 

 

 

 

 

y1 c0 (d0 y2 ).

Значение y0 находим из предпоследнего уравнения системы (1.5):

y0

1 y1

Ah

.

(1.16)

 

0 h

1

 

 

Все вычисления метода прогонки рекомендуется располагать так, как показано в табл. 1.1.

Таблица 1.1 – Порядок вычислений по методу прогонки (конечно-разностные отношения)

 

 

 

 

 

Прямой ход

Обратный

i

xi

mi

ki

fi

ход

 

 

 

 

 

 

 

ci

di

yi

 

 

 

 

 

 

 

 

0

x0

m0

k0

f0

c0

d0

y0

1

x1

m1

k1

f1

c1

d1

y1

2

x2

m2

k2

f2

c2

d2

y2

…

…

…

…

…

…

…

…

n 2

xn 2

mn 2

kn 2

fn 2

cn 2

dn 2

yn 2

n 1

xn 1

 

 

 

 

 

yn 1

n

xn

 

 

 

 

 

yn

 

 

 

 

 

 

 

 

Пример 1.3. Методом прогонки найти приближенное решение уравнения

y

1

y 0,5y 0,5x2

ln x 4 ,

(11)

 

 

x

 

 

удовлетворяющее краевым условиям

10

Источник: https://studfile.net/preview/15721948/