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


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

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). Его можно найти по методу Эйлера.

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

Рассмотрим линейную краевую задачу y'' + p(x)·y' + q(x) = f(x), a x b, где p (x), q (x) и f (x)непрерывны на [a; b] и y0 = χ1y1 + μ1, yN = χ2yN-1 + μ2
Для решения этого уравнения:

1. Разобъём отрезок [a; b] на n равных частей длины, или шага .
Точки разбиения xi = x0 + ih, i = 0, 1, :, n, x0 = a, xn = b называются узлами, а их совокупность - сеткой на отрезке [a; b].

2. Значения в узлах искомой функции y = y (x) и её производных y' = y' (x), y'' = y'' (x)обозначим соответственно через yi = y(xi ), y'i = y'(xi ), y''i = y''(xi ).
Введём обозначения: pi = p(xi ), qi = q(xi ), fi = f(xi ).

3. Заменим производные конечно-разностными отношениями: , .
Эти формулы приближённо выражают значения производных во внутренних точках интервала [a; b].

4. Для граничных точек положим:

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

Таким образом, получена линейная система n+1 уравнений c n+1 неизвестными y0, y1, :, yn, представляющими собой значения искомой функции y(x) в узлах сетки.

Полученная система уравнений называется разностной схемой.
Она решается методом прогонки или каким-либо общим численным методом (например, методом итерации).



Дата добавления: 2017-05-02; просмотров: 3283;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.008 сек.