
Численные методы. Лекции. Часть 2
.pdf
дем
|
|
|
|
|
m |
+ o(Hm) |
(26.4) |
|
Sk(H2) − Sk(H1) = Cm Hm − L |
||||||||
|
|
|
H |
|
|
|
|
|
а отсюда |
|
|
|
|
|
|
|
|
Cm = |
Sk(H2) − Sk(H1) |
+ |
o(Hm) |
. |
(26.5) |
|||
Hm(1 − L−m) |
|
|||||||
|
|
|
|
Hm |
|
|
|
Подставляя это выражение для Cm в равенства (26.2), (26.3) и отбрасывая бесконечно малые o(Hm), найдем приближенные представления погрешностей Rk(H1), Rk(H2) составной квадратурной формулы на двух равномерных сетках :
R(H1)(f ) = J(f ) |
− |
S(H1) |
≈ |
Sk(H2) − Sk(H1) |
(26.6) |
||||
k |
|
k |
1 |
− |
L m |
||||
|
|
|
|
|
|
− |
|
||
R(H2)(f ) = J(f ) |
− |
S |
(H2) |
≈ |
Sk(H2) − Sk(H1) |
. |
(26.7) |
||
|
|||||||||
k |
|
k |
Lm − 1 |
Этот способ оценивания методической погрешности называется правилом Рунге. Так при L = 2, т.е. шаг дробления умень-
шается в два раза, погрешность составной квадратурной формулы Rk(H2)(f ) с шагом H2 меньше погрешности Rk(H1)(f ) составной квадратурной формулы с шагом H1 почти в 2m раз.
Используя правило Рунге можно решить вопрос о нахождении оптимального шага разбиения Ho интервала интегрирования, обеспечивающего (в первом приближении) вычисление интеграла с заданной точностью ε.
ε = Rk |
(f ) |
CmHo = |
|
m |
− |
m Ho , |
(26.8) |
|||
| |
|
| ≈ | |
|
| |
|
Sk(H2) |
|
Sk(H1) |
|
|
(Ho) |
m |
H (1 L− ) |
|
|||||||
|
|
|
|
|
|
|
m |
|
||
|
|
|
|
|
|
|
− |
|
|
|
а отсюда и получаем порядок оптимального шага разбиения
|
H |
|
|
|
|
|
1 |
|
Ho |
|
(H2)− −(H1) |
|
(26.9) |
||||
|
|
|
ε(1 |
L m) |
|
|
m |
|
≈ |
|
|
|
|
|
|
||
|
Sk |
− Sk |
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
61

Можно повысить точность оценки погрешности, если рассматривать асимптотическое представление ее в виде
Rk (f ) = J − SkH (f ) =
= CmHm + Cm+1Hm+1 + . . . + Cm+r Hm+r + o(Hm+r) =
|
r |
|
|
i |
|
= |
Cm+iHm+i + o(Hm+r). |
(26.10) |
|
=0 |
|
Полагая в (26.10) H = H1, H2, . . . , Hr+2 |
получим систему ли- |
нейных алгебраических уравнений относительно J, Cm, . . . , Cm+r . Решив ее получим оценку (26.10) более точную, чем (26.1).
Этот подход к оценке методичеcкой погрешности называется
методом Ричардсона.
Метод расчета на нескольких сетках применяется для повышения порядка точности даже в том случае, когда неизвестен порядок
главного члена погрешности.
Процесс Эйткена
Проводим вычисления на трех сетках: H1, H2 = H1/l, H3 = H2/L = H1/l2, 0 < l < 1. Тогда коэффициент при главном члене погрешности и показатель степени могут быть вычислены
|
Q = Sk(H1) − Sk(H2) |
≈ |
H1m − H2m |
= |
|
||||||||
|
|
|
Sk(H2) − Sk(H3) |
H2m − H3m |
|
|
|||||||
|
|
= |
Hm(1 |
− |
L−m) |
= lm, |
|
|
|
||||
|
|
|
1 |
|
|
|
|
|
(26.11) |
||||
а отсюда |
|
H2m(1 − L−m) |
|
|
|||||||||
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
m ≈ |
ln Q |
|
|
|
|
(26.12) |
|||
|
|
|
|
|
. |
|
|
|
|
||||
|
|
|
|
ln l |
|
|
|
|
|||||
Необходимо |
помнить, |
|
|
что |
все |
это |
спра- |
||||||
ведливо |
лишь |
при |
достаточно |
малом |
H |
||||||||
и при |
соответствующей |
гладкости |
|
f (·). |
§27. Сходимость квадратурного процесса по составным квадратурным формулам
62

