Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

num-meth

.pdf
Скачиваний:
31
Добавлен:
05.06.2015
Размер:
737.92 Кб
Скачать

Глава 4

Численные методы решения обыкновенных дифференциальных уравнений

4.1Методы Эйлера и Рунге-Кутты решения начальных задач для ОДУ

4.1.1 Постановка задачи. Классификация приближенных методов

Будем рассматривать обыкновенное дифференциальное уравнение (сокращенно ОДУ) первого порядка

y= f(x, y), x [a0, b]

(4.1)

с начальным условием

 

y(x0) = y0,

(4.2)

где f(x,y) - некоторая заданная, в общем случае, нелинейная функция двух переменных. Будем считать, что для данной задачи, называемой начальной задачей или задачей Коши, выполняются требования, обеспечивающие существование и единственность на отрезке [x0, b] её решения y = y(x).

Решить уравнение 4.1 аналитически, т.е. найти общее решение y = y(x, C) с тем, чтобы затем выделить из него интегральную кривую y = y(x), проходящую через заданную точку (x0; y0), удается лишь для некоторых специальных типов уравнений. Поэтому приходится делать ставку на приближенные способы решения начальных задач для ОДУ, которые можно разделить на три группы:

1.приближенно-аналитические методы;

2.графические или машинно-графические;

3.численные методы.

Кметодам первой группы относят такие, которые позволяют находить приближение решения y(x) сразу в виде некоторой "хорошей"функции ϕ(x).

Название графические методы говорит о приближенном представлении искомого решения y(x) на промежутке [x0, b] в виде графика, который можно строить по тем или иным правилам, связанным с графическим толкованием данной задачи.

91

92 Глава 4. Численные методы решения обыкновенных дифференциальных уравнений

Численные методы решения дифференциальных уравнений, предполагающие получение числовой таблицы приближенных значений yi искомого решения y(x) на некоторой сетке xi = [x0, b] значений аргумента х.

Коснемся одного приближенно-аналитического способа решения контрольной задачи 4.1-4.2, в котором искомое решение y=y(x) в некоторой правой окрестности точки x0 является пределом последовательности получаемых определенным образом функций yn(x).

Проинтегрируем левую и правую части уравнения 4.1 в границах от x0 до х:

x x

y(t)dt = f(t, y(t))dt.

x0 x0

Отсюда, с учетом того, что одной из первообразных для y(x) служит y(x), получаем

x

y(x) − y(x0) = f(t, y(t))dt

x0

или, с использованием начального условия 4.2,

x

 

 

y(x) = y0 + x0

f(t, y(t))dt

(4.3)

Таким образом, данное дифференциальное уравнение с начальным условием 4.2 преобразовалось в интегральное уравнение.

Полученное интегральное уравнение 4.3 имеет вид задачи о неподвижной точке

y = ϕ(y)

для оператора

x

ϕ(y) := y0 + f(t, y(t))dt.

x0

Формально к этой задаче можно применить метод простых итераций

yn+1 = ϕ(yn), n = 0, 1, 2, . . . ,

(4.4)

Беря в качестве начальной функции y0(x) заданную в 4.2 постоянную y0(x) по формуле 4.3 при n=0 находим первое приближение

x

y1(x) = y0 + f(t, y0)dt

x0

Его подстановка в 4.4 при n=1 дает второе приближение

x

 

y2(x) = y0 + x0

f(t, y1(t))dt,

Таким образом, этот приближенно-аналитический метод, называемый методом последовательных приближений или методом Пикара, определяется формулой

4.1. Методы Эйлера и Рунге-Кутты решения начальных задач для ОДУ

93

x

 

 

yn+1(x) = y0 + x0

f(t, yn(t))dt,

(4.5)

где n = 0, 1, 2, . . . и y0(x) ≡ y0

Качественный результат: если в некоторой односвязной области G, содержащей такую точку (x0, y0), что:

