ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 02.08.2019

Просмотров: 4695

Скачиваний: 6

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

Метод Прогонки.

86

нуль. А именно, достаточно положить

α

j+1

=

b

j

c

j

− α

j

a

j

,

β

j+1

=

a

j

β

j

+ f

j

c

j

− α

j

a

j

,

j = 1, 2, . . . , n

− 1.

(10.3)

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

ные значения

α

1

,

β

1

. С одной стороны

y

0

= α

1

y

1

+ β

1

, с другой стороны

по условию задано, что

y

0

=

κ

1

y

1

+ µ

1

. Таким образом, получаем

α

1

=

κ

1

,

β

1

= µ

1

.

(10.4)

Нахождение коэффициентов

α

j+1

,

β

j+1

по формулам (10.3) и (10.4) на-

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

α

j+1

,

β

j+1

,

j = 0, 1, . . . n

− 1, найдены, решение системы (10.1) находится

по рекуррентной формуле (10.2), начиная с

j = n

− 1. Для начала счёта

по этой формуле требуется знать

y

n

, которое определяется из уравнений

y

n

=

κ

2

y

n

−1

+ µ

2

,

y

n

−1

= α

n

y

n

+ β

n

и равно

(

κ

2

β

n

+ µ

2

)/(1

κ

2

α

n

). Нахождение y

j

по формулам

y

j

= α

j+1

y

j+1

+ β

j+1

,

j = n

− 1, n − 2, . . . , 0,

y

n

=

κ

2

β

n

+ µ

2

1

κ

2

α

n

(10.5)

называется обратной прогонкой.

Метод прогонки можно применять, если знаменатели выражений (10.3),

(10.5) не обращаются в нуль. Достаточные для этого условия перечислены

в следующих двух теоремах.

Теорема 10.1 (достаточное условие применимости прогонки). Пусть

a

j

6= 0, b

j

6= 0,

|c

j

|

>

|a

j

| + |b

j

|, j = 1, 2, . . . , n − 1 (диагональное преобладание), (10.6)

|

κ

1

|

6

1,

|

κ

2

| < 1,

(10.7)

тогда метод прогонки применим.


background image

Метод Прогонки.

87

Доказательство. Сначала докажем по индукции, что при условиях тео-

ремы

j

|

6

1, j = 1, . . . , n

− 1. Базис индукции: α

1

=

κ

1

и

|

κ

1

|

6

1,

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

1

|

6

1. Индуктивный переход: пусть

j

|

6

1, докажем,

что

j+1

|

6

1. Из оценок

7

|c

j

− α

j

a

j

|

>

| |c

j

| − |α

j

| |a

j

| |

j

| 6 1

>

| |c

j

| − |a

j

| |

(10.6)

>

|b

j

| > 0,

т.е. знаменатели выражений (10.3) не обращается в нуль. Более того,

j+1

| =

|b

j

|

|c

j

− α

j

a

j

|

6

1.

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

j

|

6

1, j = 1, 2, . . . , n. Далее, учитывая условие теоремы

|

κ

2

| < 1 и только что доказанное |α

n

|

6

1, имеем

|1 −

κ

2

α

n

|

>

1

− |

κ

2

| |α

n

|

>

1

− |

κ

2

| > 0,

т.е. не обращается в нуль и знаменатель в выражении для

y

n

.

Теорема 10.2 (альтернативный вариант). Пусть

a

j

6= 0, b

j

6= 0, |c

j

| >

|a

j

| + |b

j

|, j = 1, 2, . . . , n − 1, |

κ

1

|

6

1,

|

κ

2

|

6

1, тогда метод прогонки

применим.

Доказательство. Действуем аналогично предыдущему доказательству. В

данном случае из предположения

j

|

6

1 следует

|c

j

− α

j

a

j

|

>

| |c

j

| − |a

j

| | > |b

j

|, |α

j+1

| < 1,

т.е. все прогоночные коэффициенты, начиная со второго, по модулю строго

меньше единицы. При этом

|1 −

κ

2

α

n

|

>

1

− |

κ

2

| |α

n

|

>

1

− |α

n

| > 0.

Количество арифметических операций

у метода прогонки оцени-

вается

∼ 8n. Это очень мало сравнительно с другими методами решения

СЛАУ. Причина кроется в том, что матрица

A содержит много нулевых

элементов.

7

Использованы неравенства «треугольника»: для любых

a, b

∈ R справедливо, что

|a| + |b| > |a + b| и |a − b| > | |a| − |b| |.


background image

Метод Прогонки.

88

Устойчивость метода прогонки к погрешностям входных дан-

ных.

Если выполняются условия теоремы 10.1 или теоремы 10.2, то, как

было доказано,

j

|

6

1, j = 1, 2, . . . , n. Пусть на каком-либо шаге вычис-

лений была внесена погрешность. Тогда эта погрешность не будет возрас-

тать при переходе к следующим шагам. Действительно, пусть в формулах

(10.2) или (10.5) при

j = j

