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

19.03.2024

Дифференциальные уравнения - это уравнения, в которые неизвестная функция входит под знаком производной. Основная задача теории дифференциальных уравнений -- изучение функций, являющихся решениями таких уравнений.

Дифференциальные уравнения можно разделить на обыкновенные дифференциальные уравнения, в которых неизвестные функции являются функциями одной переменной, и на дифференциальные уравнения в частных производных, в которых неизвестные функции являются функциями двух и большего числа переменных.

Теория дифференциальных уравнений в частных производных более сложная и рассматривается в более полных или специальных курсах математики.

Изучение дифференциальных уравнений начнем с наиболее простого уравнения--уравнения первого порядка.

Уравнение вида

F(x,y,y") = 0,(1)

где х -- независимая переменная; у -- искомая функция; у" -- ее производная, называется дифференциальным уравнением первого порядка.

Если уравнение (1) можно разрешить относительно у", то оно принимает вид

и называется уравнением первого порядка, разрешенным относительно производной.

В некоторых случаях уравнение (2) удобно записать в виде f (х, у) dх - dy = 0, являющемся частным случаем более общего уравнения

P(x,y)dx+Q(x,y)dy=O,(3)

где Р(х,у) и Q(х,у) -- известные функции. Уравнение в симметричной форме (3) удобно тем, что переменные х и у в нем равноправны, т. е. каждую из них можно рассматривать как функцию другой.

Дадим два основных определения общего и частного решения уравнения.

Общим решением уравнения (2) в некоторой области G плоскости Оху называется функция у=ц(х,С), зависящая от х и произвольной постоянной С, если она является решением уравнения (2) при любом значении постоянной С, и если при любых начальных условиях y x=x0 =y 0 таких, что (x 0 ;y 0)=G, существует единственное значение постоянной С = С 0 такое, что функция у=ц(х,С 0) удовлетворяет данным начальным условиям у=ц(х 0 ,С).

Частным решением уравнения (2) в области G называется функция у=ц(х,С 0), которая получается из общего решения у=ц(х,С) при определенном значении постоянной С=С 0 .

Геометрически общее решение у=ц(х,С) представляет собой семейство интегральных кривых на плоскости Оху, зависящее от одной произвольной постоянной С, а частное решение у=ц(х,С 0) -- одну интегральную кривую этого семейства, проходящую через заданную точку (х 0 ; у 0).

Приближенное решение дифференциальных уравнений первого порядка методом Эйлера. Суть этого метода состоит в том, что искомая интегральная кривая, являющаяся графиком частного решения, приближенно заменяется ломаной. Пусть даны дифференциальное уравнение

и начальные условия y |x=x0 =y 0 .

Найдем приближенно решение уравнения на отрезке [х 0 ,b], удовлетворяющее заданным начальным условиям.

Разобьем отрезок [х 0 ,b] точками х 0 <х 1 ,<х 2 <...<х n =b на n равных частей. Пусть х 1 --х 0 =х 2 -- x 1 = ... =x n -- x n-1 = ?x. Обозначим через y i приближенные значения искомого решения в точках х i (i=1, 2, ..., n). Проведем через точки разбиения х i - прямые, параллельные оси Оу, и последовательно проделаем следующие однотипные операции.

Подставим значения х 0 и у 0 в правую часть уравнения y"=f(x,y) и вычислим угловой коэффициент y"=f(x 0 ,y 0) касательной к интегральной кривой в точке (х 0 ;у 0). Для нахождения приближенного значения у 1 искомого решения заменяем на отрезке [х 0 ,x 1 ,] интегральную кривую отрезком ее касательной в точке (х 0 ;у 0). При этом получаем

y 1 - y 0 =f(x 0 ;y 0)(x 1 - x 0),

откуда, так как х 0 , х 1 , у 0 известны, находим

y1 = y0+f(x0;y0)(x1 - x0).

Подставляя значения х 1 и y 1 , в правую часть уравнения y"=f(x,y), вычисляем угловой коэффициент y"=f(x 1 ,y 1) касательной к интегральной кривой в точке (х 1 ;y 1). Далее, заменяя на отрезке интегральную кривую отрезком касательной, находим приближенное значение решения у 2 в точке х 2:

y 2 = y 1 +f(x 1 ;y 1)(x 2 - x 1)

В этом равенстве известными являются х 1 , у 1 , х 2 , а у 2 выражается через них.

Аналогично находим

y 3 = y 2 +f(x 2 ;y 2) ?x, …, y n = y n-1 +f(x n-1 ;y n-1) ?x

Таким образом, приближенно построена искомая интегральная кривая в виде ломаной и получены приближенные значения y i искомого решения в точках х i . При этом значения у i вычисляются по формуле

y i = y i-1 +f(x i-1 ;y i-1) ?x (i=1,2, …, n).

Формула и является основной расчетной формулой метода Эйлера. Ее точность тем выше, чем меньше разность?x.

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

Степень точности метода Эйлера, вообще говоря, невелика. Существуют гораздо более точные методы приближенного решения дифференциальных уравнений.

Для решения дифференциальных уравнений необходимо знать значение зависимой переменной и ее производных при некоторых значениях независимой переменной. Если дополнительные условия задаются при одном значении неизвестной, т.е. независимой переменной., то такая задача называется задачей Коши. Если начальные условия задаются при двух или более значениях независимой переменной, то задача называется краевой. При решении дифференциальных уравнений различных видов, функция, значения которой требуется определить вычисляется в виде таблицы.

Классификация численных методов для решения дифр. Ур. Типов.

Задача Коши – одношаговые: методы Эйлера, методы Рунге- Кутта; – многошаговые: метод Майна, Метод Адамса. Кроевая задача – метод сведения кроевой задачи к задаче Коши; –метод конечных разностей.

При решении задачи Коши должны быть заданы дифр. ур. порядка n или система дифр. ур. первого порядка из n уравнений и n дополнительных условий для ее решения. Дополнительные условия должны быть заданы при одном и том же значении независимой переменной. При решении кроевой задачи должны быть заданы ур. n-ого порядка или система из n уравнений и n дополнительных условий при двух или более значениях независимой переменной. При решении задачи Коши искомая функция определяется дискретно в виде таблицы с некоторым заданным шагом . При определении каждого очередного значения можно использовать информацию об одной предыдущей точке. В этом случае методы называют одношаговым, либо можно использовать информацию о нескольких предыдущих точках – многошаговые методы.

Обыкновенные дифференциальные ур. Задача Коши. Одношаговые методы. Метод Эйлера.

Задано: g(x,y)y+h(x,y)=0, y=-h(x,y)/g(x,y)= f(x,y), x 0 , y(x 0)=y 0 . Известно: f(x,y), x 0 , y 0 . Определить дискретное решение: x i , y i , i=0,1,…,n. Метод Эйлера основан на разложении функции в ряд Тейлора окрестности точки x 0 . Окрестность описывается шагом h. y(x 0 +h)y(x 0)+hy(x­ 0)+…+ (1). В методе Эйлера учитываются только два слагаемых ряда Тейлора. Введем обозначения. Формула Эйлера примет вид: y i+1 =y i +y i , y i =hy(x i)=hf(x i ,y i), y i+1 =y i +hf(x i ,y i) (2), i=0,1,2…, x i+1 =x i +h

Формула (2) является формулой простого метода Эйлера.

Геометрическая интерпретация формулы Эйлера

Для получения численного решения используется ф-ла касательной, проходящей через урав. касательной: y=y(x 0)+y(x 0)(x-x ­0), x=x 1 ,

y 1 =y(x 0)+f(x 0 ,y 0)  (x-x 0), т.к.

x-x 0 =h, то y 1 =y 0 +hf(x 0 ,y 0), f(x 0 ,y 0)=tg £.

Модифицированный метод Эйлера

Задано: y=f(x,y), y(x 0)=y 0 . Известно: f(x,y), x 0 , y 0 . Определить: зависимость y от x в виде табличной дискретной функции: x i , y i , i=0,1,…,n.

Геометрическая интерпертация

1) вычислим тангенс угла наклона в начальной точке

