Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методы вычислений в Excel.pdf
Скачиваний:
187
Добавлен:
14.03.2016
Размер:
998 Кб
Скачать

МЕТОД КОНЕЧНЫХ РАЗНОСТЕЙ РЕШЕНИЯ КРАЕВЫХ ЗАДАЧ ДЛЯ ОДУ

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

Найти решение линейного дифференциального уравнения

u q x u e x u z x , x a, b ,

(6.1)

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

 

u a , u b

(6.2)

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

Теорема. Пусть q x , e x , z x C2 a, b ; e x 0 . Тогда существует единственное решение поставленной задачи.

Решение будем отыскивать методом конечных разностей.

Основные этапы метода конечных разностей:

1.Область непрерывного изменения аргумента a, b заменяется дискретным множеством точек, называемых

узлами: xi a ih, i 0,1,..., n,

n

b 1

.

 

 

 

h

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

uh u0 ,..., un . Функция uh называется

сеточной.

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

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

80

Аппроксимация производных

Для аппроксимации первой производной можно воспользоваться формулами:

u xi Lh

 

ui 1

ui

 

– правая разностная производная,

 

h

 

 

 

 

 

 

 

 

 

 

 

 

u xi Lh

 

ui ui 1

 

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

 

 

 

 

 

 

h

 

 

 

 

 

 

 

u xi Lh0

Lh

Lh

 

 

ui 1

ui 1

– центральная

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2h

 

разностная производная.

 

 

 

 

 

 

 

Существует

 

 

 

множество

 

способов

аппроксимации

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

 

 

 

 

 

 

 

 

 

u x x u x

.

 

 

 

 

 

u x lim

 

x

 

 

 

 

 

 

 

 

 

x 0

 

 

На основе формул для разностной аппроксимации первой производной можно построить разностную аппроксимацию второй производной:

 

 

 

u x

 

u x

 

 

ui 1 ui

ui ui 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

u xi u xi

 

 

i 1

 

i

 

 

h

 

h

 

 

 

 

 

 

 

 

 

(6.3)

 

 

 

 

h

 

 

 

 

h

 

 

ui 1 2ui ui 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Lh

ui

 

 

 

 

 

 

 

 

 

 

 

h2

 

 

 

 

 

 

 

 

 

 

 

Аналогично можно получить аппроксимации производных

более высокого порядка.

 

 

 

 

 

 

 

 

 

 

 

 

n -ой

Определение.

 

Погрешностью

аппроксимации

 

 

производной называется разность x u n x Lhn u x .

Для определения порядка аппроксимации используется разложение в ряд Тейлора.

Рассмотрим правую разностную аппроксимацию первой производной:

81

xi u xi Lh u xi u xi ui 1h ui ,

ui 1 u xi 1 u xi h u xi hu xi h22 u xi ...

xi u xi

u xi hu xi

h2

u xi ui

 

h

u xi

2

 

h

 

2

 

 

 

 

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

первый по h

порядок аппроксимации. Аналогичные оценки можно сделать для левой разностной производной.

Центральная разностная производная имеет второй порядок аппроксимации.

Аппроксимация второй производной по формуле (6.3) также имеет второй порядок аппроксимации.

Для того чтобы аппроксимировать дифференциальное уравнение, необходимо в нем заменить все производные их аппроксимациями. Рассмотрим задачу (6.1), (6.2) и заменим в (6.1) производные:

u xi

ui 1 2ui ui 1

, u xi

ui 1 ui 1

.

 

 

 

 

 

 

 

 

h 2

 

 

 

 

2h

 

 

В результате получим:

ui 1

 

 

 

 

 

 

ui 1 2ui

ui 1

qi

ui 1

ei ui

zi , i

1,..., n 1,

(6.4)

 

h2

 

 

2h

 

 

 

 

 

 

 

 

u0 , un

 

 

 

 

 

 

 

 

Порядок аппроксимации исходной задачи равен 2, т.к. вторая и первая производные аппроксимированы с порядком 2, а остальные – точно.

Итак, вместо дифференциальных уравнений (6.1), (6.2) получена система линейных уравнений вида

u0

 

 