|f(x, y)| ≤ C, |fy(x, y)| ≤ C1,

то найдется такая постоянная h > 0, что на отрезке [x0, x0+h] последовательность функций yn(x), определяемая методом 4.5, равномерно сходится к решению y(x) задачи Коши 4.1- 4.2, и справедлива оценка погрешности

|

y(x)

y

(x)

| ≤

CCn

(x − x0)n+1

 

n

 

1 (n + 1)!

Отметим две характеристики метода последовательных приближений Пикара, которые можно отнести к негативным. Во-первых, в силу известных проблем с нахождением первообразных, в чистом виде метод 4.5 редко реализуем. Во-вторых, как видно из вышеприведенного утверждения, этот метод следует считать локальным, пригодным для приближения решения в малой правой окрестности начальной точки.

4.1.2Метод Эйлера – разные подходы к построению

Рассмотрим несколько способов вывода метода Эйлера. При этом будем считать, что расчеты проводятся с расчетным шагом h = b−nx0 , расчетными точками (узлами)

служат точки xi = x0 + ih(i = 0, 1, . . . , n) промежутка [x0, b] и целью является построение таблицы

x

x0

x1

. . .

xn = b

y

y0

y1

. . .

yn ≈ y(b)

приближенных значений yi решения y = y(x) задачи 4.1-4.2 в расчетных точках xi.

Геометрический способ. Пользуясь тем, что в точке x0 известно и значение решения y(x0) = y0, и значение его производной y(x0) = f(x0, y0), можно записать уравнение касательной к графику искомой функции y = y(x) в точке (x0, y0) :

y = y0 + f(x0, y0)(x − x0)

(4.6)

При достаточно малом шаге h ордината

 

y1 = y0 + hf(x0, y0)

(4.7)

этой касательной, полученная подстановкой в правую часть 4.6 значения x1

= x0 + h,

по непрерывности должна мало отличаться от ординаты y(x1) решения y(x) задачи 4.1- 4.2. Следовательно, точка (x1, y1) пересечения касательной 4.6 с прямой x = x1 может быть приближенно принята за новую начальную точку. Через эту точку снова проведем прямую

y = y1 + f(x1, y1)(x − x1),

94 Глава 4. Численные методы решения обыкновенных дифференциальных уравнений

которая уже приближенно отражает поведение касательной к y = y(x) в точке (x1, y(x1)). Подставляя сюда x = x2(= x1 + h), иначе, пересекая эту "касательную"прямой x = x2, получим приближение значения y(x2) значением

y2 = y1 + hf(x1, y1),

и т.д. В итоге этого процесса, определяемого формулой

yi+1 = yi + hf(xi, yi), i = 0, 1, . . . , n

(4.8)

и называемого методом Эйлера, график решения y = y(x) данной задачи Коши 4.1-4.2 приближенно представляется ломаной, составленной из отрезков приближенных касательных, откуда происходит другое название метода 4.8 -метод ломанных.

Применение формулы Тейлора. Линеаризуя решение в окрестности начальной точки по формуле Тейлора, имеем

y(x) = y(x0) + y(x0)(x − x0) + y′′(ξ)(x − x0)2. 2

Отсюда при x = x1 получаем

y(x1) = y0

+ hf(x0

, y0) +

y′′(ξ1)

h2.

(4.9)

 

 

 

2

 

 

Точное равенство 4.9, переписанное в виде

y(x1) = y1 + r1(h),

говорит о том, что здесь мы имеем одновременно как саму формулу Эйлера для вычисления значения y1 ≈ y(x1), так и ее остаточный член

r1(h) =

y′′(ξ1)

h2

,

(4.10)

2

 

 

 

 

где ξ1некоторая точка интервала (x0, x1)

Остаточный член 4.10 характеризует локальную(иначе шаговую) ошибку метода Эйлера, т.е. ошибку, совершаемую на одном шаге. За n шагов, т.е. в точке b, образуется

