4 |
1,3 |
–0,15 |
0,908 |
0,769 |
0,139 |
|
|
|
|
|
|
5 |
1,5 |
–0,096 |
0,878 |
0,667 |
0,211 |
|
|
|
|
|
|
В последнем столбце для сравнения указано точное решение y 1/ x . Видно изменение знака погрешности с последующим её нарастанием.
Вкачестве ответа выступает столбец yk .
§5. Аппроксимация, устойчивость и сходимость
втеории разностных схем
Конечно-разностные методы (методы сеток) являются эффективными методами численного решения обыкновенных дифференциальных уравнений и уравнений в частных производных. При этом можно рассматривать задачи с начальными, краевыми или начально-краевыми условиями. К таким методам относятся методы Эйлера и Рунге − Кутта решения задачи Коши (задачи с начальным условием) для обыкновенных дифференциальных уравнений первого порядка, изложенные в предыдущем параграфе.
Здесь будет изучаться вопрос о сходимости приближённого решения, полученного разностным методом, к точному решению соответствующей задачи для дифференциального уравнения. При этом возникнут понятия аппроксимации и устойчивости разностных схем. Изучаться будут только линейные дифференциальные уравнения.
Рассмотрим линейное обыкновенное дифференциальное уравнение
y a1 (x) y a0 (x) y f (x) |
(x (a, b)) |
(5.1) |
второго порядка с неизвестной функцией y=y(x) при заданных на интервале
(a, b) коэффициентах a1(x), a0(x) и правой части f(x). При этом ищется функция y(x), удовлетворяющая однородным краевым (граничным) условиям
y(a)=0, y(b)=0. |
(5.2) |
Задача (5.1) – (5.2) называется первой краевой задачей для дифференциального уравнения (5 .1).
81
Классическим решением задачи (5.1) – ( 5.2) называется непрерывная на отрезке [a, b] и дважды непрерывно дифференцируемая на интервале (a, b) функция y x , которая удовлетворяет уравнению (5.1) и краевому условию (5.2).
Можно рассмотреть более общую краевую задачу с неоднородными гра-
ничными условиями
y(a)=c, y(b)=d, |
(5.3) |
где c и d – известные числа. С теоретической точки зрения задача (5.1) , (5.3) не представляет особого интереса, так как сводится к предыдущей заменой неизвестной функции. Действительно, введём следующую замену:
u(x)=y(x) – c – |
d c |
(x – a). |
(5.4) |
|
b a |
||||
|
|
|
Тогда, очевидно, что в силу условий ( 5.3) для новой функции u(x) будут
выполняться однородные условия |
|
|
|
||||||
|
|
u(a)=0, |
u=(b)=0. |
||||||
Уравнение же ( 5.1) в силу замены (5 .4) примет следующий вид: |
|||||||||
u |
|
|
|
|
d c |
|
d c |
||
|
|
|
|
|
|
||||
+ a1(x) [ u |
+ b a |
] + a0(x) [u + c + b a (x – a)] = f(x). |
|||||||
|
|
||||||||
u |
|
|
|
|
d c |
d c |
|||
|
|
|
|
|
|
||||
+ a1(x) u |
+ a0(x)u = f(x) – b a a1(x) – [c + |
b a (x – a)]a0(x), |
|||||||
|
|
||||||||
т. е. к виду (5.1) относительно неизвестной функции u(x), только с другой правой частью.
Дифференциальную краевую задачу (5.1) – (5.2) будем записывать в виде операторного равенства
Ly=f, |
(5.5) |
где L – заданный оператор, а f – заданная правая часть. Для этого достаточно положить
82
y a1 (x) y a0 (x) y, a x b, Ly y(a),
y(b);
f (x), f 0,
0.
Введённый оператор L является линейным.
Для дальнейших рассуждений введём следующие обозначения. Через Ω обозначим интервал (a, b), а через S – его границу {a, b}. Отрезок [a, b] обозначим через . Очевидно, что = Ω U S, т. е. отрезок [a, b] есть замкнутое множество, являющееся объединением интервала (a, b) (открытого множества) и его грани-
цы S = {a, b}.
Введём понятие сетки. Разобьём отрезок [a, b] на N равных частей с шагом h > 0 точками деления xi=x0+ih ( i 0,1, , N ). При этом предполагаем, что x0=a, xN=b. Точки деления x называются узлами сетки. Будем говорить, что на отрезке
[a, b] нанесена сетка с равномерными шагом
h= b a = xN x0 ,
N N
т. е. равномерная сетка на отрезке. Это множество обозначим h :
h = { xi = x0 + ih, i 0,1, , N }.
Множество h ={xi, i 1, , N 1 } называется равномерной сеткой на ин-
тервале (a, b). Множество Sh={x0, xN} называется границей для Ωh. Точки x0 и xN называются граничными узлами. Очевидно, что h= Ωh U Sh.
Любая функция yh yh x , определённая в узлах xi сетки Ωh или h, называ-
ется сеточной функцией. Таким образом, сеточная функция есть функция не непрерывного, а дискретного аргумента. Сама функция зависит от шага h сетки как от параметра. Каждую такую функцию можно рассматривать как конечномерный вектор yh yi , число компонент (координат) yi yh xi которого равно числу узлов соответствующей сеточной области.
83
На множестве сеточных функций введём специальные операторы – конечно − разностные отношения, являющиеся аналогами производных для функций непрерывного аргумента (см. § 1 и § 4).
Здесь применяются следующие разноcтные операторы:
+ yh(x) = |
yh (xi 1 ) yh (xi ) |
= |
|
|
yi 1 yi |
, |
|
|
|
(5.6) |
|||||||
|
|
|
|
|
|
|
|||||||||||
|
h |
|
|
|
h |
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
- yh(x) = |
|
yh (xi ) yh (xi 1 ) |
|
= |
|
|
yi |
|
yi 1 |
, |
|
|
|
(5.7) |
|||
|
|
h |
|
|
|
|
h |
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
1Uh(x) = |
|
yh (xi 1 ) yh (xi 1 ) |
= |
|
yi 1 yi 1 |
, |
|
|
(5.8) |
||||||||
|
|
|
|
2h |
|
|
|
|
|
|
2h |
|
|
|
|
|
|
2Uh(x) = |
yh (xi 1 ) 2 yh (xi ) U h (xi 1 ) |
|
= |
yi 1 2 yi |
yi 1 |
. |
(5.9) |
||||||||||
|
|
|
|||||||||||||||
|
|
|
h2 |
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
h2 |
|
|
|
||
Операторы (5.6) – (5.8) называются разностными отношениями первого порядка, причём (5.8) называют симметрическим разностным отношением.
Очевидно, что |
1yh = |
1 |
( + yh + - yh). Оператор (5.9) называется разностным |
||
2 |
|||||
|
|
|
|
||
отношением второго порядка. Операторы + и |
- коммутируют, при этом |
||||
|
|
|
2 yh = + - yh = |
- + yh. |
|
В ряде учебников разностные отношения (5.6) – (5.9) называют разностными производными соответствующего порядка в точке xi, при этом (5.6) называют
правой разностной производной, а (5.7) – левой разностной производной.
Заметим, что каждый из операторов (5.6) – (5.9) определён на своём множестве узлов. Операторы (5.8) и (5.9) определены для узлов сетки с номерами i= 1, , N 1, т.е. на Ωh . Оператор (5.6) определён для узлов сетки с номерами i = 0,1, , N 1, а оператор ( 5.7) – для узлов i c номерами i=1, , N .
Рассмотрим разностное уравнение
– 2y |
h |
+ a |
+y |
h |
+ a |
y |
h |
= f |
h |
(x |
є Ω ) |
(5.10) |
|
|
1,h |
|
0,h |
|
i |
h |
|
84
с неизвестной сеточной функцией yh(x) при заданных на Ωh коэффициентах a1,h(x), a0,h(x) и правой части fh(x). При этом ищется сеточная функция из h, удовлетворяющая на Ωh уравнению (5.10) и однородным граничным условиям
y0 = 0, yN = 0. |
(5.11) |
По аналогии с дифференциальными уравнениями задачу (5.10) , (5.11) можно назвать первой краевой задачей для разностного уравнения (5.10).
Исходя из трактовки сеточной функции yh как вектора с компонентами yi, задача (5.10) , (5.11) представляет собой следующую систему линейных алгебраических уравнений:
|
|
|
|
|
y0=0, |
– |
yi 1 2 yi |
yi 1 |
+a1,h(xi) |
yi 1 yi |
+a0,h(xi) yi = fh(xi) (I = 1,…, N-1), |
h2 |
|
|
|||
|
|
|
h |
||
|
|
|
|
|
yN = 0, |
которую можно решить различными алгебраическими методами.
Lhyh=fh, |
(5.12) |
где L h – заданный оператор , а fh – заданная правая часть. Для записи (5.10) , (5 .11) в виде (5.12) нужно положить
2 y h a1,h yh a0,h yh ,
Lh yh y0,
yN ;
fh (xi ), (xi h ) fh 0,
0.
Оператор Lh является линейным.
Будем предполагать, что решения соответствующих краевых задач (можно сказать, операторных уравнений (5.5) и (5.12)) существуют и единственны на
85