
- •Тема 4. Численное дифференцирование и интегрирование
- •4.1. Численное дифференцирование: постановка задачи, вывод формул
- •4.2. Оценка погрешности численного дифференцирования
- •4.3. Обусловленность численного дифференцирования.
- •4.4. Формулы для высших и частных производных
- •4.5. Задача численного интегрирования
- •4.6. Формула трапеций
- •4.7. Формула Симпсона
- •4.7.2. Оценка погрешности формулы Симпсона.
- •4.8. Составные формулы численного интегрирования
- •4.9. Метод дробления шага. Правило Рунге
- •4.10. Обусловленность квадратурных формул
- •Тема 5. Численное решение обыкновенных дифференциальных уравнений (оду)
- •5.1. Основные понятия
- •5.2. Классификация численных методов решения задачи Коши для уравнения 1-го порядка
- •Результаты расчетов примера 5.3
- •5.3. Точность и устойчивость
- •5.3.1. Свойства задачи Коши
- •5.3.2. Свойства численных методов решения задачи Коши
- •5.4.1. Подходы к выводу расчётных формул.
- •5.4.2. Формулы методов 4-го порядка.
- •Метод Адамса-Моултона. Это 3-х шаговый неявный метод.
- •5.5. Методы Рунге-Кутты
- •Методы 4-го порядка точности. Результаты расчетов примера 5.3
- •5.6. Правило Рунге-Ромберга
- •5.7. Системы дифференциальных уравнений
- •Приложение Программа решения системы дифференциальных уравнений
- •Текст программы
Тема 5. Численное решение обыкновенных дифференциальных уравнений (оду)
Решение ОДУ – одна из наиболее популярных вычислительных задач, она возникает во многих приложениях.
5.1. Основные понятия
ОДУ – это уравнение вида
F(x,
y,
,…)
= 0
(5.1)
Порядок дифференциального уравнения – это порядок старшей используемой производной. Решение дифференциального уравнения – это функция у = у(х), которая при подстановке в уравнение (1) превращает его в тождество.
Уравнение (1) не имеет однозначного решения, чтобы получить его, надо помимо самого уравнения задать дополнительные условия. По типу дополнительных условий различают одноточечные и многоточечные задачи. В одноточечных задачах все условия задаются в одной точке (при одном и том же х). Обычно это начальная точка х0. В этом случае говорят, что поставлена задача Коши.
Пример 5.1. Задача Коши:
.
В многоточечной задаче дополнительные условия задаются в нескольких точках. Часто это границы отрезка определения решения. Тогда говорят, что поставлена краевая задача.
Пример 5.2. Краевая задача:
.
Несложно убедиться, что задачи примеров 5.1 и 5.2 имеют одинаковое решение у = 1.125 е2х – 0.125 е–2х – 2х.
Наиболее важной является задача Коши для уравнения 1-го порядка – к ней сводятся многие другие задачи.
Аналитическое решение ОДУ – это аналитически заданная функция у(х) (см. примеры 5.1 и 5.2). Численное решение – таблица значений функции у(х) в дискретных точках (в узлах). Так численное решение задач примеров 5.1 и 5.2 является таблица 5.1.
Таблица 5.1. |
||||
Численное решение примеров 5.1 и 5.2 |
||||
х |
0 |
0.2 |
… |
2.0 |
у |
1 |
1.1945 |
… |
57.4206 |
5.2. Классификация численных методов решения задачи Коши для уравнения 1-го порядка
Вывод основного
уравнения.
Пусть уравнение (1) разрешено относительно
.
Имеем задачу
.
(5.2)
Все численные методы решения задачи (2) в качестве основного блока имеют некую процедуру вычисления значения уi+1, если известно уi и некоторые другие параметры. Т.е. вначале задаётся точка (х0, у0), по ней вычисляем точку (х1, у1), затем тем же способом вычисляем (х2, у2), и т.д. до конца таблицы.
Пусть у(х) – решение задачи (2). Подставим его в формулу (2) – получим тождество y`(x) f(x, y(x)). Проинтегрируем его в пределах от хi до xi+1 = хi + h:
.
Отсюда
имеем:
.
Или
.
(5.3)
Формула (3) – интегральная форма задачи (2). Из этого уравнения надо найти уi+1. Для построения численного метода необходимо воспользоваться какой-нибудь аппроксимацией интеграла (3) (квадратурной формулой). Получим основное уравнение
уi+1– уi Ф(хi , h, yi+1–k,…, yi , yi+1), (5.4)
где Ф(…) – функция, являющаяся аппроксимацией интеграла в правой части формулы (3). Тип конкретного численного метода в основном определяется
а) выбранной аппроксимацией, т.е. видом функции Ф;
б) способом решения алгебраического уравнения (4).
Основные классы численных методов
1. Если в (4) k =1, то имеем уравнение уi+1– уi Ф(хi , h, yi , yi+1), т.е. не используются более ранние значения функции, чем yi . В этом случае метод называется одношаговым. Если k > 1, т.е. надо задать yi–1, yi–2 и т.д., то метод будет многошаговым.
Одношаговые методы называются также самостартующими, т.к. для того, чтобы начать расчёты есть вся необходимая информация – начальная точка y0 задана по условию задачи. При многошаговых методах для начала расчётов надо дополнительно определить несколько начальных точек из каких-то источников. Например, их вычисляют одношаговым методом, а дальше уже применяют многошаговый алгоритм. Очень часто такая сложность оправдана, т.к. многошаговые методы во многом лучше одношаговых.
2. Если Ф не зависит от yi+1, то решить уравнение (4) очень просто:
уi+1 уi + Ф(хi , h, yi+1–k,…, yi , yi+1),
т.е. получим явную формулу для yi+1. Соответствующие методы называются явными. В противоположность им, методы, в которых функция Ф зависит от уi+1, называются неявными. При их реализации при каждом i возникает необходимость решения относительно уi+1 некоторого нелинейного уравнения.
Три простейших метода. Получим формулы трёх простейших численных методов, используя простые (не составные) формулы численного интегрирования для аппроксимации интеграла (5.3).
1) Воспользуемся формулой левых прямоугольников (см. рисунок), известной из курса математического анализа:
=
Ф(хi
, h,
уi).
Функция Ф не зависит от уi+1 и в ней k = 1. Следовательно, получаем явный одношаговый метод
уi+1 = уi + h f(хi , уi), (5.5)
называемый явным методом Эйлера.
Пример 5.3. Требуется решить задачу Коши
.
Здесь f(x, y) = y2 + 1. Аналитическое решение задачи y = tg x. Для этого уравнения формула (5) имеет вид
уi+1 = уi + h [(уi)2 + 1].
2) Воспользуемся формулой трапеций (4.1), согласно которой интеграл (5.3) имеет следующий вид:
.
При такой аппроксимации интеграла правая часть равенства (4) зависит от уi+1 и поэтому имеем неявный одношаговый метод вида
уi+1 – уi = [ f (xi , уi ) + f (xi+1 , уi+1 ) ], (5.6)
называемый неявным методом Эйлера. Согласно этому методу, в примере 5.3 для искомого значения уi+1 будем иметь квадратное уравнение,
,
решив которое, получим расчетную формулу:
.
В общем случае уравнение (6) может не иметь аналитического решения. Тогда для организации расчетов по методу (6) можно воспользоваться каким-нибудь численным алгоритмом решения уравнений для определения значения уi+1 при каждом i (например, методом обратной интерполяции).
3) Другой способ реализации метода (6) без непосредственного решения уравнения относительно уi+1 состоит в соединении явного и неявного методов. Вместо точного значения уi+1 в правую часть равенства (6) подставляется его приближенное значение, найденное по формуле явного метода (5), а затем применяется формула (6). В результате получаем следующие расчетные формулы:
= уi
+ h
f(хi
, уi);
уi+1
= уi
+
[
f(xi,
уi
) + f(xi+1
,
) ]. (5.7)
Такая идея соединения явного и неявного методов носит название схемы прогноза и коррекции. На первом шаге по явной формуле получается величина , называемая прогнозом, которая затем корректируется с использованием формулы неявного метода. Полученное значение уi+1 считается окончательным искомым значением функции у(х) в i + 1-й точке. Метод (7) является одним из простейших вариантов такой схемы и называется модифицированным методом Эйлера или методом Эйлера-Коши.
Подставив левую формулу (7) в правую, получим единую расчетную формулу, которая для примера 5.3 будет иметь вид
.
Далее приведены результаты расчетов перечисленных методов для примера 5.3 на отрезке [0, 1.2] c шагом h = 0.2. Для сравнения указаны точки точного решения у(х) = tg(x).