ВУЗ:
Составители:
37
водных используются соответствующие конечно-разностные соотношения.
Такая замена дифференциального уравнения разностным называется его ап-
проксимацией на сетке (или разностной аппроксимацией). Таким образом,
решение дифференциального уравнения сводится к отысканию значений се-
точной функции в узлах сетки. Значения сеточной функции зависят от шага
сетки h, т.е. на самом деле мы имеем не одн
у разностную задачу, а семейство
задач, зависящих от параметра h. Это семейство задач называется разностной
схемой.
В вычислительной практике широкое распространение получил аналити-
ческий метод, основанный на идее разложения в ряд решения задачи Коши
(2.3). Часто для этих целей используют формулу Тейлора. В этом случае вы-
числительные правила строятся особенно про
сто. Приближенное решение
исходной задачи ищется в виде:
Xxxxy
i
xx
xy
i
m
i
i
m
≤≤
−
≈
∑
=
00
)(
0
0
),(
!
)(
)(
, (2.5)
где
),()()(,)()(
0000
)1(
000
)0(
yxfxyxyyxyxy =
′
=== ,
а значения производных
mixy
i
,...,3,2),(
0
)(
= находят по формулам, по-
лученным последовательным дифференцированием уравнения (2.3):
),,(),(),()(
0000000
)2(
yx
y
f
yxfyx
x
f
xy
∂
∂
+
∂
∂
=
+
∂
∂
+
∂∂
∂
+
∂
∂
= ),(),(),(),(2),()(
00
2
2
00
2
00
2
0000
2
2
0
)3(
yx
y
f
yxfyx
yx
f
yxfyx
x
f
xy
⎥
⎦
⎤
⎢
⎣
⎡
∂
∂
+
∂
∂
⋅
∂
∂
+ ),(),(),(),(
00000000
yx
y
f
yxfyx
x
f
yx
y
f
и т.п.
Для значений х, близких к х
0
, метод (2.5) при достаточно большом m дает
обычно хорошее приближение к точному решению y(x) задачи (2.3).
Однако, с увеличением расстояния
0
xx − погрешность приближенного
равенства y(x) ≈ y
m
(x), вообще говоря, возрастает по абсолютной величине и
правило (2.5) становится вовсе неприемлемым. В таких случаях предпочти-
тельнее использовать численные методы решения задачи Коши, позволяющие
в фиксированных узлах последовательно находить значения y
i
≈ y(x
i
),
38
i=1,2,…,n приближенного решения. Сходимость численных методов не так
жестко связана длиной отрезка [x
0
, X].
Большинство численных методов решения задачи Коши можно привести к
виду
),,...,,,...,,(
111 siiiqiqii
yyyyyFy
+++−−+
=
(2.6)
где F – некоторая известная функция указанных аргументов, определяемая
способом построения метода и зависящая от вида уравнения (2.3) и выбран-
ной сетки. При q=0, 0 ≤ s ≤ 1 вычислительные правила (2.6) называются од-
ношаговыми, а при q≥1 или s>1 – многошаговыми. Методы вида (2.6) назы-
ваются явными в случае s=0 и неявными при s=1. При s>1 мн
огошаговые ме-
тоды называют методами с забеганием вперед.
2.1. Одношаговые методы
2.1.1. Метод Эйлера
Простейшим численным методом решения задачи Коши (2.3) для обыкно-
венного дифференциального уравнения 1-го порядка является метод Эйлера.
Он основан на разложении искомой функции
Y(x) по формуле Тейлора (2.5) в
окрестностях узлов x
i
(i=0, 1, ...). В методе Эйлера используется m=1. В ре-
зультате получим:
Y(x
i
+
Δ
x
i
)
≈
Y(x
i
) + Y'(x
i
)
Δ
x
i
. (2.7)
При условии, что решение уравнения (2.3) имеет на рассматриваемом от-
резке непрерывную производную второго порядка, погрешность приближен-
ного равенства (2.7) будет величиной порядка O(
Δ
x
i
2
).
Заменяем значения функции Y в узлах x
i
значениями сеточной функции y
i
.
Тогда уравнение (2.3) перепишется в виде:
Y'(x
i
) = f(x
i
, Y(x
i
)) = f(x
i
, y
i
).
Будем считать, для простоты, узлы равноотстоящими, т. е.
Δ
x
i
= x
i+1
- x
i
=
h =const (i = 0, 1, ...). Учитывая введенные обозначения, из равенства (2.7)
получаем:
y
i+1
= y
i
+ hf(x
i
, y
i
)+ O(h
2
), i=0, 1, ... (2.8)
Полагая i = 0, с помощью соотношения (2.8) находим значение сеточной
функции y
1
при x = x
1
:
y
1
= y
0
+ hf(x
0,
y
0
).
водных используются соответствующие конечно-разностные соотношения. i=1,2, ,n приближенного решения. Сходимость численных методов не так Такая замена дифференциального уравнения разностным называется его ап- жестко связана длиной отрезка [x0 , X]. проксимацией на сетке (или разностной аппроксимацией). Таким образом, Большинство численных методов решения задачи Коши можно привести к решение дифференциального уравнения сводится к отысканию значений се- виду точной функции в узлах сетки. Значения сеточной функции зависят от шага yi +1 = F ( yi − q , yi − q +1 ,..., yi , yi +1 ,..., yi + s ), (2.6) сетки h, т.е. на самом деле мы имеем не одну разностную задачу, а семейство где F некоторая известная функция указанных аргументов, определяемая задач, зависящих от параметра h. Это семейство задач называется разностной способом построения метода и зависящая от вида уравнения (2.3) и выбран- схемой. ной сетки. При q=0, 0 ≤ s ≤ 1 вычислительные правила (2.6) называются од- В вычислительной практике широкое распространение получил аналити- ношаговыми, а при q≥1 или s>1 многошаговыми. Методы вида (2.6) назы- ческий метод, основанный на идее разложения в ряд решения задачи Коши ваются явными в случае s=0 и неявными при s=1. При s>1 многошаговые ме- (2.3). Часто для этих целей используют формулу Тейлора. В этом случае вы- тоды называют методами с забеганием вперед. числительные правила строятся особенно просто. Приближенное решение исходной задачи ищется в виде: 2.1. Одношаговые методы ( x − x0 )i ( i ) m ym ( x ) ≈ ∑ y ( x0 ), x0 ≤ x ≤ X , (2.5) 2.1.1. Метод Эйлера i =0 i! Простейшим численным методом решения задачи Коши (2.3) для обыкно- венного дифференциального уравнения 1-го порядка является метод Эйлера. где y (0) ( x0 ) = y ( x0 ) = y0 , y (1) ( x0 ) = y′( x0 ) = f ( x0 , y0 ) , Он основан на разложении искомой функции Y(x) по формуле Тейлора (2.5) в а значения производных y ( x0 ), (i ) i = 2,3,..., m находят по формулам, по- окрестностях узлов xi (i=0, 1, ...). В методе Эйлера используется m=1. В ре- зультате получим: лученным последовательным дифференцированием уравнения (2.3): Y(xi + Δ xi) ≈ Y(xi) + Y'(xi) Δ xi . (2.7) ∂f ∂f y ( 2 ) ( x0 ) = ( x0 , y 0 ) + f ( x 0 , y 0 ) ( x0 , y0 ), При условии, что решение уравнения (2.3) имеет на рассматриваемом от- ∂x ∂y резке непрерывную производную второго порядка, погрешность приближен- ∂2 f ∂2 f ∂2 f ного равенства (2.7) будет величиной порядка O(Δ xi 2). y ( 3) ( x0 ) = ( x0 , y 0 ) + 2 f ( x0 , y0 ) ( x0 , y0 ) + f 2 ( x0 , y0 ) ( x0 , y0 ) + ∂x 2 ∂x∂y ∂y 2 Заменяем значения функции Y в узлах xi значениями сеточной функции yi. ∂f ⎡ ∂f ∂f ⎤ Тогда уравнение (2.3) перепишется в виде: + ( x0 , y0 ) ⋅ ⎢ ( x0 , y0 ) + f ( x0 , y0 ) ( x0 , y0 )⎥ и т.п. Y'(xi) = f(xi, Y(xi)) = f(xi, yi). ∂y ⎣ ∂x ∂y ⎦ Будем считать, для простоты, узлы равноотстоящими, т. е. Δ xi = xi+1 - xi = Для значений х, близких к х0 , метод (2.5) при достаточно большом m дает h =const (i = 0, 1, ...). Учитывая введенные обозначения, из равенства (2.7) обычно хорошее приближение к точному решению y(x) задачи (2.3). получаем: Однако, с увеличением расстояния x − x0 погрешность приближенного yi+1 = yi + hf(xi, yi)+ O(h 2), i=0, 1, ... (2.8) равенства y(x) ≈ ym(x), вообще говоря, возрастает по абсолютной величине и Полагая i = 0, с помощью соотношения (2.8) находим значение сеточной правило (2.5) становится вовсе неприемлемым. В таких случаях предпочти- функции y1 при x = x1: тельнее использовать численные методы решения задачи Коши, позволяющие y1 = y0 + hf(x0, y0). в фиксированных узлах последовательно находить значения yi ≈ y(xi), 37 38
Страницы
- « первая
- ‹ предыдущая
- …
- 17
- 18
- 19
- 20
- 21
- …
- следующая ›
- последняя »