tg £=y(x n ,y n)=f(x n ,y n)

2) Вычислим значение  y n+1 на

конце шага по формуле Эйлера

 y n+1 =y n +f(x n ,y n) 3) Вычислим тангенс угла наклона

касательной в n+1 точке: tg £=y(x n+1 ,  y n+1)=f(x n+1 ,  y n+1) 4) Вычислим среднее арифметическое углов

наклона: tg £=½. 5) Используя тангенс угла наклона пересчитаем значение функции в n+1 точке: y n+1 =y n +htg £= y n +½h=y n +½h – формула модифицированного метода Эйлера. Можно показать, что полученная ф-ла соответствует разложению ф-ии в ряд Тейлора, включая слагаемы (до h 2). Модифицированный метод Эйлнра в отличии от простого является методом вторго порядка точности, т.к. погрешность пропорциональна h 2 .

Численное решение дифференциальных уравнений

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

Где x – независимая переменная, - i-ая производная от искомой функции. n - порядок уравнения. Общее решение ОДУ n–го порядка содержит n произвольных постоянных , т.е. общее решение имеет вид .

Для выделения единственного решения необходимо задать n дополнительных условий. В зависимости от способа задания дополнительных условий существуют два различных типа задач: задача Коши и краевая задача. Если дополнительные условия задаются в одной точке, то такая задача называется задачей Коши. Дополнительные условия в задаче Коши называются начальными условиями. Если же дополнительные условия задаются в более чем одной точке, т.е. при различных значениях независимой переменной, то такая задача называется краевой. Сами дополнительные условия называются краевыми или граничными.