В тех случаях, когда допустимо асимптотическое представле-
ние (26.1),(26.10), при H → 0 |
или k = (b − a)/H → ∞ , имеем |
|
Rk(H)(f ) → 0, |
Sk(H)(f ) → J(f ), |
(27.1) |
т.е. квадратурный процесс по таким формулам и для таких функций f (·) сходится.
Однако последовательность квадратурных сумм (22.3) сходится к интегралу J(f ) при k → ∞ для любой непрерывной (интегрируемой) функции f (·) при достаточно слабых предположениях об узлах и коэффициентах этих формул:
Теорема 27.1. Пусть при каждом натуральном k коэффициенты Aij квадратурных формул (22.2) удовлетворяют следующим условиям:
Aij |
0; |
(27.2) |
||||
z |
|
ni |
(27.3) |
|||
zi i+1 dx = j=1 Aij = zi+1 − zi, i = 0, k − 1. |
||||||
|
|
|
|
|
|
|
Тогда для любой интегрируемой по Риману на [a, b] |
функции |
|||||
f (·) (в частности, непрерывной) при |
|
|||||
|
rk = max zi+1 − zi → 0 |
|
||||
|
|
|
|
|
||
|
i=0,k−1 |
|
||||
квадратурный процесс по формулам (22.3) сходится |
|
|||||
|
lim Sk(H)(f ) = J(f ), |
(27.4) |
||||
|
rk →0 |
|
Замечание
Условие (27.3) означает, что квадратурные формулы (22.2) точны для функций f (x) = const, т.е. алгебраическая степень точности их m 0, а с учетом выполнения условия (27.2) это приводит к выполнению равенства
k−1 ni |
|
|
i |
|
(27.5) |
|
Aij = b − a. |
=0 j=1
63
Доказательство
Интегрируемость по Риману функции f (·) означает, что
|
|
|
|
Sk+ − Sk− → 0, |
rn → 0, |
(27.6) |
|||||
|
|
|
|
Sk− J(f ) Sk+, |
|
(27.7) |
|||||
где Sk− и |
|
Sk+ |
- нижняя и верхняя суммы Дарбу по разбиению |
||||||||
a = z0 < z1 < . . . < zk = b : |
|
|
|
|
|
|
|||||
|
|
|
k |
|
|
|
k |
|
|
|
|
|
|
|
|
|
|
i |
|
|
|
|
|
Sk+ = |
|
fi+ zi, Sk− = |
fi− zi, zi = zi − zi−1, |
||||||||
|
|
|
i=1 |
|
|
=1 |
|
|
|
|
|
f + |
= |
|
sup f (x), |
f − |
= |
inf |
f (x). |
(27.8) |
|||
i |
|
|
zi 1 x zi |
|
i |
zi−1 x zi |
|
||||
|
|
|
− |
|
|
|
|
|
|
|
|
Из условий (27.2), (27.3) находим |
|
|
|
|
|||||||
|
|
|
ni |
|
ni |
|
|
|
|
ni |
|
fi− zi = |
|
fi−Aij |
|
f (xij )Aij |
i |
|
|||||
|
|
|
|
fi+Aij = fi+ zi |
|
||||||
|
|
i=1 |
|
i=1 |
|
|
|
|
=1 |
|
|
и, следовательно, Sk− S(k)(f ) Sk+ |
, что с учетом (27.6), (27.7) |
||||||||||
дает соотношение (27.4) . |
|
|
|
|
|
|
Теорема доказана.
64

ГЛАВА 2. ЧИСЛЕННЫЕ МЕТОДЫ РЕШЕНИЯ ЗАДАЧИ КОШИ ДЛЯ ОБЫКНОВЕННЫХ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ
§28. Постановка задачи
Пусть в области D = {a x b, |yi − y0i | bi} Rn+1 определена функция
f ≡ f (x, y1, . . . , yn), (x, y) D.
Необходимо найти решение |
|
|
|
|
dy |
= f (x, y) |
(28.1) |
|
dx |
||
|
|
|
удовлетворяющее начальному условию
y(x0) = y0. |
(28.2) |
Как известно, используя метод последовательных приближений Пикара, можно получить точное решение y(x) задачи Коши (28.1),(28.2), как предел последовательности
y0(x), y1(x), . . . , yk(x), . . . , |
(28.3) |
где
x |
|
|
yk (x) = y0 + x0 |
f (x, yk−1(x)) dx, k = 1, 2 . . . . |
(28.4) |
Для сходимости этой последовательности необходимо, выполнение условий:
• f (x, y) непрерывна в D ;
• f (x, y) удовлетворяет условию Липшица по аргументу y
f (x, yˆ) − f (x, y¯) L yˆ − y¯ |
(28.5) |
для всех x [a, b] и всех компонент векторов yˆ и y¯ .
65