глобальная ошибка. Порядок глобальной ошибки (относительно шага h) на единицу ниже, чем порядок локальной ошибки, а порядком глобальной ошибки и определяется порядок соответстующего численного процесса решения задачи Коши. Таким образом, метод Эйлера относится к методам первого порядка.

Разностный способ. Рассматривая уравнение 4.1 в точке x0, с учетом 4.2 имеем равенство

y(x0) = f(x0, y0)

(4.11)

Применяя к его левой части аппроксимацию производной правым разностным отношением первого порядка точности

 

y(x

) =

y(x1) − y(x0)

 

y′′(ξ1)

h,

 

 

 

0

 

 

h

2

получаем

 

 

 

 

 

 

 

 

 

y(x1) − y(x0)

= f(x0, y0) +

y′′(ξ1)

h,

 

 

 

 

 

h

 

2

 

 

4.1. Методы Эйлера и Рунге-Кутты решения начальных задач для ОДУ

95

что идентично равенству 4.9, поставляющему формулу для вычисления y1 вида 4.7 и локальный остаточный член 4.10. Порядок получающегося таким способом метода численного интегрирования дифференциальной задачи 4.1-4.2 совпадает с порядком аппроксимации производной в левой части уравнения 4.1.

Квадратурный способ. Начальную задачу для ОДУ 4.1-4.2 можно заменить эквивалентным интегральным уравнением 4.3. При x = x1 из него получается равенство

x1

 

 

y(x1) = y0 + x0

f(x, y(x))dx

(4.12)

Применение к интегралу в правой части равенства 4.12 простейшей (одноточечной) формулы левых прямоугольников 4.6 дает приближенную формулу

y(x1) ≈ y0 + f(x0, y(x0))(x1 − x0),

правая часть которой, очевидно, совпадает с выражением 4.7 для подсчета значения y1. В общем случае расчетная формула 4.8 метода Эйлера получается численным интегрированием посредством простейшей формулы левых прямоугольников в равенстве

xi+1

y(xi+1) − y(xi) =

f(x, y(x))dx

(4.13)

xi

в предположении, что на каждом i-ом шаге в роли начальной точки выступает точка

(xi, yi).

4.1.2.1Несколько простых модификаций метода Эйлера

Если в 4.13 использовать простейшую квадратурную формулу правых прямоугольников 4.7, придем к методу

yi+1 = yi + hf(xi+1, yi+1), i = 0, 1, . . . , n.

(4.14)

Этот метод называют неявным(или обратным)методом Эйлера.

Применение к интегралу в 4.13 простейшей квадратурной формулы трапеции приводит

тоже к неявному методу

 

 

yi+1

= yi +

h

[f(xi, yi) + f(xi+1, yi+1)] , i = 0, 1, . . . , n,

(4.15)

 

 

2

 

 

который будем называть методом трапеций. Квадратурная формула трапеций на порядок точнее формул левых и правых прямоугольников. Отсюда вытекает более высокий (на единицу) порядок точности метода трапеций 4.15 по сравнению с явным и с неявным методом Эйлера, т.е. метод трапеций - это метод второго порядка.

Некоторый интерес представляет совместное применение явного метода Эйлера и неявного метода трапеций.

По форме равенство 4.15 представляет собой скалярную задачу о неподвижной точке относительно неизвестного значения yi+1. Поэтому если в правую часть 4.15 подставить хорошее начальное приближение yi0+1, подсчитываемое по формуле 4.14, то тогда само это равенство можно считать шагом метода простых итераций. Получаем гибридный метод

yi+1

= yi +

h

[f(xi, yi) + f(xi + h, yi + hf(xi, yi))] , i = 0, 1, . . . , n,

(4.16)

 

 

2

 

 

96 Глава 4. Численные методы решения обыкновенных дифференциальных уравнений

который называют методом Хойна.

Ясно, что можно достичь большей точности, если, исходя из того же начального приближения

yi0+1 = yi + hf(xi, yi),

