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

реферат

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) называются явными, поскольку их применение даёт в явном виде значения функции у(х) в следующей точке () по ранее уже найденным значениям функции у(х) в предыдущих точках. В отличие от явных формул, широко применяются также и неявные формулы для численного решения дифференциальных уравнений. Применение их не даёт сразу готовый результат, а лишь некоторую систему нелинейных или линейных (уже не дифференциальных!) уравнений, которую необходимо решать теми или иными численными методами.

Из рассмотренной выше вычислительной схемы метода Эйлера со всей очевидностью следует, что она одинаково применима для любого дифференциального уравнения первого порядка: как линейного, так и нелинейного. В нелинейном ОДУ функция f(x,y) нелинейным образом зависит от функции у(х).

Делись добром ;)