Во многих прикладных задачах встречаются обыкновенные дифференциальные уравнения, содержащие две или больше неизвестных функций, зависящих от одной переменной (обычно от времени). Такие задачи приводят к системам дифференциальных уравнений. Например, в теории автоматического управления все процессы как электрические, так и состояния устойчивости систем автоматики описываются системами дифференциальных уравнений. Аналитическое решение таких задач, в силу сложности дифференциальных уравнений, содержащихся в них, является часто невозможным. В таких случаях на практике прибегают к численному решению систем дифференциальных уравнений и его реализации в различных математических пакетах и на различных языках программирования.
В данной работе рассматриваются методы численного решения задачи Коши для системы линейных неоднородных дифференциальных уравнений первого порядка [3]:
1)
где независимая переменная , известные функции от; , неизвестные функции от, удовлетворяющие начальным условиям:
заданные числа. Для получения численного решения системы (1) в работе каждое её уравнение решается методом Эйлера и методом Рунге-Кутты, реализация которых осуществляется с помощью программы MathCad.
Численное решение задачи Коши дифференциального уравнения первого порядка:
состоит в том, что на отрезке вводится сетка узлов интегрирования. При этом расчеты производятся с некоторым постоянным шагом расчетными точкам (узлами) служат точки промежутка . В каждой точке где находятся приближенные значения точного решения Результатом численного решения является таблица (таблица 1) приближенных значений искомого решенияв точках
Таблица 1
x0 |
x1 |
… |
xn ≈ b |
|
y |
y0 |
y1 |
… |
yn ≈ y(b) |
В
(2)
теории численных методов решения обыкновенных дифференциальных уравнений метод Эйлера занимает ключевую позицию. Весь процесс определяется формулой [1]:
На практике более распространен метод Рунге-Кутты 4-го порядка точности. По методу Рунге-Кутты искомые приближенные значения на каждом шаге разбиения вычисляются по формулам [1]:
(3)
Метод Эйлера и метод Рунге-Кутты принадлежат одному семейству методов Рунге-Кутты. При разложении функции в ряд Тейлора [3] в окрестности начальной точки имеем
.
При :
,
или
,
где остаточный член, .
Остаточный член характеризует локальную (шаговую) ошибку метода Эйлера [1], а именно ошибку, совершаемую на одном шаге. При многократном применении формулы (2) происходит наложение ошибок и образуется глобальная ошибка. Порядок глобальной ошибки на единицу ниже, чем порядок локальной ошибки. Локальная ошибка метода Эйлера – это бесконечно малая величина от , т.е. , следовательно, глобальная ошибка – бесконечно малая от , т.е. . Поэтому метод Эйлера относится к методам первого порядка точности по .
Локальная ошибка в рассмотренном методе Рунге-Кутты – это бесконечно малая величина от , т.е. . Это объясняется тем, что при применении метода Рунге-Кутты на каждом шаге интегрирования используется не линейная аппроксимация, как в методе Эйлера, а аппроксимация с помощью квадратурных формул Симпсона [1]. Следовательно, глобальная ошибка данного метода – бесконечно малая величина от , т.е. . Поэтому методу Рунге-Кутты 4-го порядка соответствует четвертый порядок точности по .
Проиллюстрируем реализацию данных численных методов решения задачи Коши для системы дифференциальных уравнений на примере.
Пример. Найти численные решения методами Эйлера и Рунге-Кутты задачи Коши для системы дифференциальных уравнений:
(4)
Решение.
1. Получим точное решение системы дифференциальных уравнений (4) операторным методом. Для этого:
1.1. Перейдем от оригиналов к изображениям:
,
1.2. Составим систему относительно неизвестных отображений , :
и решим ее:
1.3. С помощью встроенного в MathCad оператора invlaplace [2] перейдем от изображений к оригиналам, т.е. получим точное решение данной задачи Коши:
2. Далее найдем численное решение данной задачи Коши (4) на отрезке с шагом методом Эйлера. В работе численное решение данной задачи Коши реализовано в пакете MathCad [2]. Приведем текст программы:
Результаты вычислений представлены в таблице 2.
Таблица 2
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
|
0 |
0,1 |
0,2 |
0,3 |
0,4 |
0,5 |
0,6 |
0,7 |
0,8 |
0,9 |
1 |
|
-1 |
-0,3 |
0,41 |
1,158 |
1,972 |
2,883 |
3,923 |
5,128 |
6,54 |
8,206 |
10,185 |
|
2 |
1,8 |
1,69 |
1,662 |
1,712 |
1,838 |
2,042 |
2,33 |
2,71 |
3,193 |
3,794 |
3. Получим численное решение данной задачи Коши (5) на отрезке с шагом методом Рунге-Кутты. Для него используем встроенный оператор rkfixed [2].
Начальные условия:
Вектор начальных условий:
Вектор правых частей:
Результаты вычислений представлены в таблице 3.
Таблица 3
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
|
0 |
0,1 |
0,2 |
0,3 |
0,4 |
0,5 |
0,6 |
0,7 |
0,8 |
0,9 |
1 |
|
-1 |
-0,29 |
0,458 |
1,275 |
1,193 |
3,249 |
4,486 |
5,593 |
7,709 |
9,824 |
12,384 |
|
2 |
1,844 |
1,772 |
1,781 |
1,871 |
2,047 |
2,314 |
2,685 |
3,174 |
3,8 |
4,588 |
4. На рисунках 1 и 2 представлены совместные графические решения для каждой искомой функции и : точного решения, а также численных решений по методу Эйлера и методу Рунге-Кутты.
Рис. 1. Совместное графическое решение для
Рис. 2. Совместное графическое решение для
5. Для сравнения приближенных решений, полученных по методу Эйлера и методу Рунге-Кутты составим таблицы 4 и 5 – таблицы абсолютных и относительных погрешностей на каждом шаге интегрирования для каждой искомой функции и .
Таблица 4
Абсолютные и относительные погрешности для
Точное решение |
Решение методом Эйлера |
Решение методом Рунге-Кутты |
Абсолютная погрешность метода Эйлера |
Абсолютная погрешность метода Рунге-Кутты |
Относительная погрешность метода Эйлера |
Относительная погрешность метода Рунге- Кутты (%) |
|
0 |
-1 |
-1 |
-1 |
0 |
0 |
0 |
0 |
0,1 |
-0,29 |
-0,3 |
-0,29 |
0,00969 |
0,00001 |
3,33877 |
0,00323 |
0,2 |
0,458 |
0,41 |
0,458 |
0,0479 |
0,00002 |
10,46104 |
0,00426 |
0,3 |
1,275 |
1,158 |
1,275 |
0,11665 |
0,00003 |
9,15181 |
0,00248 |
0,4 |
2,193 |
1,972 |
2,193 |
0,22033 |
0,00005 |
10,04819 |
0,00214 |
0,5 |
3,249 |
2,883 |
3,249 |
0,36585 |
0,00007 |
11,26061 |
0,00206 |
0,6 |
4,486 |
3,923 |
4,486 |
0,56304 |
0,00009 |
12,55173 |
0,00209 |
0,7 |
5,953 |
5,128 |
5,953 |
0,8251 |
0,00013 |
13,8608 |
0,00217 |
0,8 |
7,709 |
6,54 |
7,709 |
1,16933 |
0,00018 |
15,16862 |
0,00228 |
0,9 |
9,824 |
8,206 |
9,824 |
1,61799 |
0,00024 |
16,46901 |
0,00242 |
1 |
12,385 |
10,185 |
12,384 |
2,19954 |
0,00032 |
17,76032 |
0,00258 |
Таблица 5
Абсолютные и относительные погрешности для
Точное решение |
Решение методом Эйлера |
Решение методом Рунге-Кутты |
Абсолютная погрешность метода Эйлера |
Абсолютная погрешность метода Рунге-Кутты |
Относительная погрешность метода Эйлера |
Относительная погрешность метода Рунге- Кутты (%) |
|
0 |
2 |
2 |
2 |
0 |
0 |
0 |
0 |
0,1 |
1,844 |
1,8 |
1,844 |
0,04381 |
0 |
2,376 |
0,00013 |
0,2 |
1,772 |
1,69 |
1,772 |
0,08166 |
0 |
4,609 |
0,00015 |
0,3 |
1,781 |
1,662 |
1,781 |
0,11864 |
0 |
6,663 |
0,00004 |
0,4 |
1,871 |
1,712 |
1,871 |
0,15952 |
0 |
8,526 |
0,00018 |
0,5 |
2,047 |
1,838 |
2,047 |
0,20905 |
0,00001 |
10,214 |
0,00048 |
0,6 |
2,315 |
2,042 |
2,314 |
0,27229 |
0,00002 |
11,764 |
0,00081 |
0,7 |
2,685 |
2,33 |
2,685 |
0,35494 |
0,00003 |
13,218 |
0,00116 |
0,8 |
3,174 |
2,71 |
3,174 |
0,46371 |
0,00005 |
14,611 |
0,0015 |
0,9 |
3,8 |
3,193 |
3,8 |
0,60667 |
0,00007 |
15,967 |
0,00182 |
1 |
4,588 |
3,794 |
4,588 |
0,79376 |
0,0001 |
17,301 |
0,00212 |
Сравнивая полученные значения относительных погрешностей вычислений видно, что метод Рунге-Кутты дает наименьшую погрешность, которая на каждом шаге интегрирования не превосходит для и , в то время как относительная погрешность метода Эйлера на каждом шаге более для и для .
Таким образом, в работе рассмотрены методы численного решения задачи Коши системы дифференциальных уравнений первого порядка: метод Эйлера и метод Рунге-Кутты четвертого порядка. Реализация данных численных методов проиллюстрирована на примере, при решении которого получено точное решение данной задачи Коши, построены совместные графические решения, найдены абсолютные и относительные погрешности данных численных методов на каждом шаге интегрирования.
Список литературы
1. Бахвалов Н.С., Жидков Н.И., Кобельков Г.М. Численные методы. – М.: Наука, 2002. – 632 с.
2. Охорзин В.А. Прикладная математика в системе Mathcad. – СПб.: Изд-во «Лань», 2009. – 352 с.
3. Пискунов Н.С. Дифференциальное и интегральное исчисления: учебное пособие для высших технических учебных заведений. Т. 2. – М.: Наука, 1978. – 576 с.