Решение обыкновенных дифференциальных уравнений. Метод конечных разностей для численного решения дифференциальных уравнений
Метод последовательных приближений (метод Пикара)
Пусть дано уравнение
, (5.52)
правая часть, которого в прямоугольнике
непрерывна и имеет непрерывную частную производную по у. Требуется найти решение уравнения (5.52), удовлетворяющее начальному условию
. (5.53)
Интегрируя обе части уравнения от
до
получим

или
. (5.54)
Уравнение (5.52) заменяется интегральным уравнением (5.54), в котором неизвестная функция у находится под знаком интеграла. Интегральное уравнение (5.54) удовлетворяет дифференциальному уравнению (5.52) и начальному условию (5.53). Действительно,
.
Заменяя в равенстве (5.54) функцию у значением
, получим первое приближение
.
Затем в уравнении (5.54) заменив у найденным значением
, получаем второе приближение:
.
Продолжая процесс далее, последовательно находим
,
…
.
Таким образом, составляем последовательность функций
.
Справедлива следующая теорема.
Теорема 6.1. Пусть в окрестности точки
функция f(х,у) непрерывна и имеет ограниченную частную производную
. Тогда в некотором интервале, содержащем точку
, последовательность
сходится к функции у(х), служащей решением дифференциального уравнения у = f(x,y) и удовлетворяющей условию
у(х0) = у0.
Оценка погрешности метода Пикара определяется, но формуле
,
где
при
;
- постоянная Липшица для области
;
- величина определения окрестности
; a и b – границы области R.
Пример 1. Найти решение задачи Коши методом Пикара:

Найдём несколько приближений по методу Пикара. Пусть
, тогда:




Как легко видеть
,
то есть при
получим разложение в ряд функции
или
, что является аналитическим решением задачи.
Метод последовательного дифференцирования. Пусть дано дифференциальное уравнение n-го порядка:
(5.55)
с начальными условиями
. (5.56)
Представим решение
уравнения (5.55) в окрестностях точки х0 в виде ряда Тейлора:
(5.57)
где
, а h – достаточно малая величина.
Для нахождения коэффициентов ряда (5.57) уравнение (5.55) дифференцируют по х нужное число раз, используя условия (5.56):



Если
, то получается ряд Тейлора по степеням х:
(5.58)
Этот метод редко применяется на практике, поскольку при достаточно большом n он слишком громоздок, а кроме того, при достаточном удалении х от х0 остаточный член может не стремиться к нулю.
Пример 2. Найти решение задачи Коши методом последовательного дифференцирования:

Решение



Тогда, подставив полученные значения в (5.58), получим ответ:
.
Метод неопределенных коэффициентов. Пусть дано дифференциальное уравнение
, (5.59)
с начальным условием
.
Метод неопределенных коэффициентов состоит в том, что решение уравнения (5.59) отыскивают в виде ряда с неизвестными коэффициентами
(5.60)
которые находят с помощью подстановки ряда (5.60) в уравнение (5.59), зачем приравнивают коэффициенты при одинаковых степенях х и используют начальное условие. Найденные значения коэффициентов
подставляют в ряд (5.59).
Пример 3. Найти решение дифференциального уравнения у" + ху = 0 такое, что у = 0 и y' = 1 при х = 0. Из теории дифференциальных уравнений следует, что такое решение существует и имеет вид степенного ряда
у = х + c2x2 + c3x3 + c4x4 + c5x5 + ….
Подставляя это выражение вместо у в правую часть уравнения, а вместо y" — выражение
2c2 + 3·2с3х + 4·3с4х2 + 5·4с5х3 + …,
затем, умножая на х и соединяя члены с одинаковыми степенями х, получим:
2c2 + 3·2c3x + (1 + 4·3c4) x2 + (c2 + 5·4c5) x3 + … = 0,
откуда при определении неизвестных коэффициентов получается бесконечная система уравнений: 2c2 = 0; 3·2с3 = 0; 1 + 4·3c4 = 0; c2 + 5·4c5 = 0;...
Решая последовательно эти уравнения,

т. е.

Метод Эйлера
Решить дифференциальное уравнение
численным методом - это значит для заданной последовательности аргументов
и числа
, не определяя функцию у = F(x), найти такие значения
что
(i = 1,2,...,n) и
.
Таким образом, численные методы позволяют вместо нахождения функции у = F(x) получить таблицу значений этой функции для заданной последовательности аргументов. Величина
называется шагом интегрирования. Рассмотрим некоторые из численных методов.
Метод Эйлера является сравнительно грубым и применяется в основном для ориентировочных расчетов.
Пусть дано дифференциальное уравнение первого порядка
, (5.61)
с начальным условием
. (5.62)
Требуется найти решение уравнения (5.61) на отрезке [а, b].
Разобьем отрезок [а,b] на n равных частей и получим последовательность
, где
(i = 1, 2,..., n), a
- шаг интегрирования.
Выберем k-й участок
и проинтегрируем уравнение (5.61):
. (5.63)
Тогда формула (5.63) примет вид
(5.64)
Обозначив,
т.е.
, получим
(5.65)
Продолжая этот процесс и каждый раз принимая подынтегральную функцию на соответствующем участке постоянной и равной ее значению в начале участка, получим таблицу решений дифференциального уравнения на заданном отрезке [а, b].
Если функция f(x,y) в некотором прямоугольнике

