- •Часть 2
- •Оглавление введение
- •Глава 1. Методы одномерной безусловной оптимизации § 1.1. Основные понятия
- •§ 1.2. Метод половинного деления
- •§ 1.3. Метод золотого сечения
- •§ 1.4. Метод Ньютона
- •Глава 2. Методы многомерной безусловной оптимизации § 2.1. Основные понятия
- •§ 2.2. Метод сопряженных направлений
- •§ 2.3. Метод наискорейшего спуска
- •§ 2.4. Метод Ньютона
- •Глава 3. Интерполирование и аппроксимация функций, заданных таблично § 3.1. Основные понятия
- •§ 3.2. Интерполяционный полином в форме Лагранжа
- •§ 3.3. Интерполяционный полином в форме Ньютона
- •§ 3.4. Сплайн-интерполяция таблично заданной функции
- •§ 3.5. Аппроксимация таблично заданных функций методом наименьших квадратов
- •Глава 4. Численное дифференцирование и интегрирование функций § 4.1. Основные понятия
- •§ 4.2. Численное дифференцирование
- •§ 4.3. Численное интегрирование
- •4.3.1. Квадратурные формулы прямоугольников, трапеций и Симпсона. Квадратурные формулы прямоугольников
- •Квадратурная формула трапеций
- •Квадратурная формула Симпсона
- •4.3.2. Автоматический выбор шага. Правило Рунге
- •Глава 5. Численные методы решения задачи Коши для обыкновенных дифференциальных уравнений и их систем § 5.1. Основные понятия
- •§ 5.2. Метод Эйлера
- •§ 5.3. Явный 4-шаговый метод Адамса
- •§ 5.4. Метод Рунге Кутта четвертого порядка
- •Литература
§ 5.2. Метод Эйлера
Пусть на отрезке [a, b] требуется найти решение задачи Коши для обыкновенного дифференциального уравнения первого порядка
y = g(x, y), (5.2.1)
y(x0) = y0, (5.2.2)
где y0 – заданное число.
Зададим на отрезке [a, b] равномерную сетку
x = {xi / xi = xi – 1 + h, h > 0, i = 1, 2, 3, …, m; x0 = a, xm = b}, (5.2.3)
где xi, i = 0, 1, 2, …, m – узлы одномерной сетки x; h – шаг сетки.
П
риближенное
решение h(x)
задачи (5.2.1) (5.2.2)
будем строить по правилу
(5.2.4)
Организация вычислений при реализации метода Эйлера предельно проста. Промежуточные результаты удобно размещать в таблице, аналогичной табл. 5.2.1.
Таблица 5.2.1
k |
xk |
h(xk) = h(xk – 1) + hg(xk – 1, h(xk – 1)) |
g(xk, h(xk)) |
0 |
x0 |
h(x0) (берется из начальных условий) |
g(x0, h(x0)) |
1 |
x1 |
h(x1) = h(x0) + hg(x0,h(x0)) |
g(x1, h(x1)) |
2 |
x2 |
h(x2) = h(x1) + hg(x1, h(x1)) |
g(x2, h(x2)) |
… |
… |
|
|
m – 1 |
xm – 1 |
h(xm – 1) = h(xm – 2) + hg(xm – 2, h(xm – 2)) |
g(xm – 1, h(xm –- 1)) |
m |
xm |
h(xm) = h(xm – 1) + hg(xm – 1, h(xm – 1)) |
|
В заключение сделаем несколько замечаний относительно метода Эйлера (5.2.4).
1. Рассмотренный метод является явным одношаговым разностным. Это один из наиболее простых численных методов решения задачи Коши.
2. Сходится на отрезке [a, b] в соответствии с определением и имеет первый порядок точности.
3. Ввиду невысокой точности редко используется для решения реальных задач. Существуют модификации метода, позволяющие повысить точность получаемых результатов.
4. Легко адаптируется к решению задачи Коши для систем обыкновенных дифференциальных уравнений первого порядка.
Рассмотрим систему из двух уравнений
с начальными условиями
Как и ранее, будем искать решение поставленной задачи Коши на отрезке [a, b], задав на нем равномерную сетку x с шагом h.
Пусть функции h y(x) y(x) и h z(x) z(x) обозначают приближенное решение задачи, тогда метод Эйлера запишется в виде
§ 5.3. Явный 4-шаговый метод Адамса
Пусть на отрезке [a, b] требуется найти решение задачи Коши для обыкновенного дифференциального уравнения первого порядка
y = g(x, y), (5.3.1)
y(x0) = y0, (5.3.2)
где y0 – заданное число.
Зададим на отрезке [a, b] равномерную сетку
x = {xi / xi = xi – 1 + h, h > 0, i = 1, 2, 3, …, m; x0 = a, xm = b}, (5.3.3)
где xi, i = 0, 1, 2, …, m – узлы одномерной сетки x; h – шаг сетки.
Введем обозначения
h, k:=h(xk); gk:=g(xk, h(xk)). (5.3.4)
Явный 4-шаговый метод Адамса может быть представлен следующим образом. Положим h(x0): = y0 и вычислим значение g0. Далее предположим, что значения g1, g2, g3 уже известны. Приближенное решение h(x) задачи (5.3.1), (5.3.2) будем строить по правилу
h, k + 1 = h, k + (h/24)[55gk – 59gk – 1 + 37gk – 2 – 9gk – 3],
k = 3, 4, …, m – 1. (5.3.5)
Отметим, что для определения g1, g2, g3 необходимо знать значения h(x1), h(x2), h(x3), которые могут быть найдены предварительно с помощью любого другого численного метода либо заданы в результате каких-либо измерений.
Метод (5.3.5) называется 4-шаговым, поскольку для вычисления функции h(xk) необходимо знать ее значения в четырех предыдущих узлах сетки x.
Результаты вычислений методом (5.3.5) удобно записывать в таблицу, аналогичную табл. 5.3.1.
Таблица 5.3.1
k |
xk |
h, k = h(xk – 1) + (h/24)[55gk – 1 – 59gk – 2 + 37gk – 3 -9gk – 4] |
gk = g(xk, h(xk)) |
0 |
x0 |
h, 0 = y0 берется из начальных условий |
g0 = g(x0, h(x0)) |
1 |
x1 |
h, 1 определяется другим методом |
g1 = g(x1, h(x1)) |
2 |
x2 |
h, 2 определяется другим методом |
g2 = g(x2, h(x2)) |
3 |
x3 |
h, 3 определяется другим методом |
g3 = g(x3, h(x3)) |
4 |
x4 |
h, 4 = h(x3) + (h/24)[55g3 – 59g2 + 37g1 – 9g0] |
g4 = g(x4, h(x4)) |
… |
… |
… |
… |
m – 1 |
xm – 1 |
h, m – 1 = h(xm – 2) + (h/24)[55gm – 2 – 59gm – 3 + + 37gm – 4 – 9gm – 5] |
gm – 1 = g(xm – 1, h(xm – 1)) |
m |
xm |
h, m = h(xm – 1) + (h/24)[55gm – 1 – 59gm – 2 + + 37gm – 3 – 9gm – 4] |
|
В заключение сделаем несколько замечаний относительно метода Адамса.
1. Это явный 4-шаговый разностный метод, который, так же как и метод Эйлера, является явным многошаговым. (Более подробное описание многошаговых разностных методов решения задачи Коши для обыкновенного дифференциального уравнения первого порядка приведено в литературе по вычислительной математике.)
2. Метод (5.3.5) является сходящимся на отрезке [a, b] в соответствии с определением и имеет четвертый порядок точности.
3. В отличие от одношагового метода Эйлера метод Адамса требует для начала работы предварительного определения значений искомой функции еще в трех узлах сетки x, что является в определенном смысле его недостатком. На практике эта дополнительная информация может быть получена либо с помощью других численных методов (методов Эйлера, Рунге – Кутта), либо с помощью измерений иного характера.
4. Метод Адамса может быть легко адаптирован применительно к решению задачи Коши для систем обыкновенных дифференциальных уравнений первого порядка.
Рассмотрим систему из двух уравнений
с начальными условиями
y(x0) = y0, z(x0) = z0.
Как и ранее, будем искать решение поставленной задачи Коши на отрезке [a, b], задав на нем равномерную сетку x с шагом h.
Пусть функции h, y(x) y(x) и h, z(x) z(x) представляют собой приближенное решение задачи. Введем обозначения
h, y, k:=h, y(xk); g1, k:=g1(xk, h, y(xk),h, z(xk)),
h, z, k:=h, y, z(xk); g2, k:=g2(xk, h, y(xk),h, z(xk)).
Тогда метод Адамса перепишется в виде:
П
оложим
h, y(x0):
= y0, h, z(x0):=
z0, вычислим
значения g1, 0
и g2, 0.
Предположим, что уже известны значения g1, 1, g1, 2, g1, 3, g2, 1, g2, 2, g2, 3.
Значения h, y(xk), h, z(xk) "строим" по правилу:
h,y, k + 1
= h,y,k
+ (h/24)[55g1,k
– 59g1,k-1
+ 37g1,k-2
– 9g1,k-3],
k = 3,4,…, m-1
h,z, k + 1 = h,z,k + (h/24)[55g2,k – 59g2,k-1 + 37g2,k-2 – 9g2,k-3], k = 3,4,…, m-1