Ясно, что при n=1 можно говорить только о задачи Коши.

Примеры постановки задачи Коши :

Примеры краевых задач :

Решить такие задачи аналитически удается лишь для некоторых специальных типов уравнений.

Численные методы решения задачи Коши для ОДУ первого порядка

Постановка задачи . Найти решение ОДУ первого порядка

На отрезке при условии

При нахождении приближенного решения будем считать, что вычисления проводятся с расчетным шагом , расчетными узлами служат точки промежутка [x 0 , x n ].

Целью является построение таблицы

x i

x n

y i

y n

т.е. ищутся приближенные значения y в узлах сетки.

Интегрируя уравнение на отрезке , получим

Вполне естественным (но не единственным) путем получения численного решения является замена в нем интеграла какой–либо квадратурной формулой численного интегрирования. Если воспользоваться простейшей формулой левых прямоугольников первого порядка

,

то получим явную формулу Эйлера :

Порядок расчетов:

Зная , находим , затем т.д.

Геометрическая интерпретация метода Эйлера :

Пользуясь тем, что в точке x 0 известно решение y (x 0) = y 0 и значение его производной , можно записать уравнение касательной к графику искомой функции в точке :. При достаточно малом шаге h ордината этой касательной, полученная подстановкой в правую часть значения , должна мало отличаться от ординаты y (x 1) решенияy (x ) задачи Коши. Следовательно, точка пересечения касательной с прямой x = x 1 может быть приближенно принята за новую начальную точку. Через эту точку снова проведем прямую , которая приближенно отражает поведение касательной к в точке . Подставляя сюда (т.е. пересечение с прямой x = x 2), получим приближенное значение y (x ) в точке x 2: и т.д. В итоге для i –й точки получим формулу Эйлера.

Явный метод Эйлера имеет первый порядок точности или аппроксимации.

Если использовать формулу правых прямоугольников: , то придем к методу

Этот метод называют неявным методом Эйлера , поскольку для вычисления неизвестного значения по известному значению требуется решать уравнение, в общем случае нелинейное.

Неявный метод Эйлера имеет первый порядок точности или аппроксимации.

В данном методе вычисление состоит из двух этапов:

Данная схема называется еще методом предиктор – корректор (предсказывающее – исправляющее). На первом этапе приближенное значение предсказывается с невысокой точностью (h), а на втором этапе это предсказание исправляется, так что результирующее значение имеет второй порядок точности.

