Численное решение задачи Коши для системы обыкновенных дифференциальных уравнений
Рассмотрим систему двух обыкновенных дифференциальных уравнений первого порядка с двумя неизвестными и начальными условиями в одной точке (задача Коши)[7,8]:
Распространенным численным методом решения поставленной задачи является метод Рунге-Кутта 2-го порядка (подробно этот метод рассмотрен в работах 5, 6).
Алгоритм метода заключается в следующем: пусть известны значения функций и в точке : . Для того, чтобы вычислить значения и в точке , находят величины :
,
где .
После этого получают значения неизвестных функций
.
Таким образом, зная значения и в точке , можно вычислить значения и в произвольной точке .
Для одного уравнения формулы принимают вид
.
Геометрическая иллюстрация этого случая приведена на рис.
Рис.7
Здесь и – интегральные кривые, проходящие через точки и ; – приращение ординаты касательной к функции в точке , т.е. дифференциал при ; – дифференциал при ; точка лежит на пересечении диагоналей параллелограмма.
Рассмотренный метод Рунге-Кутта имеет второй порядок точности: . На практике точность решения определяют по правилу Рунге:
где и – решения, найденные с шагом и соответственно. Для того чтобы найти значения и с заданной точностью, их вычисляют с шагом и т.д. до тех пор, пока соответствующие величины и не станут меньше заданной точности .
Варианты работы даны для линейного ОДУ 2-го порядка
.
Для перехода к системе ОДУ первого порядка надо ввести новую функцию . Тогда
(в наших обозначениях: ).
Можно написать программу на языке пакета, реализующую метод Рунге-Кутта второго порядка. Для этого метода задают точность вычислений. Вычисления будем проводить с шагом и . Проверим результаты расчета с заданной точностью. Если точность не достигнута, то в качестве шага выбираем значение и повторяем вычисления и так делаем до тех пор пока не получим заданную точность. Напомним, что при изменении шага h перерасчет производится автоматически.
Рассмотрим в качестве примера ДУ второго порядка из лабораторной работы №2: . Решение ищем на отрезке [1,2].
Сведем данное ДУ к системе ДУ первого порядка:
Зададим точность вычислений .
Как видно из листинга решения, точность результатов не достигла заданной точности и вычисления надо повторить.
Используя возможности программирования в пакете, мы можем использовать функцию mtRungeKutta как подпрограмму. В этом случае не надо будет вручную изменять переменную h, а использовать итерационный цикл в программе.
Для решения этого уравнения (системы ДУ первого порядка) можно использовать функции rkfixed, Rkadapt или Bulstoer , которые описаны в работе №2.
Разрешим данное ДУ относительно второй производной . Запишем функцию :
Реализация этого примера в MathCad приведена в лабораторной работе №2.
Задание
1. Найти точное решение ОДУ.
2. Вычислить с заданной точностью решение уравнения в точках 0.25, 0.5, 0.75, 1.
Найти решение этого уравнения (системы ДУ 1-го порядка) с использованием функций rkfixed или Rkadapt или Bulstoer.
Сравнить приближенные решения с точным решением.
Построить интегральную кривую.
Отчет оформить как файл пакета MathCad. Отчет должен содержать точное решение уравнения, таблицу значений точного и приближенного решений в заданных точках, график искомой функции. Добавить в отчет описание использованных методов.
Варианты работы № 3
.
Значения и во всех вариантах равны 0 и 1, соответственно .
-
Номер варианта
p(x)
q(x)
f(x)
A
C
1
-2
1
2
3
2
-7
12
5
1
2
3
-4
3
3
9
4
-1
0
1
1
5
-8
16
0
1
6
-8
7
14
1
0
7
0
4
8
3
4
8
0
1
1
2/3
9
-2
0
2
2
10
0
1
4
-3
11
0
-1
1
1
12
0
4
0
0
13
-4
0
0
3,5625
14
0
-4
0
3
15
1
-2
1
-1
16
-6
8
10
1
2
17
-2
2
0
1
18
-5
0
7
1
0,6
19
-3
2
0
-0,2
20
6
0
8
2
6
21
1
-2
1
2
22
-1
0
3
6
2
23
0
4
1
1
24
0
4
1
3
25
-1
-6
2
1
0
26
-8
7
14
1
5
27
0
1
1
2
28
4
4
1
2
29
0
4
2
0,75
30
0
-1
3
1,5
- Введение
- Символьная математика
- Функции
- Создание программ
- Графические возможности Mathcad
- Работа с файлами
- Решение обыкновенных дифференциальных уравнений первого порядка
- Решение обыкновенных дифференциальных уравнений n-го порядка
- Жесткие системы дифференциальных уравнений
- Численное решение задачи Коши для системы обыкновенных дифференциальных уравнений
- Работа № 4 Решение краевой задачи методом стрельбы
- Список рекомендуемой литературы