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

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

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

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

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

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

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

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

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

Метод Эйлера

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

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

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

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

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

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

.

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

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

.

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

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

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

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

, .

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

Таблица 1

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

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

Таблица 2

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

Основные вопросы, рассматриваемые на лекции:

1. Постановка задачи

2. Метод Эйлера

3. Методы Рунге-Кутта

4. Многошаговые методы

5. Решение краевой задачи для линейного дифференциального уравнения 2 порядка

6. Численное решение дифференциальных уравнений в частных производных

1. Постановка задачи

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

· Метод Эйлера

В основе метода Эйлера лежит идея графического построения решения ДУ, однако этот же метод даёт одновременно и численную форму искомой функции. Пусть дано уравнение (1) с начальным условием (2).
Получение таблицы значений искомой функции y (x) по методу Эйлера заключается в циклическом применении формулы: , i = 0, 1, :, n. Для геометрического построения ломаной Эйлера (см. рис.) выберем полюс A(-1,0) и на оси ординат отложим отрезок PL=f(x0 , y0) (точка P - это начало координат). Очевидно, что угловой коэффициент луча AL будет равен f(x0 , y0), поэтому чтобы получить первое звено ломаной Эйлера достаточно из точки М провести прямую MM1 параллельно лучу AL до пересечения с прямой х = х1 в некоторой точке М1(х1, у1). Приняв точку М1(х1, у1) за исходную откладываем на оси Оу отрезок PN = f (x1, y1) и через точку М1 проводим прямую М1М2 | | AN до пересечения в точке М2(х2, у2) с прямой х = х2 и т.д.

Недостатки метода: малая точность, систематическое накопление ошибок.

· Методы Рунге-Кутта

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


Меняя α, β, r, q, будем получать различные варианты методов Рунге-Кутта.
При q=1 получаем формулу Эйлера.
При q=2 и r1=r2=½ получаем, что α, β= 1 и, следовательно, имеем формулу: , которая называется усовершенствованный метод Эйлера-Коши.
При q=2 и r1=0, r2=1 получаем, что α, β = ½ и, следовательно, имеем формулу: - второй усовершенствованный метод Эйлера-Коши.
При q=3 и q=4 также существуют целые семейства формул Рунге-Кутта. На практике они применяются наиболее часто, т.к. не наращивают ошибок.
Рассмотрим схему решения дифференциального уравнения методом Рунге-Кутта 4 порядка точности. Расчёты при использовании этого метода ведутся по формулам:

Их удобно вносить в следующую таблицу:

x y y" = f (x,y) k=h · f(x,y) Δy
x0 y0 f(x0,y0) k1(0) k1(0)
x0 + ½·h y0 + ½·k1(0) f(x0 + ½·h, y0 + ½·k1(0)) k2(0) 2k2(0)
x0 + ½·h y0 + ½·k2(0) f(x0 + ½·h, y0 + ½·k2(0)) k3(0) 2k3(0)
x0 + h y0 + k3(0) f(x0 + h, y0 + k3(0)) k4(0) k4(0)
Δy0 = Σ / 6
x1 y1 = y0 + Δy0 f(x1,y1) k1(1) k1(1)
x1 + ½·h y1 + ½·k1(1) f(x1 + ½·h, y1 + ½·k1(1)) k2(1) 2k2(1)
x1 + ½·h y1 + ½·k2(1) f(x1 + ½·h, y1 + ½·k2(1)) k3(1) 2k3(1)
x1 + h y1 + k3(1) f(x1 + h, y1 + k3(1)) k4(1) k4(1)
Δy1 = Σ / 6
x2 y2 = y1 + Δy1 и т.д. до получения всех искомых значений y

· Многошаговые методы

Рассмотренные выше методы - это так называемые методы пошагового интегрирования дифференциального уравнения. Они характерны тем, что значение решения на следующем шаге ищется с использованием решения, полученного лишь на одном предыдущем шаге. Это так называемые одношаговые методы.
Основная идея же многошаговых методов заключается в использовании при вычислении значения решения на следующем шаге нескольких предыдущих значений решения. Также эти методы носят название m-шаговых по числу m используемых для расчётов предыдущих значений решения.
В общем случае для определения приближённого решения yi+1 m-шаговые разностные схемы записываются таким образом (m 1):
Рассмотрим конкретные формулы, реализующие простейшие явный и неявный методы Адамса.