сделать не одну, а несколько итераций по методу трапеций:

 

yi(+1k)

= yi +

h

[f(xi, yi) + f(xi+1, yi(+1k−1))] , k = 1, 2, . . . .

(4.17)

2

Такой вариант совместного применения метода Эйлера и метода трапеций называют усовершенствованным методом Эйлера-Коши с итерационной обработкой

(или методом Эйлера с пересчетом). Делать много итераций по формуле 4.17 не рекомендуется (обычно их выполняют не более трех-четырех). Совпадение определенного числа разрядов в полученных числах yi(+1k) и yi(+1k−1) говорит о точности, с которой решено методом простых итераций уравнение 4.15 относительно yi+1, а вовсе не о том, что с такой точностью найдено значение y(xi+1).

Чтобы получить следующую модификацию метода Эйлера, проинтегрируем уравнение 4.1 по отрезку [xi−1, xi+1]. Имеем

 

xi+1

 

xi+1

 

 

x

y(x)dx =x

f(x, y(x))dx,

 

откуда следует равенство

i 1

 

i 1

 

 

 

 

 

 

 

 

 

 

 

 

 

xi+1

 

 

y(xi+1) = y(xi−1) +x

f(x, y(x))dx

(4.18)

 

 

 

 

i 1

 

 

Применяя к посленему интегралу одноточечную квадратурную формулу средних прямоугольников 4.10 и заменяя значения y(xi−1) и y(xi) известными приближенными значениями yi−1 и yi соответственно, из 4.18 выводим формулу для подсчета приближенного значения y(xi+1)

yi+1 = yi−1 + 2hf(xi, yi), i = 1, 2, . . . , n − 1,

(4.19)

которую будем называть уточненным методом Эйлера.

Квадратурная формула прямоугольников (средней точки) имеет тот же порядок точности, что и квадратурная формула трапеций, так что уточненный метод Эйлера тоже является методом второго порядка. Подтверждением этого факта может служить вывод метода 4.19 на разностной основе. Применив к равенству 4.11 формулу симметричной аппроксимации y(xi) второго порядка точности, получим

y(xi+1) − y(xi−1) ≈ f(xi, y(xi)),

2h

откуда после приближенной замены y(xi−1) ≈ yi−1, y(xi) ≈ yi, y(xi+1) ≈ yi+1 следует 4.19. Принципиальное отличие метода 4.19 от всех других рассмотренных до этого момента методов: метод 4.19 является двухшаговым. Здесь для вычисления значения yi+1 привлекаются два предыдущих значения yi и yi−1. Двухшаговость накладывает определенные ограничения, по крайней мере, на начало численного процесса: значение y1 ≈ y(x1) не может быть найдено непосредственно этим методом с тем же шагом h. Поэтому недостающую вторую начальную для процесса 4.19 точку приходится получать другим путем, например, явным методом Эйлера, а чтобы не сделать сразу большой ошибки, применяя на

4.2. О семействе методов Рунге-Кутты. Методы второго порядка

97

старте метод более низкого порядка точности, рекомендуется осуществлять постепенное вхождение в процесс 4.19. Так, “разгон” можно выполнить по формулам

y1/2

= y0

+

h

f(x0, y0),

y1

= y0

+ hf(x0

+

h

, y1/2),

(4.20)

 

 

 

 

2

 

 

 

 

2

 

 

а далее уже переключаться на счет по формуле 4.19.

4.1.2.2Исправленный метод Эйлера

Пусть найдено приближенное значение yi ≈ y(xi) решения y = y(x) задачи 4.1 и требуется вычислить yi+1 ≈ y(xi+1), где xi+1 = xi + h. Запишем разложение решения по формуле Тейлора p-го порядка, принимая за базовую точку xi. Имеем

 

1

1

 

(4.21)

y(xi+1) = y(xi) + hy(xi) +

 

h2y′′(xi) + . . . +

 

hpy(p)(xi) + (hp+1).

