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

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

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

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

Рассмотрим некоторые из них.

Метод Эйлера

Известно, что уравнение Глава 11. Численные методы решения дифференциальных уравнений - student2.ru задает в некоторой области поле направлений. Решение этого уравнения с некоторыми начальными условиями дает кривую, которая касается поля направлений в любой точке.

Если взять последовательность точек х0, х1, х2, …. и заменить на получившихся отрезках интегральную кривую на отрезки касательных к ней, то получим ломаную линию (рис. 11.1).

При подстановке заданных начальных условий (х0, у0) в дифференциальное уравнение Глава 11. Численные методы решения дифференциальных уравнений - student2.ru получаем угловой коэффициент касательной к интегральной кривой в начальной точке

Глава 11. Численные методы решения дифференциальных уравнений - student2.ru .

Заменив на отрезке [x0,x1] интегральную кривую на касательную к ней, получаем значение

Глава 11. Численные методы решения дифференциальных уравнений - student2.ru .

Производя аналогичную операцию для отрезка [x1, x2], получаем:

Глава 11. Численные методы решения дифференциальных уравнений - student2.ru Глава 11. Численные методы решения дифференциальных уравнений - student2.ru .

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

Можно записать общую формулу вычислений:

Глава 11. Численные методы решения дифференциальных уравнений - student2.ru Глава 11. Численные методы решения дифференциальных уравнений - student2.ru .

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

Глава 11. Численные методы решения дифференциальных уравнений - student2.ru

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

Суть метода состоит в том, что в формуле Глава 11. Численные методы решения дифференциальных уравнений - student2.ru вместо значения Глава 11. Численные методы решения дифференциальных уравнений - student2.ru берется среднее арифметическое значений f(x0, y0) и f(x1, y1). Тогда уточненное значение:

Глава 11. Численные методы решения дифференциальных уравнений - student2.ru

Затем находится значение производной в точке Глава 11. Численные методы решения дифференциальных уравнений - student2.ru . Заменяя f(x0, y0) средним арифметическим значений f(x0, y0) и Глава 11. Численные методы решения дифференциальных уравнений - student2.ru , находят второе уточненное значение у1:

Глава 11. Численные методы решения дифференциальных уравнений - student2.ru ,

Затем третье:

Глава 11. Численные методы решения дифференциальных уравнений - student2.ru ,

и т.д. пока два последовательных уточненных значения не совпадут в пределах заданной степени точности. Тогда это значение принимается за ординату точки М1 ломаной Эйлера.

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

Подобное уточнение позволяет существенно повысить точность результата.

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

Метод Рунге – Кутта является более точным по сравнению с методом Эйлера.

Суть уточнения состоит в том, что искомое решение представляется в виде разложения в ряд Тейлора.

Глава 11. Численные методы решения дифференциальных уравнений - student2.ru

Если в этой формуле ограничиться двумя первыми слагаемыми, то получим формулу метода Эйлера. Метод Рунге – Кутта учитывает четыре первых члена разложения.

Глава 11. Численные методы решения дифференциальных уравнений - student2.ru .

В методе Рунге – Кутта приращения Dyi предлагается вычислять по формуле:

Глава 11. Численные методы решения дифференциальных уравнений - student2.ru

где коэффициенты ki вычисляются по формулам:

Глава 11. Численные методы решения дифференциальных уравнений - student2.ru

Глава 11. Численные методы решения дифференциальных уравнений - student2.ru

Глава 11. Численные методы решения дифференциальных уравнений - student2.ru

Глава 11. Численные методы решения дифференциальных уравнений - student2.ru

Примеры

№1. Решить методом Рунге – Кутта дифференциальное уравнение Глава 11. Численные методы решения дифференциальных уравнений - student2.ru при начальном условии у(0) = 1 на отрезке [0; 0,5] с шагом 0,1.

Решение.

Для i = 0 вычислим коэффициенты ki:

Глава 11. Численные методы решения дифференциальных уравнений - student2.ru

Глава 11. Численные методы решения дифференциальных уравнений - student2.ru

Глава 11. Численные методы решения дифференциальных уравнений - student2.ru

Глава 11. Численные методы решения дифференциальных уравнений - student2.ru

Глава 11. Численные методы решения дифференциальных уравнений - student2.ru

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

i xi k Dyi yi
0,1000 0,1104
0,1100
0,1105
0,1211
0,1 0,1210 0,1325 1,1104
0,1321
0,1326
0,1443
0,2 0,1443 0,1569 1,2429
0,1565
0,1571
0,1700
0,3 0,1700 0,1840 1,3998
0,1835
0,1842
0,1984
0,4 0,1984 0,2138 1,5838
0,2133
0,2140
0,2298
0,5   1,7976

№2. Решим предыдущий пример методом Эйлера.

Решение.

Применяем формулу Глава 11. Численные методы решения дифференциальных уравнений - student2.ru

Глава 11. Численные методы решения дифференциальных уравнений - student2.ru

Глава 11. Численные методы решения дифференциальных уравнений - student2.ru

Глава 11. Численные методы решения дифференциальных уравнений - student2.ru

Глава 11. Численные методы решения дифференциальных уравнений - student2.ru

Глава 11. Численные методы решения дифференциальных уравнений - student2.ru

Глава 11. Численные методы решения дифференциальных уравнений - student2.ru

Производя аналогичные вычисления далее, получаем таблицу значений:

i
xi 0,0 0,1 0,2 0,3 0,4 0,5
yi 1,1 1,22 1,362 1,528 1,721

Применим теперь уточненный метод Эйлера (точность 0,001).

i
xi 0,0 0,1 0,2 0,3 0,4 0,5
yi 1,111 1,243 1,400 1,585 1,799

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