Методы Рунге – Кутта: идея построения явных методов Рунге–Кутты p –го порядка заключается в получении приближений к значениям y (x i +1) по формуле вида

…………………………………………….

Здесь a n , b nj , p n , – некоторые фиксированные числа (параметры).

При построения методов Рунге–Кутты параметры функции (a n , b nj , p n ) подбирают таким образом, чтобы получить нужный порядок аппроксимации.

Схема Рунге – Кутта четвертого порядка точности :

Пример . Решить задачу Коши:

Рассмотреть три метода: явный метод Эйлера, модифицированный метод Эйлера, метод Рунге – Кутта.

Точное решение:

Расчетные формулы по явному методу Эйлера для данного примера:

Расчетные формулы модифицированного метода Эйлера:

Расчетные формулы метода Рунге – Кутта:

y1 – метод Эйлера, y2 – модифицированный метод Эйлера, y3 – метод Рунге Кутта.

Видно, что самым точным является метод Рунге – Кутта.

Численные методы решения систем ОДУ первого порядка

Рассмотренные методы могут быть использованы также для решения систем дифференциальных уравнений первого порядка.

Покажем это для случая системы двух уравнений первого порядка:

Явный метод Эйлера:

Модифицированный метод Эйлера:

Схема Рунге – Кутта четвертого порядка точности:

К решению систем уравнений ОДУ сводятся также задачи Коши для уравнений высших порядков. Например, рассмотрим задачу Коши для уравнения второго порядка

Введем вторую неизвестную функцию . Тогда задача Коши заменяется следующей:

Т.е. в терминах предыдущей задачи: .

Пример. Найти решение задачи Коши :

На отрезке .

Точное решение:

Действительно:

Решим задачу явным методом Эйлера, модифицированным методом Эйлера и Рунге – Кутта с шагом h=0.2.

Введем функцию .

Тогда получим следующую задачу Коши для системы двух ОДУ первого порядка:

Явный метод Эйлера:

Модифицированный метод Эйлера:

Метод Рунге – Кутта:

Схема Эйлера:

Модифицированный метод Эйлера:

Схема Рунге - Кутта:

Max(y-y теор)=4*10 -5

Метод конечных разностей решения краевых задач для ОДУ

Постановка задачи : найти решение линейного дифференциального уравнения

удовлетворяющего краевым условиям:. (2)

Теорема. Пусть . Тогда существует единственное решение поставленной задачи.

К данной задаче сводится, например, задача об определении прогибов балки, которая на концах опирается шарнирно.

Основные этапы метода конечных разностей:

1) область непрерывного изменения аргумента () заменяется дискретным множеством точек, называемых узлами: .

2) Искомая функция непрерывного аргумента x, приближенно заменяется функцией дискретного аргумента на заданной сетке, т.е. . Функция называется сеточной.

3) Исходное дифференциальное уравнение заменяется разностным уравнением относительно сеточной функции. Такая замена называется разностной аппроксимацией.

Таким образом, решение дифференциального уравнения сводится к отысканию значений сеточной функции в узлах сетки, которые находятся из решения алгебраических уравнений.

Аппроксимация производных.

Для аппроксимации (замены) первой производной можно воспользоваться формулами:

- правая разностная производная,

- левая разностная производная,

Центральная разностная производная.

т.е., возможно множество способов аппроксимации производной.

Все эти определения следуют из понятия производной как предела: .

Опираясь на разностную аппроксимацию первой производной можно построить разностную аппроксимацию второй производной:

Аналогично можно получить аппроксимации производных более высокого порядка.

Определение. Погрешностью аппроксимации n- ой производной называется разность: .

Для определения порядка аппроксимации используется разложение в ряд Тейлора.

Рассмотрим правую разностную аппроксимацию первой производной:

Т.е. правая разностная производная имеет первый по h порядок аппроксимации.

Аналогично и для левой разностной производной.

Центральная разностная производная имеет второй порядок аппроксимации .

Аппроксимация второй производной по формуле (3) также имеет второй порядок аппроксимации.

