129.05K
Category: mathematicsmathematics

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

1.

Тема 6. Метод конечных разностей
(метод сеток) численного
решения дифференциальных
уравнений

2.

6.0 Метод конечных разностей (сеток). Постановка задачи
По определению производная функции одной переменной имеет вид:
dy
y ( x h) y ( x)
lim
dx h 0
h
Компьютер не может совершить предельный переход.
(Да и мы тоже, если функция задана таблично!).
Однако мы можем придать h малое (но не нулевое) значение и проверить,
получается ли приближение достаточно точным (проблема точности) и
что ошибка не возрастает в ходе вычислений (проблема устойчивости).
Метод сводится к тому, что производная заменяется разностью.
Разность y(x + h) – y(x) называется конечной разностью.
2

3.

6.1 Метод конечных разностей (сеток)
Метод сеток, или метод конечных разностей – один из самых
распространенных методов численного решения уравнений с частными
производными.
В основе – идея замены производных конечно-разностными отношениями.
Ограничимся случаем двух независимых переменных.
Пусть в плоскости xOy имеется некоторая область G с границей Г (Рис.6.1).
Построим два семейства параллельных прямых:
x x0 ih, (i 0, 1, 2,...),
y y0 lk , (l 0, 1, 2,...).
3

4.

6.1 Метод конечных разностей (сеток)
y
x
O
Рис.6.1. Построение сетки.
4

5.

6.1 Метод конечных разностей (сеток)
Точки пересечения прямых называют узлами.
Два узла называют соседними, если они удалены вдоль оси Ox или Oy на
шаг сетки h или k соответственно.
Узлы, принадлежащие G +Г и расположенные вне этой области на
расстоянии, меньшем, чем шаг от Г, называют внутренними.
Оставшиеся из выделенных – граничные.
Рассмотрим сначала разности в направлении x.
5

6.

6.1 Метод конечных разностей (сеток)
Разложим функцию u = u(x, y0) в ряд Тейлора в окрестности точки x0, y0.
( x x0 ) 2
u ( x, y0 ) u ( x0 , y0 ) ( x x0 )u x ( x0 , y0 )
u xx ( , y0 ),
2
где лежит между x и x0.
Если положить x = x0 + h, то можно получить следующее выражение
u ( x0 h, y0 ) u ( x0 , y0 )
h
u x ( x0 , y0 )
u xx ( , y0 ).
h
2
6

7.

6.1 Метод конечных разностей (сеток)
Т.е. если представить ux с помощью
u x ( x0 , y0 )
u ( x0 h, y0 ) u ( x0 , y0 )
,
h
(6.1)
то ошибка ограничения будет равна
h
ET u xx ( , y0 ); x0 x0 h.
2
Равенство (6.1) получено с помощью подстановки x = x0 + h, результат
называется правой разностью.
7

8.

6.1 Метод конечных разностей (сеток)
Аналогично можно получить левую разность
u x ( x0 , y0 )
u ( x0 , y0 ) u ( x0 h, y0 )
,
h
(6.2)
Приближение для второй производной uxx через правую разность
u x ( x0 h, y0 ) u x ( x0 , y0 )
u xx ( x0 , y0 )
,
h
(6.3)
Если в выражение (6.3) подставить правые разности для ux, весь результат
окажется «сдвинутым» вправо. Для компенсации используем левые разности
для ux. Получим
u xx ( x0 , y0 )
u ( x0 h, y0 ) 2u ( x0 , y0 ) u ( x0 h, y0 )
.
2
h
(6.4)
8

9.

6.1 Метод конечных разностей (сеток)
Можно отметить симметрию полученной формулы относительно x0, y0.
Для определения ошибки ограничения вспомним, что
( x x0 ) 2
u ( x, y0 ) u ( x0 , y0 ) ( x x0 )u x ( x0 , y0 )
u xx ( x0 , y0 )
2
( x x0 )3
( x x0 ) 4
u xxx ( x0 , y0 )
u xxxx ( , y0 ).
6
24
Положим теперь x = x0+ h; x = x0 - h и сложим два равенства.
Получится, что ошибка ограничения равна
h2
ET
u xxxx ( , y0 ),
12
x0 h x0 h.
9

10.

6.1 Метод конечных разностей (сеток)
Аналогичный анализ проводится для производных в направлении y:
u yy ( x0 , y0 )
u ( x0 , y0 k ) 2u ( x0 , y0 ) u ( x0 , y0 k )
.
2
k
(6.5)
Здесь k – величина шага по y.
Ошибка ограничения равна
h2
ET
u yyyy ( , y0 ),
12
y0 k y0 k .
10

11.

6.1 Метод конечных разностей (сеток)
С использованием полученных выражений можно полностью переписать
дифференциальное уравнение в частных производных и перейти к
уравнению в конечных разностях.
Например, уравнение Лапласа
u xx u yy 0
можно переписать в виде
u ( x0 h, y0 ) 2u ( x0 , y0 ) u ( x0 h, y0 )
2
h
u ( x0 , y0 k ) 2u ( x0 , y0 ) u ( x0 , y0 k )
0
2
k
11
English     Русский Rules