При этих предположениях, yk(x) равномерно сходится к точному решению задачи Коши, поэтому для достаточно больших k отклонение y(x) −yk(x) не превышает заданной величины. Таким образом, в качестве искомого решения можно взять yk(x) . Практическая реализация этого метода затруднена по причине того, что для сложной функции f (x, y) интеграл не берется в квадратурах и решение нельзя получить в аналитическом виде. Константа Липшица L играет важную роль в численных методах.
Обсуждаемые здесь численнные методы известны как дискретные, т.е. такие методы, посредством которых вычисляется по-
следовательность приближений ym ≈ y(xm) на множестве точек xi+1 = xi + hi, i = 0, 1, . . . , N − 1; xN = b, hi > 0−
шаг сетки. В большинстве рассматриваемых методов будем считать hi = h, h = const > 0, i = 1, 2, . . . .
Для компактности изложения будем в дальнейшем рассматривать методы для скалярного случая (28.1) n = 1 и отдельно оговаривать их распространение на случай систем.
§29. Одношаговые методы
Одношаговые методы - методы которые последовательно дают
приближения |
ym |
к значениям точного решения y(xm) |
в каж- |
дом узле xm |
сетки на основе известного приближения |
ym−1 к |
|
решению в точке |
xm−1. |
|
|
В общем виде их можно представить : |
|
||
|
ym+1 = F (f, xm+1, xm, ym+1, ym). |
(29.1) |
Одношаговые методы вида (29.1) в правой части (в самом общем случае) содержат искомое значение ym+1 . Это вынуждает ввести еще один параметр классифицирующий дискретные численные методы решения задачи Коши. Наличие в правой части представления метода в виде (29.1) зависимости от искомой функции ym+1 делает его неявным. Отсутствие этой зависимости – явным, вида:
ym+1 = F (f, xm+1, xm, ym). |
(29.2) |
§30. Методы разложения в ряд Тейлора
66