2!

p!

Если ограничится двумя слагаемыми в правой части разложения 4.21, то получим обычный метод Эйлера. Учет третьего слагаемого дает:

При p = 2 из 4.21 следует равенство

 

 

h2

(4.22)

y(xi+1) = y(xi) + hy(xi) +

 

y′′(xi) + (h3).

2

Значение первой производной в точке xi, приближенно известно

 

y(xi) = f(xi, y(xi)) ≈ f(xi, yi).

(4.23)

Дифференцируя 4.1, по формуле полной производной

 

y′′(x) = fx(x, y) + fy(x, y)y

 

находим приближенное значение второй производной:

 

y′′(xi) = fx(xi, y(xi)) + fy(xi, y(xi))f(xi, y(xi)) ≈ fx(xi, yi) + fy(xi, yi)f(xi, yi).

(4.24)

Подставляя приближенные выражения y(xi), y(xi), y′′(xi) в равенство 4.22, получаем

следующую формулу для вычисления yi+1 ≈ y(xi+1) при i = 0, 1, . . . , n :

 

yi+1 = yi + h [f(xi, yi) +

h

(fx(xi, yi) + fy(xi, yi)f(xi, yi))] .

(4.25)

2

Определямый ею метод будем называть исправленным методом Эйлера. Так как при i = 0 формулы 4.23 и 4.24 точны, а y0 = y(x0), то на первом шаге вычислений по формуле 4.25 будет совершаться ошибка, связанная только с усечением ряда Тейлора. Следовательно, локальная ошибка или, иначе, шаговая погрешность метода 4.25 составляет величину (h3), а это означает, что исправленный метод Эйлера относится к методам второго порядка.

4.2О семействе методов Рунге-Кутты. Методы второго порядка

Недостатком исправленного метода Эйлера 4.25 является необходимость вычисления на каждом шаге частных производных функции f(x, y). Идея построения явных методов Рунге-Кутты р-ого порядка заключается в получении приближений к значениям f(xi+1) по формуле вида

yi+1 = yi + (xi, yi, h),

(4.26)

98 Глава 4. Численные методы решения обыкновенных дифференциальных уравнений

где φ(x, y, h) - некоторая функция, приближающая отрезок ряда Тейлора 4.21 до р-ого порядка и не содержащая частных производных функции f(x, y).

Полагая в 4.26 φ(x, y, h) ≡ f(x, y), приходим к методу Эйлера 4.28, т.е. метод Эйлера можно считать простейшим примером методов Рунге-Кутты, соответствующим случаю p = 1. Для построения методов Рунге-Кутты порядка, выше первого, функцию φ(x, y, h) берут многопараметрической и подбирают ее параметры сравнением выражения 4.26 с многчленом Тейлора для y(x) соответствующей желаемому порядку степени. Рассмотрим случай p = 2. Возьмем функцию φ в 4.26 следующей структуры:

φ(x, y, h) := c1f(x, y) + c2f(x + ah, y + bhf(x, y)).

Ее параметры c1, c2, a, b будем подбирать так, чтобы записанная, согласно 4.26, формула

yi+1 = yi + h [c1f(xi, yi) + c2f(xi + ah, yi + bhf(xi, yi))]

(4.27)

определяла метод второго порядка, т.е. чтобы максимальная локальная ошибка составляла величину (h3). Разложим функцию f(x + ah, y + bhf(x, y)) по формуле Тейлора, ограничиваясь линейными членами:

f(x + ah, y + bhf(x, y)) = f(x, y) + fx(x, y)ah + fy(x, y)bhf(x, y) + (h2).

Ее подстановка в 4.27 дает

yi+1 = yi + h (c1 + c2)f(xi, yi) + h(c2afx(xi, yi) + c2bfy(xi, yi)f(xi, yi)) + (h2). (4.28)

Сравнение последнего[

выражения с тейлоровским квадратичным представлением]

ре-