удовлетворяет условию
(N = const) (5.66)
и, кроме того.
(М = const) (5.67)
то имеет место следующая оценка погрешности:
, (5.68)
где
- значение точного решения уравнения (5.61) при
,а
- приближенное значение, полученное на n-м шаге.
Формула (5.68) имеет в основном теоретическое применение. На практике, как правило, применяют "двойной просчет". Сначала расчет ведется с шагом h, затем шаг дробят и повторный расчет ведется с шагом
. Погрешность более точного значения
оценивается формулой
(5.69)
Пример:

Решение:
Разобьём отрезок на n частей (n=4):
, i=1,…,n-1
h=0,25
| x0 | x1 | x2 | x3 | x4 | |
| x | 0,25 | 0,5 | 0,75 |
Далее по формуле (5.56) получим текущие значения yi:
| x | 0,25 | 0,5 | 0,75 | ||
| y | 67/64 (1,05) | 1139/1024 (1,11) | 76313/ 65536 (1,16) | ||
| f(x,y) | 3/16 (0,19) | 67/256 (0,26) | 3417/16386 (0,21) |
| X | Y(x) | Ряд | Эйлера |
| 0,25 | 1,026384 | 1,026042 | |
| 0,5 | 1,086904 | 1,083333 | 1,046875 |
| 0,75 | 1,150993 | 1,140625 | 1,112305 |
| 1,18136 | 1,166667 | 1,164444 |
Метод Эйлера может быть применен к решению систем дифференциальных уравнений и дифференциальных уравнений высших порядков. Однако в последнем случае дифференциальные уравнения должны быть приведены к системе дифференциальных уравнений первого порядка.
Пусть задана система двух уравнений первого порядка
(5.70)
с начальными условиями
,
(5.71)
Приближенные значения
и
находятся по формулам
,
(5.72)
где
,
(i = 0,1,2,…). (5.73)
Метод Рунге-Кутта
Метод Рунге-Кутта является одним из методов повышенной точности. Он имеет много общего с методом Эйлера.
Пусть на отрезке [а, b] требуется найти численное решение уравнения
, (5.74)
с начальным условием
.(5.75)
Разобьем отрезок [а, b] на n равных частей точками
(i = 1,2,..., n, a
- шаг интегрирования). В методе Рунге-Кутта, так же, как и в методе Эйлера, последовательные значения у, искомой функции у определяются по формуле
. (5.76)
Если разложить функцию у в ряд Тейлора и ограничиться членами до
включительно, то приращение функции
можно представить в виде
, (5.77)
где производные
,
,
находят последовательным дифференцированием из уравнения (5.74).
Вместо непосредственных вычислений по формуле (5.26) методом Рунге-Кутта определяют четыре числа:
(5.78)
Можно доказать, что если числам
придать соответственно веса 1/6; 1/3; 1/3; 1/6, то средневзвешенное этих чисел, т.е.
(5.79)
с точностью до четвертых степеней равно значению
, вычисленному по формуле (5.77):
. (5.80)
Таким образом, для каждой пары текущих значений
и
по формулам (5.27) определяют значения
(5.81)
Метод Рунге-Кутта имеет порядок точности
на всем отрезке [а,b]. Оценка точности этого метода очень затруднительна. Грубую оценку погрешности можно получить с помощью "двойного просчета" по формуле
, (5.82)
где
- значение точного решения уравнения (5.74) в точке
а
и
- приближенные значения, полученные с шагом h/2 и h.
Если
- заданная точность решения, то число n (число делений) для определения шага интегрирования
выбирается таким образом, чтобы
. (5.83)
Однако шаг расчета можно менять при переходе от одной точки к другой.
Для оценки правильности выбора шага h используют равенство
, (5.84)
где q должно быть равно нескольким сотым, в противном случае шаг h уменьшают.
Метод Рунге-Кутта может быть применен и к решению систем дифференциальных уравнений.
Пусть задана система дифференциальных уравнений первого порядка
(5.85)
с начальными условиями
,
,
. (5.86)
В этом случае параллельно определяются числа
и
:
(5.87)
где
;
;
;
;
;
;
;
.
Тогда получим решение системы
,
. (5.88)
Дата добавления: 2015-11-06; просмотров: 11656;