Предположим, что правая часть f (x, y) |
дифференциального |
||
уравнения |
|
|
|
|
dy |
= f (x, y) |
(30.1) |
|
dx |
||
|
|
|
имеет непрерывные частные производные до порядка s. Тогда искомое решение y(x) имеет непрерывные производные до s + 1 – ого порядка включительно. Точное значение решения в узле xi+1 , если известно точное значение решения в точке xi , запишем по формуле Тейлора:
y(x |
) = y(x ) + hy (x ) + |
h2 |
y (x ) + . . . + |
hs |
y |
|
|
|
|||||
i+1 |
i |
i |
2 |
i |
s! |
|
|
|
|
|
hs+1
+ (s + 1)! y(s+1)(ξ) = y(xi) + h (xi, y(xi), h), h = xi+1 − xi, ξ (xi, xi+1).
(s)(xi) +
(30.2)
Если теперь этот ряд оборвать, ограничиться только первыми s+1 членами, и заменить точное значение y(xi) его приближением yi , то в соответствии с (30.1) получиться следующая приближенная формула:
yi+1 = y(xi) + hϕ(xi, y(xi), h) = |
|
|
|||||
= yi + hy |
+ |
h2 |
y + . . . + |
hs |
y(s) |
, |
(30.3) |
|
|
||||||
i |
|
2 i |
s! i |
|
|
Производные входящие в правую часть (30.3), могут быть фактически найдены:
yi = f (xi, yi),
yi = {fx + f · fy }|xi ,
|
|
|
+ f |
2 |
|
|
|
}|xi , (30.4) |
yi |
= {fxx |
+ 2f · fxy |
|
· fyy |
+ (fx |
+ f · fy )fy |
. . . . . . . . . . . . . . .
Полагая,например, s = 1 и s = 2, получим :
yi+1 = yi + hf (xi, yi) |
, |
(30.5) |
67

yi+1 |
= yi + h |
f (xi, yi) + 2 |
(fx |
(xi, yi) + f (xi, yi) · fy (xi, yi)) |
, (30.6) |
|
|
|
|
h |
|
|
|
по которым можно последовательно получать приближенное решение ym . Такие формулы не требуют вычисления дополнительных начальных условий и позволяют легко менять шаг интегрирования. Их практическое применение ограничено лишь теми задачами, для которых легко вычисляются полные производные высшего порядка.
§31. Явные методы Рунге
В начале века Рунге, Хойн и Кутта предложили подход, основанный на построении ϕ , которая максимально близка к и не содержит производных от функции f (x, y). Этот процесс "подгонки"рядов Тейлора и называется методом Рунге-Кутты .
Так Хойн рассмотрел этот процесс "подгонки",положив
ϕ(x, y, h) = b1f (x, y(x)) + |
|
+b2f (x + hc2, y(x) + ha21f (x, y(x))), |
(31.1) |
где b1 , b2 , c2 и a21 – постоянные, подлежащие определению. Разлагая ϕ и по степеням h, получил:
ϕ(x, y, h) = (b1 + b2)f (x, y(x)) + |
|
||||||
+hb2[c2fx(x, y(x)) + |
|
|
|
|
|
|
|
+a21fy (x, y(x))f (x, y(x))] + O(h2), |
(31.2) |
||||||
(x, y(x), h) = f (x, y(x)) + |
1 |
h[fx(x, y(x)) + |
|
||||
|
|
||||||
2 |
|
||||||
+fy (x, y(x))f (x, y(x))] + O(h2), |
(31.3) |
||||||
что приводит к уравнениям |
|
|
|
|
|
|
|
b1 + b2 = 1, |
|
|
(31.4) |
||||
1 |
|
|
|
|
|
|
|
b2c2 = |
|
|
, |
|
|
|
(31.5) |
2 |
|
|
|
||||
b2a21 = |
1 |
. |
|
|
(31.6) |
||
2 |
|
|
68
Вследствие того что в общем случае нельзя найти никаких соотношений для членов порядка O(h2), получаем семейство решений
b1 = 1 − ξ, b2 = ξ, c2 = a21 = |
1 |
, |
(31.7) |
|
|||
2ξ |
где ξ = 0 – свободный параметр. Полагая ,например, ξ = 12 , получим расчетную схему, (впервые полученную Хойном) вида:
yi+1 = yi + h[ |
1 |
f (xi, yi) + |
1 |
f (xi + h, yi + hf (xi, yi))], |
(31.8) |
|
|
||||
2 |
2 |
Рассмотренный процесс "подгонки"можно обобщить, используя m вычислений функции на одном шаге интегрирования.
Предполагаем, что в рассматриваемой области f (x, y) имеет непрерывные частные производные до некоторого порядка q . Тогда искомое решение будет иметь непрерывные производные до порядка q + 1 , и можно представить приращение решения в виде:
|
|
|
|
|
h2 |
|
|
y0 = y(x + h) |
− y(x) = hy |
(x) + |
|
y |
(x) + . . . |
||
2 |
|||||||
|
hq+1 |
|
|
|
|
|
|
+ |
|
y(n+1)(x) + o(|h|q+1). |
|
|
(31.9) |
||
(q + 1)! |
|
|
При достаточно малых h можем отбросить в (31.9) член o(|h|q+1) и приближенно считать
|
|
|
|
|
h2 |
|
|
y0 = y(x + h) |
− y(x) ≈ hy |
(x) + |
|
y |
(x) + . . . |
||
2 |
|||||||
+ . . . + |
hn+1 |
|
y(n+1)(x). |
|
|
|
(31.10) |
(n + 1)! |
|
|
|
||||
|
|
|
|
|
|
При рассмотрении метода разложения в ряд Тейлора мы убедились в том что полные производные yi(x) в (31.10) могут быть вычислены. Но в связи с тем, что дело это требует индивидуального подхода для каждой системы, , их непосредственное использование (31.10) на практике вряд ли может быть использовано.
69
Рунге предложил составлять линейную комбинацию
|
m |
|
ϕ(x, y(x), h) = |
i |
(31.11) |
biki(h), |
||
|
=1 |
|
|
|
i−1 |
где ki(h) = hf (x + hci, y(x) + |
j |
|
aij kj ), |
||
|
|
=1 |
i= 1, 2, . . . , m.
иискать приближение к решению в виде
y(x + h) ≈ y(x) + ϕ(x, y(x), h). |
(31.12) |
Метод (31.11)–(31.12) и называется m –этапным явным одношаговым методом Рунге-Кутты. Он идеально приспособлен для практического расчета:
-не требует вычисления дополнительных начальных значений;
-позволяет легко менять шаг интегрирования.
Выбор постоянных (параметров метода) bi, ci, aij производится так, чтобы разложение (31.11) по степеням h совпадало до
возможно более высоких степеней |
h |
при произвольной функции |
|
f (x, y) и произвольном шаге h |
с разложением (30.2). Введем в |
||
рассмотрение функцию |
|
|
|
|
|
m |
|
Ψ(h) = y(x + h) − y(x) − |
i |
|
|
biki(h), |
(31.13) |
||
|
|
=1 |
|
которую в дальнейшем будем называть методической погрешностью одношагового метода.
Считаем f (x, y) - достаточно гладкой функцией своих аргу-
ментов, и значит |
ki(h) |
– корректирующие функции и |
Ψ(h) - |
гладкие функции параметра h. |
|
||
Предположим, что |
f (x, y) настолько гладкая, что существу- |
||
ют производные |
Ψ (h), |
Ψ (h), . . . , Ψ(s+1)(h) . |
|
Предположим также, что параметры метода bi, |
ci, aij |
||
выбраны так, что |
|
|
|
Ψ (0) = Ψ (0) = . . . = Ψ(s)(0) = 0, |
(31.14) |
70