шения y(x) 4.28 с точностью до (h3) равносильно сравнению его с выражением yi+1 по формуле 4.25, т.е. с исправленным методом Эйлера.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+ c2

 

 

 

 

 

c1

= 1,

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

= 0.5,

(4.29)

 

c a

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

= 0.5.

 

 

 

c2b

 

 

 

Полученная система условий

содержит

три уравнения относительно четырех парамет-

 

 

 

 

 

 

 

ров метода. Положим c2 = α(≠ 0). Тогда имеем

 

 

c1 = 1 − α, a =

1

, b =

1

.

 

 

2α

2α

В результате подстановки этих значений параметров в формулу 4.27 приходим к однопараметрическому семейству методов Рунге-Кутты второго порядка.

 

yi+1 = yi + h [(1 − α)f(xi, yi) + αf

(xi + 2α, yi +

2αf(xi, yi))] .

(4.30)

 

 

 

h

h

 

При α = 1

получаем метод Хойна

 

 

 

 

 

 

2

 

 

 

 

 

 

 

h

yi+1 = yi + 2 [f(xi, yi) + f(xi + h, yi + hf(xi, yi))] ,

При α = 1 из 4.30 новый простой метод, который назовем методом средней точки:

 

h

 

h

 

yi+1 = yi + hf (xi +

 

, yi +

 

f(xi, yi))

(4.31)

2

2

4.2. О семействе методов Рунге-Кутты. Методы второго порядка

99

4.2.1Методы Рунге-Кутты произвольного и четвертого порядков

Любой метод из семейчства методов Рунге-Кутты второго порядка 4.30 реализуют по следующей схеме. На каждом шаге, т.е. при каждом i = 0, 1, 2, . . . , вычисляют значения функции:

 

η1i := f(xi, yi),

 

 

η2i

:= f (xi +

h

, yi +

h

η1i ) ,

 

 

2α

2α

а затем находим шаговую поправку

[ ]

yi := h (1 − α)η1i + αη2i ,

Прибавление которой к результату предыдущего шага дает приближенное значение решения y(x) в точке xi+1 = xi + h :

yi+1 = yi + yi.

Метод такой структуры называют двухэтапным по количеству вычислений значений функции на одном шаге. По аналогии с предыдущим для семейства методов Рунге-Кутты р-ого порядка используется запись, состоящая из следующей совокупности формул:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

η1i

= f(xi, yi),

 

 

 

 

 

 

 

 

 

 

 

 

 

(

 

 

 

 

 

 

 

 

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(4.32)

 

i

 

 

 

 

 

 

k

1

 

i

 

 

 

= f xi + akh, yi + h

bkjη

 

,

 

η

k

 

j

 

 

 

 

 

 

 

 

,

j=1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

= y

 

c ηi

 

 

 

 

 

 

 

y

i+1

+ h

p

 

 

 

 

 

 

 

 

i

 

k=1

k k

 

 

 

 

 

 

 

 

где k = 2, 3, . . . , p (для p-этапного метода). Многочисленные параметры ck, ak, bkj, фигурирующие в формулах 4.32, подбираются так, чтобы получаемое методом 4.32 значение yi+1 совпадало со значением разложения y(xi+1) по формуле Тейлора с погрешностью(hp+1) (без учета погрешностей, совершаемых на предыдущих шагах). Наиболее употребительным частным случаем семейства методов 4.32 является метод Рунге-Кутты четвертого порядка, относящийся к четырехэтапным и определяемый следующими частными формулами:

η1i = f(xi, yi),

 

 

 

 

η2i

= f (xi +

h

, yi +

h

η1i ) ,

 

 

 

 

2

2

 

η3i

= f (xi +

h

, yi +

h

η2i ) ,

 

 

 

(4.33)

2

2

ηi

f

 

x

h, y + i ,

 

 

 

4 =

 

(hi +i

 

i i

3)i

i

 

yi =

6

η1

+ 2η2

+ 2η3

+ η4

,

y

i+1

=

y

+

y

.

 

 

)

 

 