Явный метод Адамса 2 порядка (2-шаговый явный метод Адамса)

Имеем a0 = 0, m = 2.
Таким образом, - расчётные формулы явного метода Адамса 2-ого порядка.
При i = 1 имеем неизвестное y1, которое будем находить по методу Рунге-Кутта при q = 2 илиq = 4.
При i = 2, 3, : все необходимые значения известны.

Неявный метод Адамса 1 порядка

Имеем: a0 0, m = 1.
Таким образом, - расчётные формулы неявного метода Адамса 1-ого порядка.
Основная проблема неявных схем заключается в следующем: yi+1 входит и в правую и в левую часть представленного равенства, поэтому имеем уравнение для поиска значения yi+1. Данное уравнение является нелинейным и записано в форме, подходящей для итерационного решения, поэтому будем использовать метод простой итерации для его решения:
Если шаг h выбран удачно, то итерационный процесс быстро сходится.
Данный метод также не является самостартующимся. Так для вычисления y1 надо знать y1(0). Его можно найти по методу Эйлера.

Лабораторная работа 1

Численные методы решения

обыкновенных дифференциальных уравнений (4 часа)

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

Обыкновенным дифференциальным уравнением называется равенство

, (1)

в котором

- независимая переменная, изменяющаяся в некотором отрезке , а - неизвестная функция y ( x ) и ее первые n производные. называется порядком уравнения .

Задача заключается в нахождении функции y, удовлетворяющей равенству (1). Более того, не оговаривая это отдельно, будем предполагать, что искомое решение обладает той или иной степенью гладкости, необходимой для построения и «законного» применения того или иного метода.

Различают два типа обыкновенных дифференциальных уравнений

Уравнения без начальных условий

Уравнения с начальными условиями.

Уравнения без начальных условий - это уравнение вида (1).

Уравнение с начальными условиями - это уравнение вида (1), в котором требуется найти такую функцию

, которая при некотором удовлетворяет следующим условиям: ,

т.е. в точке

функция и ее первые производных принимают наперед заданные значения.

Задачи Коши

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

Рассмотрим наиболее популярный метод решения задачи Коши – метод Рунге-Кутта. Этот метод позволяет строить формулы расчета приближенного решения практически любого порядка точности.

Выведем формулы метода Рунге-Кутта второго порядка точности. Для этого решение представим куском ряда Тейлора, отбрасывая члены с порядком выше второго. Тогда приближенное значение искомой функции в точке x 1 можно записать в виде:

(2)

Вторую производную y "( x 0 ) можно выразить через производную функции f ( x , y ) , однако в методе Рунге-Кутта вместо производной используют разность

соответственно подбирая значения параметров

Тогда (2) можно переписать в виде:

y 1 = y 0 + h [ β f ( x 0 , y 0 ) + α f ( x 0 + γh , y 0 + δh )], (3)

где α , β , γ и δ – некоторые параметры.

Рассматривая правую часть (3) как функцию аргумента h , разложим ее по степеням h :

y 1 = y 0 +( α + β ) h f ( x 0 , y 0 ) + αh 2 [ γ f x ( x 0 , y 0 ) + δ f y ( x 0 , y 0 )],

и выберем параметры α , β , γ и δ так, чтобы это разложение было близко к (2). Отсюда следует, что

α + β =1, αγ =0,5, α δ =0,5 f ( x 0 , y 0 ).

С помощью этих уравнений выразим β , γ и δ через параметры α , получим