Для того чтобы аппроксимировать дифференциальное уравнение необходимо в нем заменить все производные их аппроксимациями. Рассмотрим задачу (1), (2) и заменим в(1) производные:

В результате получим:

(4)

Порядок аппроксимации исходной задачи равен 2, т.к. вторая и первая производные заменены с порядком 2, а остальные – точно.

Итак, вместо дифференциальных уравнений (1), (2) получена система линейных уравнений для определения в узлах сетки.

Схему можно представить в виде:

т.е., получили систему линейных уравнений с матрицей:

Данная матрица является трехдиагональной, т.е. все элементы, которые расположены не на главной диагонали и двух прилегающих к ней диагоналях равны нулю.

Решая полученную систему уравнений, мы получим решение исходной задачи.

Известно, что обыкновенное дифференциальное уравнение первого порядка имеет вид: .Решением этого уравнения является дифференцируемая функция, которая при подстановке в уравнение обращает его в тождество. График решения дифференциального уравнения (рис 1.) называетсяинтегральной кривой.

Производную в каждой точкеможно геометрически интерпретировать как тангенс угланаклона касательной к графику решения, проходящего через эту точку, т е.:.

Исходное уравнение определяет целое семейство решений. Чтобы выделить одно решение, задают начальное условие: , где – некоторое заданное значение аргумента, а–начальное значение функции.

Задача Коши заключается в отыскании функции , удовлетворяющей исходному уравнению и начальному условию. Обычно определяют решение задачи Коши на отрезке, расположенном справа от начального значения, т. е. для.

Даже для простых дифференциальных уравнений первого порядка не всегда удается получить аналитическое решение. Поэтому большое значение имеют численные методы решения. Численные методы позволяют определить приближенные значения искомого решения на некоторой выбранной сетке значений аргумента. Точкиназываютсяузлами сетки , а величина – шагом сетки. Часто рассматриваютравномерные сетки, для которых шаг постоянен,. При этом решение получается в виде таблицы, в которой каждому узлу сеткисоответствуют приближенные значения функциив узлах сетки.

Численные методы не позволяют найти решение в общем виде, зато они применимы к широкому классу дифференциальных уравнений.

Сходимость численных методов решения задачи Коши. Пусть – решение задачи Коши. Назовем погрешностью численного метода функцию , заданную в узлах сетки. В качестве абсолютной погрешности примем величину.

Численный метод решения задачи Коши называется сходящимся , если для него при. Говорят, что метод имеет-ый порядок точности, если для погрешности справедлива оценка,константа, .

Метод Эйлера

Простейшим методом решения задачи Коши является метод Эйлера. Будем решать задачу Коши

на отрезке . Выберем шаги построим сетку с системой узлов. В методе Эйлера вычисляются приближенные значения функциив узлах сетки:. Заменив производнуюконечными разностями на отрезках,, получим приближенное равенство:,, которое можно переписать так:,.

Эти формулы и начальное условие являются расчетными формулами метода Эйлера.

Геометрическая интерпретация одного шага метода Эйлера заключается в том, что решение на отрезке заменяется касательной, проведенной в точкек интегральной кривой, проходящей через эту точку. После выполненияшагов неизвестная интегральная кривая заменяется ломаной линией(ломаной Эйлера).

Оценка погрешности. Для оценки погрешности метода Эйлера воспользуемся следующей теоремой.

Теорема. Пусть функция удовлетворяет условиям:

.

Тогда для метода Эйлера справедлива следующая оценка погрешности: , где– длина отрезка. Мы видим, что метод Эйлера имеет первый порядок точности.

Оценка погрешности метода Эйлера часто бывает затруднительна, так как требует вычисления производных функции . Грубую оценку погрешности даетправило Рунге (правило двойного пересчета), которое используется для различных одношаговых методов, имеющих -ый порядок точности. Правило Рунге заключается в следующем. Пусть– приближения, полученные с шагом, а– приближения, полученные с шагом. Тогда справедливо приближенное равенство:

.

Таким образом, чтобы оценить погрешность одношагового метода с шагом , нужно найти то же решение с шагоми вычислить величину, стоящую справа в последней формуле, т.е.. Так как метод Эйлера имеет первый порядок точности, т. е., то приближенное равенство имеет вид:.