i

 

( i

 

 

 

Заметим, что если первый этап, как уже упоминалось, соответствует применению явного метода Эйлера, то четвертый-неявного, а второй и третий-уточненного методов Эйлера.

100 Глава 4. Численные методы решения обыкновенных дифференциальных уравнений

4.2.2Пошаговый контроль точности. Метод Кутты-Мерсона

Будем считать, что при использовании метода р-ого порядка абсолютная шаговая погрешность должно находиться в пределах ε > 0. Тогда, согласно принципу Рунге, осуществляется счет по системе узлов xi(h) = x0 + ih с шагом h и по системе узлов xj(h/2) = x0 + jh/2 с шагом h/2. При четных j вторая система будет совпадать с первой, т.е. xi(h) = x2i(h/2). Переход от расчетной точки xi с приближенным значением решения в ней yi к рсчетной точке xi+1 один раз совершается за один шаг длины h и приводит к значению yi+1(h) ≈ y(xi+1(h)), другой раз совершается за два шага длины h/2 и дает значение

y2i+2(h/2) ≈ y(x2i+2(h/2)) = y(xi+1(h)).

Поправка Ричардсона в таком случае будет составлять величину

Ri(h/2) :=

y2i+2(h/2) − yi+1(h)

.

(4.34)

 

2p 1

 

Если величина |Ri(h/2)| меньше заданного ε, то можно считать, что ошибка приближенного равенства y(xi+1) ≈ y2i+2(h/2) не превосходит ε . Если же |Ri(h/2)| > ε, то следует уменьшить расчетный шаг h. При условии |Ri(h/2)| ε, стоит попытаться двигаться дальше с более крупным шагом(например удвоить h).

Более “дешевый”, но, возможно, менее строгий способ судить о том, достаточно ли малым выбран шаг h расчетов по методу Рунге-Кутты четвертого порядка 4.33,– это вычисление при каждом i = 0, 1, 2, . . . величин

Θi =

 

η2i

η3i

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

η1i

 

η2i

 

Считается, что если величина Θi не превосходит нескольких сотых, то можно продолжить вычисления с данным шагом или пытаться при переходе от i к i + 1 его увеличить; в противном случае шаг следует уменьшить, например, вдвое.

Приведем одну из вычислительных версий методов Рунге-Кутты, которая называется

методом Кутты-Мерсона или, иначе, пятиэтапным методом Рунге-Кутты четвертого порядка, а также методом вложенных форм.

На i-ом шаге решения задачи 4.1-4.2 последовательно вычисляют :

η1i = f(xi, yi),

 

 

 

 

 

 

 

 

 

 

 

 

 

 

η2i = f (xi +

h

, yi +

 

h

η1i ) ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

3

 

 

 

 

 

 

 

 

 

h

 

 

 

h

 

 

 

h

 

 

η3i = f (xi +

 

, yi +

 

 

 

 

η1i

+

 

 

η2i ) ,

3

6

 

6

 

 

 

h

 

 

 

h

 

 

 

3h

η4i = f (xi +

 

, yi +

 

 

 

 

η1i

+

 

 

 

 

η2i ) ,

2

8

 

8

 

 

η5i = f (xi + h, yi +

h

 

 

3h

 

 

 

η1i

 

 

 

η3i + 24i

2

 

2

 

y˜i+1 = yi +

h

 

η1i

3η3i + 4η4i

 

 

,

 

 

 

2

 

(

 

 

 

 

 

 

 

 

 

)

 

 

h

i

 

 

i

 

i

 

 

yi+1 = yi +

 

 

(η1

+ 4η4 + η5) .

 

 

6

 

 

)

,

После этого подсчитываем величину R := 0.2 |yi+1 − y˜i+1| и проводят сравнения. Если значение R окажется больше заданного допустимого уровня абсолютных погрешностей ε,

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]