Уравнение Глава 11. Численные методы решения дифференциальных уравнений - student2.ru является линейным неоднородным дифференциальным уравнением первого порядка. Решим соответствующее ему однородное уравнение.

Глава 11. Численные методы решения дифференциальных уравнений - student2.ru

Глава 11. Численные методы решения дифференциальных уравнений - student2.ru Глава 11. Численные методы решения дифференциальных уравнений - student2.ru

Решение неоднородного уравнения имеет вид Глава 11. Численные методы решения дифференциальных уравнений - student2.ru .

Глава 11. Численные методы решения дифференциальных уравнений - student2.ru

Глава 11. Численные методы решения дифференциальных уравнений - student2.ru

Глава 11. Численные методы решения дифференциальных уравнений - student2.ru

Общее решение: Глава 11. Численные методы решения дифференциальных уравнений - student2.ru .

C учетом начального условия: Глава 11. Численные методы решения дифференциальных уравнений - student2.ru

Частное решение: Глава 11. Численные методы решения дифференциальных уравнений - student2.ru .

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

i xi yi
Метод Эйлера Уточнен-ный метод Эйлера Метод Рунге-Кутта Точное значение
0,1 1,1 1,111 1,1104 1,1103
0,2 1,22 1,243 1,2429 1,2428
0,3 1,362 1,4 1,3998 1,3997
0,4 1,528 1,585 1,5838 1,5837
0,5 1,721 1,799 1,7976 1,7975

Как видно из полученных результатов метод Рунге – Кутта дает наиболее точный ответ. Точность достигает 0,0001. Кроме того, следует обратить внимание на то, ошибка (расхождение между точным и приближенным значениями) увеличивается с каждым шагом вычислений. Это обусловлено тем что, во-первых, полученное приближенное значение округляется на каждом шаге, а во-вторых – тем что, в качестве основы вычисления принимается значение, полученное на предыдущем шаге, т.е. приближенное значение. Таким образом, происходит накопление ошибки.

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

Варианты заданий

№11.1. Решить с помощью методов Эйлера, уточненного метода Эйлера, Рунге-Кутта и аналитически следующие дифференциальные уравнения при заданных начальных условиях, на заданном отрезке с шагом 0,2. Сравнить полученные результаты.

№ варианта Уравнение Глава 11. Численные методы решения дифференциальных уравнений - student2.ru Начальные условия (x0, y0) Отрезок [x0,xк]
Глава 11. Численные методы решения дифференциальных уравнений - student2.ru x0= –1,y0= 0 [–1, 1]
Глава 11. Численные методы решения дифференциальных уравнений - student2.ru x0= 0, y0= 2 [0, 2]
Глава 11. Численные методы решения дифференциальных уравнений - student2.ru x0= 1, y0= 0 [1, 3]
Глава 11. Численные методы решения дифференциальных уравнений - student2.ru x0= 0, y0= 2 [0, 2]
Глава 11. Численные методы решения дифференциальных уравнений - student2.ru x0= 0, y0= 2 [0, 2]
Глава 11. Численные методы решения дифференциальных уравнений - student2.ru x0= 1, y0= 1 [1, 3]
Глава 11. Численные методы решения дифференциальных уравнений - student2.ru x0= 1, y0= 1 [1, 3]
Глава 11. Численные методы решения дифференциальных уравнений - student2.ru x0= 1,y0= 2 [1, 3]
Глава 11. Численные методы решения дифференциальных уравнений - student2.ru x0= 0, y0= 2 [0, 2]
Глава 11. Численные методы решения дифференциальных уравнений - student2.ru x0= 2, y0= 0 [2, 4]
Глава 11. Численные методы решения дифференциальных уравнений - student2.ru x0= 0, y0= 3 [0, 2]
Глава 11. Численные методы решения дифференциальных уравнений - student2.ru x0= –3, y0= –2 [–3, –1]
Глава 11. Численные методы решения дифференциальных уравнений - student2.ru x0= –2, y0= 1 [–2, 0]
Глава 11. Численные методы решения дифференциальных уравнений - student2.ru x0= –3, y0= 5 [–3, –1]
Глава 11. Численные методы решения дифференциальных уравнений - student2.ru X0= - 4,Y0= 4 [-4,-2]
Глава 11. Численные методы решения дифференциальных уравнений - student2.ru X0= 2,Y0= 2 [2,- 4]
Глава 11. Численные методы решения дифференциальных уравнений - student2.ru X0= 3,Y0= 0 [3,5]
Глава 11. Численные методы решения дифференциальных уравнений - student2.ru X0= 0,Y0= -2 [0,2]
Глава 11. Численные методы решения дифференциальных уравнений - student2.ru X0= -3,Y0= 1 [-3,-1]
Глава 11. Численные методы решения дифференциальных уравнений - student2.ru X0= 2,Y0= 9 [2,4]
Глава 11. Численные методы решения дифференциальных уравнений - student2.ru X0= -2,Y0= -0.4 [-2,0]
Глава 11. Численные методы решения дифференциальных уравнений - student2.ru X0= - 4,Y0= -2 [-4,-2]
Глава 11. Численные методы решения дифференциальных уравнений - student2.ru X0= 0,Y0= 2 [0,2]
Глава 11. Численные методы решения дифференциальных уравнений - student2.ru X0= 1,Y0= 1 [1,3]

Контрольные вопросы

1. Когда применяются численные методы решения дифференциальных уравнений?

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

3. В чем заключается суть метода Эйлера?

4. В чем смысл уточненного метода Эйлера?

5. В чем смысл метода Рунге-Кутта?

6. Как рассчитать погрешность вычислений в приближенных методах?

Наши рекомендации