y 1 = y 0 + h [(1 - α ) f ( x 0 , y 0 ) + α f ( x 0 +, y 0 + f ( x 0 , y 0 )], (4)

0 < α ≤ 1.

Теперь, если вместо (x 0 , y 0 ) в (4) подставить (x 1 , y 1 ), получим формулу для вычисления y 2 приближенного значения искомой функции в точке x 2 .

В общем случае метод Рунге-Кутта применяется на произвольном разбиении отрезка [ x 0 , X ] на n частей, т.е. с переменным шагом

x 0 , x 1 , …,x n ; h i = x i+1 – x i , x n = X. (5)

Параметры α выбирают равными 1 или 0,5. Запишем окончательно расчетные формулы метода Рунге-Кутта второго порядка с переменным шагом для α =1:

y i+1 =y i +h i f(x i + , y i + f(x i , y i)), (6.1)

i = 0, 1,…, n -1.

и α =0,5:

y i+1 =y i + , (6.2)

i = 0, 1,…, n -1.

Наиболее употребляемые формулы метода Рунге-Кутта – формулы четвертого порядка точности:

y i+1 =y i + (k 1 + 2k 2 + 2k 3 + k 4),

k 1 =f(x i , y i), k 2 = f(x i + , y i + k 1), (7)

k 3 = f(x i + , y i + k 2), k 4 = f(x i +h, y i +hk 3).

Для метода Рунге-Кутта применимо правило Рунге для оценки погрешности. Пусть y ( x ; h ) – приближенное значение решения в точке x , полученное по формулам (6.1), (6.2) или (7) с шагом h , а p порядок точности соответствующей формулы. Тогда погрешность R ( h ) значения y ( x ; h ) можно оценить, используя приближенное значение y ( x ; 2 h ) решения в точке x , полученное с шагом 2 h :

(8)

где p =2 для формул (6.1) и (6.2) и p =4 для (7).

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

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

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

При решении задачи Коши должны быть заданы дифр. ур. порядка 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 .

Введение

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

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

Решением обыкновенного дифференциального уравнения называется такая функция y(x), которая при любых х удовлетворяет этому уравнению в определенном конечном или бесконечном интервале. Процесс решения дифференциального уравнения называют интегрированием дифференциального уравнения.

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

где y i+1 это искомое значение функции в точке x i+1 .

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

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

Состав курсовой работы: Курсовая работа состоит из трех частей. В первой части краткое описание методов. Во второй части постановка и решение задачи. В третьей части – программная реализация на языке ЭВМ

Цель курсовой работы: изучить два метода решения дифференциальных уравнений-метод Эйлера-Коши и усовершенствованный методЭйлера.

1. Теоретическая часть

Численное дифференцирование

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

    Обыкновенные дифференциальные уравнения (ОДУ)

    Дифференциальные уравнения в частных производных.

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

независимая переменная

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

Простейшим (линейным) ОДУ является уравнение (1) порядка разрешенное относительно производной

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

Основная задача, связанная с линейной ОДУ известно как задача Каши:

Найти решение уравнения (2) в виде функции удовлетворяющий начальному условию (3)

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

Численный с точки зрения задачи Каши означает: требуется построить таблицу значений функции удовлетворяющий уравнение (2) и начальное условие (3) на отрезке с некоторым шагом . Обычно считается, что то есть начальное условие задано в левом конце отрезка.

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

Пусть дано уравнение (2) с начальным условием тоесть поставлена задача Каши. Решим вначале следующую задачу. Найти простейшим способом приближенное значение решения в некоторой точке где -достаточно малый шаг. Уравнение (2) совместно с начальным условием (3) задают направление касательной искомой интегральной кривой в точке с координатами

Уравнение касательной имеет вид

Двигаясь вдоль этой касательной, получим приближенное значение решения в точке :

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

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

Продолжая эту идею, построим систему равно отстоящих точек

Получение таблицы значений искомой функции

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

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

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

1.1 Усовершенствованный метод Эйлера

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

А формула (5) получает вид

Формула (7) применена только для , следовательно, значения по ней получить нельзя, поэтому находят по методу Эйлера, при этом для получения более точного результата поступают так: с начало по формуле (5) находят значение

(8)

В точке а затем находится по формуле (7) с шагом

(9)

После того как найдено дальнейшие вычисления при производится по формуле (7)

Читайте также: