Приближенное решение обыкновенных дифференциальных уравнений: Метод Эйлера ЛЕКЦИЯ Постановка задачи Дифференциальные уравнения устанавливают связь между независимыми переменными, искомыми функциями и их производными. Если искомая функция зависит от одной переменной, то дифференциальное уравнение называется обыкновенным. Постановка задачи Например, структура движения потока в реакторе идеального перемешивания описывается обыкновенным дифференциальным уравнением: dC 1 (C0 C ). dt Здесь искомая функция (концентрация вещества) С(t) зависит от одной переменной t (времени). Постановка задачи В том случае, если искомая функция зависит от нескольких переменных, дифференциальное уравнение будет уравнением в частных производных. Например, структуру потока в реакторе идеального вытеснения можно описать уравнением в частных производных: C C U t l В этом уравнении функция С(t,l) зависит от времени (t) и длины аппарата (l). Постановка задачи Обыкновенными дифференциальными уравнениями (ОДУ) называются уравнения, которые содержат одну или несколько производных от искомой функции y = y(x): F ( x, y, y,..., y ( n ) ) 0 , где x – независимая переменная. Наивысший порядок n, входящей в уравнение производной, называется порядком дифференциального уравнения. Например: F ( x, y, y ' ) 0 уравнение первого порядка; F ( x, y, y ' , y" ) 0 уравнение второго порядка Постановка задачи Из общей записи дифференциального уравнения можно выразить производную в явном виде: y ' f ( x, y ), y" f ( x, y, y ' ) Уравнение для производных имеет бесконечное множество решений. Для получения единственного решения необходимо указать дополнительные условия, которым должны удовлетворять искомые решения. Постановка задачи В зависимости от вида таких условий рассматривают три типа задач, для которых доказано существование и единственность решений. Первый тип – это задачи с начальными условиями. Для таких задач кроме исходного дифференциального уравнения в некоторой точке x0 должны быть заданы начальные условия, т.е. значения функции y (x) и её производных: y (x0) = y0 y' (x0) = y'0 , . . . , y(n-1) (x0) = yn-10 . Постановка задачи Второй тип задач – это, так называемые, граничные, или краевые, в которых дополнительные условия задаются в виде функциональных соотношений между искомыми решениями. Третий тип задач для обыкновенных дифференциальных уравнений – это задачи на собственные значения. Постановка задачи Сформулируем задачу Коши. Дано обыкновенное дифференциальное уравнение (ОДУ) первого порядка, разрешенное относительно производной y ' f ( x, y ), удовлетворяющее начальному условию y ( x0 ) y0 Постановка задачи Необходимо найти на отрезке [x0,xn] такую непрерывную функцию y = y(x), которая удовлетворяет дифференциальному уравнению y ' f ( x, y ), и начальному условию y ( x ) y 0 0 т.е. найти решение дифференциального уравнения. Нахождение такого решения называют решением задачи Коши. Численное решение этой задачи состоит в построении таблицы приближенных значений y1,y2,...,yn решения уравнения y(x) в точках x1,x2,...,xn с некоторым шагом h. xi x0 i h, i=1,2,...,n. Методы Рунге-Кутта Методы Рунге-Кутта обладают следующими отличительными свойствами: • являются одноступенчатыми: чтобы найти значение функции в точке yi+1 нужна информация только о предыдущей точке (yi,xi); • согласуются с рядом Тейлора вплоть до членов порядка hk, где степень k определяет порядок метода; • не требуют вычисления производных от f(x,y), а требуют вычисления самой функции. Метод Эйлера (метод Рунге-Кутта первого порядка) Простейшим из численных методов решения дифференциальных уравнений является метод Эйлера. Это один из самых старых и широко известных и применяемых на в практике методов. Метод Эйлера Пусть требуется найти приближенное решение дифференциального уравнения первого порядка y ' f ( x, y ) с начальным условием y(x0)=y0, т.е. необходимо решить задачу Коши. Метод Эйлера В окрестности точки x0 функцию y(x) разложим в ряд Тейлора ( x x0 ) 2 y( x) y( x0 ) ( x - x0 ) y' ( x0 ) 2 y" ( x0 ) ... который можно применить для приближенного определения искомой функции y(x). В точке x0+h при малых значениях h можно ограничиться двумя членами ряда, тогда, y( x) y( x0 h) y( x0 ) y' ( x0 )x 0(h 2 ), (2) где O(h2) – бесконечно малая величина порядка h2. (1) Метод Эйлера Заменим производную y'(x0), входящую в формулу (1) , на правую часть уравнения (2) y( x0 h) ≈ y0 hf ( x0 , y0 ), Приближенное решение в точке x1=x0+h можно вновь рассматривать как начальное условие и по формуле найти значение искомой функции в следующей точке x2=x1+h. В результате получен простейший алгоритм решения задачи Коши, который называется методом Эйлера. Метод Эйлера Метод Эйлера можно представить в виде последовательного применения формул: для точки y1 y0 hy0 ' y0 hf ( x0 , y0 ), x1 = x0 +h, x2 = x1 + h, y2 y1 hy1' y1 hf ( x1 , y1 ), . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . x i+1= x i + h, yi 1 yi hyi ' yi hf ( xi , yi ). Метод Эйлера Таким образом, формула Эйлера в общем случае имеет вид: yi 1 yi hf ( xi , yi ), x i+1 = x i + h Метод Эйлера Геометрически искомая функция y(x) заменяется ломаной линией, представляющей собой отрезки касательных к этой функции в узлах x0, x1, ...xn. y y=y0+y0'(x–x0) y1 y0 h x0 x1 Метод Эйлера Выведем формулы на основе геометрических аналогий. Предположим, что нам известна точка (x0,y0) на искомой интегральной кривой. Через точку (x0,y0) проведем касательную с тангенсом угла наклона tgα = y0 ' = f ( x0 , y0 ). Уравнение касательной имеет вид: y y0 y0 ' ( x x0 ). (3) Метод Эйлера Тогда в точке x1=x0+h, с учетом (3) получим решение: y y0 y0 ' ( x0 hx0 ); y1 y0 hf ( x0 , y0 ). Ошибка решения в точке x=x1 показана в виде отрезка . Метод Эйлера Полученная формула является методом Рунге Кутта первого порядка, т.к. она согласуется с разложением в ряд Тейлора вплоть до членов порядка h1. Метод Эйлера имеет довольно большую погрешность вычисления: 0(h). Кроме того, он очень часто оказывается неустойчивым – малая ошибка (например, заложенная в исходных данных) увеличивается с ростом x.