Используя правило Рунге, можно построить процедуру приближенного вычисления решения задачи Коши с заданной точностью . Для этого нужно, начав вычисления с некоторого значения шага , последовательно уменьшать это значение в два раза, каждый раз вычисляя приближенное значение,. Вычисления прекращаются тогда, когда будет выполнено условие: . Для метода Эйлера это условие примет вид:. Приближенным решением будут значения,.

Пример 1. Найдем решение на отрезке следующей задачи Коши:,. Возьмем шаг. Тогда.

Расчетная формула метода Эйлера имеет вид:

, .

Решение представим в виде таблицы 1:

Таблица 1

Исходное уравнение есть уравнение Бернулли. Его решение можно найти в явном виде: .

Для сравнения точного и приближенного решений представим точное решение в виде таблицы 2:

Таблица 2

Из таблицы видно, что погрешность составляет

Обыкновенными дифференциальными уравнениями называются такие уравнения, которые содержат одну или несколько производных от искомой функции y=y (x). Их можно записать в виде

Где х - независимая переменная.

Наивысший порядок n входящей в уравнение производной называется порядком дифференциального уравнения.

Методы решения обыкновенных дифференциальных уравнений можно разбить на следующие группы: графические, аналитические, приближенные и численные.

Графические методы используют геометрические построения.

Аналитические методы встречаются в курсе дифференциальных уравнений. Для уравнений первого порядка (с разделяющимися переменными, однородных, линейных и др.), а также для некоторых типов уравнений высших порядков (например, линейных с постоянными коэффициентами) удается получить решения в виде формул путем аналитических преобразований.

Приближенные методы используют различные упрощения самих уравнений путем обоснованного отбрасывания некоторых содержащихся в них членов, а также специальным выбором классов искомых функций.

Численные методы решения дифференциальных уравнений в настоящее время являются основным инструментом при исследовании научно-технических задач, описываемых дифференциальными уравнениями. При этом необходимо подчеркнуть, что данные методы особенно эффективны в сочетании с использованием современных компьютеров.

Простейшим численным методом решения задачи Коши для ОДУ является метод Эйлера. Рассмотрим уравнение в окрестностях узлов (i=1,2,3,…) и заменим в левой части производную правой разностью. При этом значения функции узлах заменим значениями сеточной функции:

Полученная аппроксимация ДУ имеет первый порядок, поскольку при замене на допускается погрешность.

Заметим, что из уравнения следует

Поэтому представляет собой приближенное нахождение значение функции в точке при помощи разложения в ряд Тейлора с отбрасыванием членов второго и более высоких порядков. Другими словами, приращение функции полагается равным её дифференциалу.

Полагая i=0, с помощью соотношения находим з значение сеточной функции при:

Требуемое здесь значение задано начальным условием, т.е.

Аналогично могут быть найдены значения сеточной функции в других узлах:

Построенный алгоритм называется методом Эйлера

Рисунок - 19 Метод Эйлера

Геометрическая интерпретация метода Эйлера дана на рисунке. Изображены первые два шага, т.е. проиллюстрировано вычисление сеточной функции в точках. Интегральные кривые 0,1,2 описывают точные решения уравнения. При этом кривая 0 соответствует точному решению задачи Коши, так как она проходит через начальную точку А (x 0 ,y 0). Точки B,C получены в результате численного решения задачи Коши методом Эйлера. Их отклонения от кривой 0 характеризуют погрешность метода. При выполнении каждого шага мы фактически попадаем на другую интегральную кривую. Отрезок АВ - отрезок касательной к кривой 0 в точке А, ее наклон характеризуется значением производной. Погрешность появляется потому, что приращение значения функции при переходе от х 0 к х 1 заменяется приращением ординаты касательной к кривой 0 в точке А. Касательная ВС уже проводится к другой интегральной кривой 1. таким образом, погрешность метода Эйлера приводит к тому, что на каждом шаге приближенное решение переходит на другую интегральную кривую.