0

+ 1 вместо y

j

0

+1

вычислена величина

e

y

j

0

+1

=

y

j

0

+1

+ δ

j

0

+1

. Тогда на следующем шаге вычислений, т.е. при

j = j

0

, вместо

y

j

0

= α

j

0

+1

y

j

0

+1

+ β

j

0

+1

получим величину

e

y

j

0

= α

j

0

+1

(y

j

0

+1

+ δ

j

0

+1

) + β

j

0

+1

и погрешность окажется равной

δ

j

0

=

e

y

j

0

− y

j

0

= α

j

0

+1

δ

j

0

+1

.

Отсюда получим, что

j

0

|

6

j

0

+1

| |δ

j

0

+1

|

6

j

0

+1

|, т.е. погрешность не

возрастает.


background image

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

89

1.11

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

Будем рассматривать обыкновенные дифференциальные уравнения

F (x, u(x), u

0

(x), . . . , u

(n)

) = 0.

(11.1)

Как известно, в общем случае такие уравнения имеют бесконечно мно-

го решений. В приложениях требуется выделить одно из этих решений.

Поэтому, часто уравнение (11.1) рассматривают в сочетании с дополни-

тельными ограничивающими условиями. Рассмотрим основные типы до-

полнительных условий, с которыми мы будем дальше работать.

1. Задача Коши для дифференциального уравнения первого порядка

(

u

0

= f (x, u), x

∈ [a, b],

u(x

a

) = u

a

.

(11.2)

2. Краевая задача для линейного дифференциального уравнения второго

порядка

u

00

+ g(x)u

0

+ h(x)u = f (x), x

∈ [a, b],

α

1

u

0

(a) + β

1

u(a) = u

a

,

α

2

u

0

(b) + β

2

u(b) = u

b

.

(11.3)

Граничные условия принято разделять на следующие типы: (а) пер-

вого рода, если

α

i

= 0, i = 1, 2; (б) второго рода, если β

i

= 0, i = 1, 2;

(в) третьего рода, если

α

i

и

β

i

одновременно отличны от нуля.

При исследовании численных методов для каждой из перечисленных

задач будем заранее предполагать, что решение соответствующей задачи

существует, единственно и обладает необходимыми свойствами гладкости.

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

ющему. На интересующем нас отрезке

[a, b], на котором требуется найти

численное решение задачи для дифференциального уравнения, вводится

набор точек или сетка

ω =

{x

0

, x

1

, . . . , x

n

}.

В дальнейшем мы всегда будем считать, что расстояние между соседни-

ми узлами сетки

x

k

и

x

k+1

есть константа

h, называемая шагом сетки.


background image

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

90

Кроме того полагаем

x

0

= a, x

n

= b. Теперь исходное дифференциальное

уравнение мы будем рассматривать только в узлах сетки

ω

F (x

k

, u(x

k

), u

0

(x

k

), u

00

(x

k

), . . . , u

(p)

(x

k

)) = 0, k = 0, 1, . . . , n.

(11.4)

Для краткости договоримся вместо

u(x

k

) писать u

k

. Теперь осталось пе-

рейти от дифференциального уравнения (11.4) к разностному. Для этого

заменим все вхождения символа

u

k

на

y

k

, а все вхождения символов про-

изводной на соответствующие разностные производные. Например,

u

0

k

1

h

(y

k+1

− y

k

) или u

0

k

1

2h

(y

k+1

− y

k

−1

),

u

00

k

1

h

2

(y

k

−1

− 2y

k

+ y

k+1

).

Переход от символов производной к разностным производным неоднозна-

чен. При выборе той или иной разностной формулы могут сыграть роль

порядок погрешности формулы (например,

O(h) или O(h

2

)), а также чис-

ло соседних узлов, задействованных в формуле (например, два узла

x

k

и

x

k+1

или три узла

x

k

−1

и

x

k+1

).

Решением разностного уравнения будет сеточная функция

y

k

= y(x

k

).

Термин «сеточная» говорит от том, что область определения функции

y(x) есть не весь отрезок [a, b], а только узлы сетки ω. Итак, u(x) и y(x)

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

u

k

≈ y

k

,

k = 0, 1, . . . , n.

При использовании приближённых методов основным является вопрос

о сходимости. Понятие сходимости приближённого метода можно сфор-

мулировать по-разному. Будем рассматривать понятие сходимости при

h

→ 0. Оно означает следующее. Фиксируем точку x и построим последо-

вательность сеток

ω

h

таких, что

h

→ 0 и x

n

= nh = x (при этом, очевидно,

n

→ ∞). Говорят, что численное решение сходится в точке x к точному

решению, если

|y

n

− u(x

n

)

| → 0 при h → 0, x

n

= x.

Численное решение сходится на отрезке

[a, b] к точному решению, если

оно сходится в каждой точке этого отрезка.

Погрешность решения — это числовая характеристика

δ

h

, показыва-

ющая, насколько истинное решение

u(x

k

) дифференциального уравнения