2 qi h ui 1 4 2h 2 ei ui 2 qi h ui 1

2h 2 zi ,

(6.5)

i 1,..., n 1,

 

 

 

un

82

для определения ui в узлах сетки. Матрица данной системы имеет вид:

 

 

1

0

0

 

0

...

 

0

 

 

2

q1h

4 2h2e1

2 q1h

 

0

0

 

0

 

 

 

 

 

 

 

0

2 q2h

4 2h2e2

2 q2h

0

 

0

 

A

 

 

...

...

 

...

...

 

...

 

...

 

 

 

 

 

0

0

0

 

2 qn 1h

4 2h2en 1

 

2 qn 1h

 

 

0

0

0

 

0

...

 

1

 

 

 

 

 

 

Данная матрица является трехдиагональной, т.е. все ненулевые элементы расположены на главной диагонали и двух прилегающих к ней диагоналях. Для решения таких СЛАУ имеется экономичный метод прогонки (см. с. 31-32). Решая полученную систему уравнений, мы получим решение исходной задачи.

Для краевой задачи (6.1), (6.2) имеем: u0

2 qi h ui 1 4 2h 2 ei ui 2 qi h ui 1 2h 2 zi , i 1,..., n 1,

un

Коэффициенты СЛАУ определяются формулами:

ai 2 qi h ,ci 4 2h2ei ,bi 2 qi h, fi 2h2 zi ,i 2,...,n 1, c1 4 2h2e1 ,b1 2 q1h, f1 2h2 z1 2 q1h ,

an 0,c1 1, fn .

Прямой этап метода прогонки:

 

 

 

 

1 0,

1 , i

bi

,

i

fi ai i 1

, i=2, 3, …n.

ci ai i 1

 

 

 

 

 

 

ci ai i 1

Обратный этап метода прогонки:

 

 

 

 

u

 

 

 

 

 

 

 

uin

iui 1 i ,i n 1, n 2,...,0, .

Условие устойчивости (условие диагонального преобладания) тогда имеет вид:

83

 

 

 

4 2h 2 ei

 

 

2 qi h

 

 

 

 

 

2 qi h

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Пусть

 

 

 

h

 

 

 

 

2

 

 

 

 

 

 

 

.

 

 

Тогда

2 h max

 

 

qi

 

h

 

qi

 

 

 

hqi и,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

max

 

qi

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

2 hqi 0 ,

 

 

 

 

2 hqi 0 ,

 

 

 

т.е.

 

2 qi h

 

 

 

2 qi h

 

2 qi h 2 qi h 4 .

 

 

 

 

 

 

 

 

4 2h2 ei

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

4 и, как

 

 

 

 

 

можно видеть, справедливо всегда.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ПРИМЕР 6.1. Найти решение краевой задачи:

 

 

 

 

 

 

u

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

u 0 0,

 

u 1 1.

 

 

 

 

 

 

 

 

 

 

 

 

x 4u

x u x x,

 

 

 

 

 

 

 

 

 

 

 

 

 

Выпишем разностную схему

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ui 1 2ui

ui 1

4

ui 1 ui 1

 

 

ui

xi ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

u0

 

 

 

 

 

un

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0,

 

 

 

 

1.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Условие устойчивости примет вид

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h

 

 

 

2

 

 

 

 

 

 

 

2

 

 

0,5 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

max

 

qi

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Пусть h 0,2 . Тогда число шагов n

1 0

5 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0,2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

u0

0,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

2

 

 

 

 

2

 

 

 

 

 

 

 

1

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

u

 

 

 

 

 

 

 

 

 

 

u

 

 

 

1 u

 

 

 

 

 

 

 

 

 

 

 

x

 

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i 1 h 2

 

 

 

 

 

i h2

 

 

 

 

 

i 1

h2

 

 

 

 

 

 

h

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

15ui 1 51ui 35ui 1

0,2i,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

u5

1.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Или

u0 0

51u1 35u2 0, 2 15u1 51u2 35u3 0, 4 15u2 51u3 35u4 0,6

84

15u3 51u4 35u5 0,8

u5 1

Решим СЛАУ методом прогонки. Коэффициенты СЛАУ:

n 5, ci

51, bi

35, fi

0,2i,

i 1,2,3,4

ai 15, i 2,3,4

c5 1, a5 0, f5 1

Прямой ход. Из первого уравнения находим:

u1 3551 u2 051,2 .

Сравнивая это выражение с основной формулой, видим, что

1

35

0,6863, 1

 

0,2

 

0,0039 .

 

 

 

 

51

 

 

 

 

 

 

 

 

51

 

 

 

 

 

 

 

 

 

Из второго уравнения

 

 

 

 

 

 

 

 

 

 

 

15 1u2

1

 

51u2

35u3 0,4

 

 

 

u2

 

 

 

35u3

 

 

 

0,4 15 1

 

 

 

 

 

 

 

 

15 1

51

 

 

15 1 51

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

35

 

 

 

0,8598, 2

 

0,4 15 1

 

0,0113

15 1 51

 

15 1

51

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Аналогично для третьего и четвертого уравнений:

15 2 u3

2

51u3

35u4 0,6

 

 

 

u3

 

 

 

35u4

 

 

 

 

0,6 15 2

 

 

 

 

 

 

15 2 51

 

15 2 51

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

35

 

 

 

0,9186, 3

 

0,6 15 2

0,0202

15 2

51

15 2

51

 

 

 

 

 

 

 

 

 

 

 

 

 

15 4 u5

4

51u4

35u5 0,8

 

 

 

u4

 

 

 

35u5

 

 

0,8 15 3

 

 

 

 

 

 

15 3 51

 

15 3 51

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

35

 

 

 

0,9403, 4

 

0,8 15 3

0,0296

15 3

51

15 3

51

 

 

 

 

 

 

 

 

 

 

 

 

 

85

Обратный ход начинаем с известного значения функции

u5 1

Применяем прогоночное соотношение

u4 4 u5 4 0,9403 1 0,0296 0,9107

u3 3u4 3 0,9186 0,9107 0,0202 0,8164 u2 2 u3 2 0,6907

u1

1u2

1 0,4701

 

 

 

 

 

Вычисления оформим в виде таблицы:

 

 

 

 

i

 

ai

 

ci

bi

fi

 

i

i

ui

1

 

 

 

51

35

0.2

 

0.6863

-0.0039

0.4701

2

 

15

 

51

35

0.4

 

0.8598

-0.0113

0.6907

3

 

15

 

51

35

0.6

 

0.9186

-0.0202

0.8164

4

 

15

 

51

35

0.8

 

0.9403

-0.0296

0.9107

5

 

0

 

-1

 

1

 

 

 

1

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

ПРИМЕР 6.2. Решить ОДУ 2-го порядка

 

 

 

 

 

 

 

 

x a, b ,

 

 

u x q x u x e x u x z x ,

 

 

скраевыми условиями:

1u a 1u a 1 ,

2 u b 2 u b 2 ,

i , i , i const, i , i 0

В этом случае при построении разностной схемы необходимо еще аппроксимировать и краевые условия. Аппроксимация в общем виде выглядит так:

 

 

 

 

 

u1

u0

 

 

 

 

 

 

un un 1

.

 

 

 

 

 

h

 

 

 

 

 

h

 

 

u

a

 

, u b

 

 

 

В результате получим разностную схему:

 

1

u

0

 

u1 u0

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ui 1

2ui

ui 1

 

qi

ui 1

ui 1

ei ui

zi , i 2,..., n 1

 

 

 

 

 

h2

 

 

 

 

 

 

2h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

86

2 un 2

un un 1

 

2

 

 

 

 

 

h

 

 

 

 

 

 

Или

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

u

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

1

 

 

1

u

0

 

 

 

1

 

 

 

1

 

 

 

h

 

 

 

h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2 qi h ui 1

4 2h2 ei ui

2 qi h ui 1

2h2 zi , i 2,..., n 1

 

 

 

u

n

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

2

 

 

 

 

 

2

 

 

 

 

u

n

 

2

 

 

h

 

h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Мы получили СЛАУ типа (6.5) с трехдиагональной матрицей, решение которой также можно найти методом прогонки.

87