Реферат
Понятие о численных методах решения
обыкновенных дифференциальных уравнений
1. Метод Эйлера
Рассмотрим дифференциальное уравнение первого порядка, разрешенное
относительно производной, то есть уравнение вида
(1)
относительно
неизвестной функции y=y(x). Правая часть этого уравнения представляет собой
известную функцию двух переменных - х и у. Например, рассматриваемое ОДУ может
иметь вид
.
Обратим внимание на то, что при рассмотрении задач механики у нас встречались производные по времени, которые принято обозначать точками над соответствующими переменными. В настоящем же разделе мы рассматриваем функции переменной х и возвращаемся к стандартному обозначению производной от функции штрихом над её символом.
С помощью численных методов мы будем искать частные решения соответствующих дифференциальных уравнений. Впрочем, в большинстве физических приложений требуется отыскание именно таких решений. Действительно, при отправлении, например, космического аппарата с Земли на Марс, нам необходимо найти не все возможные траектории его движения в Солнечной Системе (что соответствовало бы общему решению соответствующей системы ОДУ!), а одну-единственную траекторию, начинающуюся в некоторой точке на Земле и заканчивающуюся в месте желаемой посадки космического аппарата на Марсе. Как уже отмечалось в разделе 1.2 для выделения частного решения из общего необходимо задать некоторые условия, например, начальные условия или краевые.
Уравнение
(1) является уравнением первого порядка и поэтому его общее решение зависит
лишь от одной произвольной постоянной. В связи с этим для выделения частного
решения достаточно задать лишь одно начальное условие:
(2)
Это
условие означает, что при фиксированном значении аргумента
искомая функция у(х) должна иметь некоторое известное
значение
.
Таким
образом, перед нами стоит вопрос о решении простейшей задачи Коши, которая
определяется заданием дифференциального уравнения и некоторого начального
условия (более подробно смотри далее):
(3а)
(3b)
Приведённую
задачу Коши мы собираемся решать численно. Что это означает? Всем хорошо
известны из школьного курса физики «Четырёхзначные математические таблицы»
Брадиса. В них разные функции, в частности тригонометрические, задаются в
табличной форме: в первой колонке указаны дискретные значения аргумента,
например
=0.1, 0.2, 0.3, 0.4,…, а в соседней колонке -
соответствующие им значения табулируемой функции, например, синуса: sin
(0.1), sin (0.2), sin(0.3), sin(0.4),….
Аналогичным
образом численное решение рассматриваемой нами задачи Коши будет представлено в
форме таблицы значений аргумента
=
+
, (k=0, 1,2,3…) (4)
и
соответствующих им значений функции у(
),
которая является решением дифференциального уравнения (1). Для краткости,
значение функции у(х) при аргументе
мы будем
обозначать символом
.
Шаг табулирования h предполагается достаточно малым. Величина его, очевидно, зависит от решаемой нами задачи. Например, при описании движения траектории Земли, возможно, вполне достаточно будет в качестве временного шага выбрать один день (55 точек на одном обороте Земли вокруг Солнца), но вряд ли кому-нибудь потребуется при решении этой задачи выбрать в качестве величины этого шага одну микросекунду.
Очевидно, что, чем быстрее изменяется функция, тем меньше должен быть шаг аргумента при её табуляции для того, чтобы через найденное множество точек можно было провести достаточно плавный график рассматриваемой функции.
Кстати
заметим, что при построении графика функции на экране компьютера (например, в
математическом пакете Maple) первоначально строится некоторая достаточно
подробная таблица этой функции, после чего соседние точки, отвечающие значениям
табулируемой функции соединяются отрезками прямых (возможно, конечно, и
соединение точек более сложными кривыми - это проблема изучается в теории
аппроксимации функций, являющейся одним из разделов численного анализа). Итак,
итогом численного решения задачи Коши (3) должна явиться таблица вида:
|
x |
у(x) |
=
+h
=
+2h
=
+3h
........
|
…… |
|
Первая
строка этой таблицы содержит известные нам величины, входящие в начальное
условие (3b) -
и
. Во второй строке - аргумент
=
+h известен по построению, а
(то есть значение функции у(
)) является неизвестным.
Идея
метода Эйлера очень проста. По определению производной,
В
случае производной от функции у(х) в точке х=
имеем
(5)
поскольку
в нашем случае
. Если шаг h достаточно мал , то
приближённое значение производной
(
) можно найти, опуская предел в формуле (5), т.е.
полагая
(6)
С
другой стороны, уравнение (3а), по определению, справедливо при любом значении
аргумента х и , стало быть, оно верно и в точках
:
(7)
Подставим
теперь в это точное равенство приближённое выражение для первой производной
(6). В результате приходим к приближённому уравнению:
Поскольку,
по определению у(
)=
,
окончательно имеем следующее уравнение, являющееся основой метода Эйлера:
(8)
Конечно, это уравнение является лишь приближённым, и мы надеемся, что, чем меньше величина шага h, тем оно будет более точным (уменьшается локальная погрешность метода, то есть погрешность на одном его шаге).
Заметим, что в численном анализе не принято писать знак приближённого равенства, вместо него используется знак точного равенства (по умолчанию предполагается, что все формулы численного анализа являются приближёнными).
Полагая
k=0 из уравнения (8) имеем
Все
величины в правой части этого уравнения нам известны (см. начальные условия (3b)),
что даёт возможность вычислить неизвестное значение
и заполнить тем самым вторую строку таблицы 1.
Полагая
далее k =1, из уравнения (8) имеем
Поскольку
было определено на предыдущем шаге метода, в правой
части последнего уравнения также известны все величины и можно найти
, что позволяет заполнить следующую строку таблицы 1.
Продолжая
действовать таким образом и далее, можно заполнить таблицу 1 вплоть до сколь
угодно большого значения аргумента
. В этом
и заключается суть метода Эйлера.
Таким
образом, решение дифференциального уравнения свелось к многократному применению
рекуррентного соотношения (8). Формулы типа (8) называются явными, поскольку их
применение даёт в явном виде значения функции у(х) в следующей точке (
) по ранее уже найденным значениям функции у(х) в
предыдущих точках.
Из
рассмотренной выше вычислительной схемы метода Эйлера со всей очевидностью
следует, что она одинаково применима для любого дифференциального уравнения
первого порядка: как линейного, так и нелинейного.
.
О решении ОДУ высших степеней и их систем
Мы разобрали технику применения метода Эйлера для численного решения уравнения первого порядка. С другой стороны, в обсуждавшиеся ранее математические модели входили уравнения второго порядка, что, фактически, связано с применением второго закона Ньютона. В связи с этим возникает вопрос: как решать ОДУ высших порядков и их системы?
Оказывается, что метод Эйлера, как, впрочем, и другие численные методы, пригодные для решения задачи Коши (3), можно достаточно легко обобщить на случай решения систем уравнений первого порядка в канонической форме (см. далее), а уравнения высших степеней сводятся к таким системам уравнений. Сведение дифференциального уравнения высшего порядка к системе уравнений первого порядка достигается с помощью введения дополнительных переменных, равных последовательным производным неизвестной функции, входящей в это уравнение. В случае уравнения второго порядка типа уравнений гармонического осциллятора или математического маятника достаточно ввести только одну новую переменную, причем имеющую ясный физический смысл. Она является скоростью (линейной - в случае уравнения гармонического осциллятора или угловой - в случае математического маятника).
При
рассмотрении уравнения математического маятника положим
. Тогда
и
уравнение
можно записать в форме следующих двух уравнений
первого порядка
(9)
Рассматривая
эти уравнения для момента времени
имеем
(10)
Согласно
основной идее метода Эйлера заменим точные значения производных, входящих в
уравнения (9), их допредельными образами:
(11)
где
- шаг по времени, с которым решается рассматриваемое
ОДУ. Здесь
Подстановка соотношений (11) в уравнения (10)
приводит нас к следующим уравнениям метода Эйлера
Полагая
k=0,1,2,3 и т. д., мы будем получать последовательные
значения угла
и соответствующие ему значения угловой скорости u(t) в
последовательные моменты времени
Совершенно аналогичным образом систему двух ОДУ второго порядка, которая описывает движения планет вокруг Солнца (31), можно свести к системе из четырёх уравнений первого порядка, если ввести две дополнительные переменные, представляющие собой скорости движения тела m вдоль координатных осей х и у соответственно:
Тогда
исследуемая система принимает вид:
(12)
Заменяя
в системе (12) каждую производную её допредельным образом, получаем явные
формулы для решения этой системы методом Эйлера.
.
Недостатки метода Эйлера
Существует простая геометрическая интерпретация метода Эйлера. Рассмотрим снова задачу Коши (3) для одного ОДУ первой степени и соответствующее ему в методе Эйлера рекуррентное соотношение (8)
уравнение
дифференциальный коши задача
Рис. 1
На
плоскости (х,у) каждому частному решению задачи Коши, которая выделяется
начальным условием
, отвечает некоторая кривая, которая называется
интегральной кривой. Изменяя
, мы
переходим от одной к другой интегральной кривой. Более того, можно доказать,
что через каждую точку плоскости (х,у) проходит одна и только одна интегральная
кривая.