- •Основы математического моделирования
- •Содержательные математические модели
- •Классификация содержательных моделей
- •Формальные математические модели
- •Законы сохранения
- •Вариационные принципы
- •Элементы теории размерностей
- •Контрольные вопросы
- •Основы работы с системой Maxima
- •Установка и запуск системы Maxima
- •Графический интерфейс wxMaxima
- •Справочная информация в wxMaxima
- •Сохранение данных и управление wxMaxima
- •Система компьютерной математики Maxima
- •Основные возможности системы Maxima
- •Скалярные выражения
- •Векторные и матричные выражения
- •Функции и управляющие структуры
- •Контрольные вопросы
- •Элементы вычислительной математики
- •Основы теории погрешностей
- •Абсолютная и относительная погрешности
- •Погрешности основных операций
- •Численное решение нелинейных уравнений
- •Локализация корней уравнения
- •Метод бисекции
- •Метод простой итерации
- •Метод касательных
- •Методы численного интегрирования
- •Метод прямоугольников
- •Метод трапеций
- •Метод парабол
- •Численное решение задачи Коши
- •Метод Эйлера
- •Метод Эйлера–Коши
- •Методы Рунге–Кутты
- •Контрольные вопросы
- •Моделирование в приложениях
- •Падение тела с учётом сопротивления воздуха
- •Колебания маятника с учётом силы трения
- •Полёт тела с учётом сопротивления воздуха
- •Листинги программ
50 |
3. Элементы вычислительной математики |
Рис. 3.7. Аппроксимация решения задачи Коши ломаными Эйлера–Коши
на отрезке [0, |
8 ] |
с шагами сеток |
1 = 2 |
, |
2 = 1 |
и |
3 = 1 |
|
5 |
5 |
5 |
|
10 |
||||
3.4.3. Методы Рунге–Кутты
Основная идея методов Рунге–Кутты состоит в построении разностной схемы таким образом, чтобы приращение функции на текущем шаге = − −1 совпадало с приращением, определяемым рядом Тейлора (3.17) с учётом как можно большего числа его членов. При этом для определения старших производных используются их конечно-разностные аналоги в некоторых специально подобранных точках, лежащих на отрезке [ −1, ]. Методы Рунге–Кут- ты позволяют строить конечно-разностные схемы различных порядков точности. Одной из наиболее распространённых является явная четырёхстадийная конечно-разностная схема четвёртого порядка точности, определяемая формулами:
|
|
|
|
= −1 + · |
1 + 2 2 + 2 3 |
+ 4 |
, |
(3.21) |
||||||||||||
|
|
|
|
|
|
|
|
6 |
|
|
|
|||||||||
где 1 |
= ( |
− |
1, |
− |
1); 2 |
= ( |
− |
1 |
+ , |
− |
1 |
+ 1 ); 3 |
= ( |
− |
1 + |
|||||
+ , |
|
1 + 2 |
|
|
|
|
|
|
|
2 |
|
|
2 |
|
|
|||||
− |
); 4 = ( |
− |
1 + , |
− |
1 + 3 ). |
|
|
|
|
|
||||||||||
2 |
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
3.4. Численное решение задачи Коши |
51 |
Пример 3.10. Решить задачу Коши для обыкновенного дифферен-
циального уравнения ′ = − с начальным условием (0) = 1 , |
|
|
2 |
используя методы Эйлера, Эйлера–Коши и Рунге–Кутты на отрез- |
|
ке [0, 8 ] для равномерной сетки с шагом = |
1 , и сопоставить |
5 |
5 |
полученные аппроксимации с точным решением. |
|
Программа, обеспечивающая решение поставленной задачи, в основном аналогична программе из предыдущего примера. Для генерирования списка координат сеточных функций по методу Рунге– Кутты в листинге 3.10 : (%i6)–(%o7) используется функция «rk()», загружаемая из библиотеки «dynamics». Аргументами данной функции являются: а) правая часть интегрируемого дифференциального уравнения «f(x,y)»; б-в) обозначение искомой функции «y» и её начальное значение «ya»; г) обозначение независимой переменной и данные для построения сетки «[x,a,b,h]».
Листинг 3.10 Решение задачи Коши методом Рунге–Кутты
(%i1) a:0$ b:1.6$ ya:0.5$
h:[0.4,0.2,0.1]$
f(x,y):=y-x;
(%o5) ( , ) := −
(%i6) load(dynamics)$
dots1:rk(f(x,y),y,ya,[x,a,b,h[1]]);
dots2:rk(f(x,y),y,ya,[x,a,b,h[2]])$
dots3:rk(f(x,y),y,ya,[x,a,b,h[3]])$
(%o7) [[0.0,0.5],[0.4,0.654133],[0.8,0.687366],[1.2,0.540247],[1.6,0.124090]] (%i10) ode2(’diff(y,x)=f(x,y),y,x);
ic1(%,x=a,y=ya);
(%o10) = (% − (− − 1)% − )%
rat: replaced -0.5 by -1/2 = -0.5
(%o11) = −% −22 − 2
На рис.3.8 показана аппроксимация решения задачи Коши лома-
ными Рунге–Кутты на отрезке [0, 8 |
] на регулярных сетках при |
|||||
|
|
|
5 |
|
||
1 |
= 2 |
, 2 = 1 |
и 3 = |
1 |
. Чёрная утолщённая линия соответствует |
|
|
||||||
|
5 |
5 |
10 |
|
|
|
графику точного частного решения = − + + 1, красные сплош-
2
ные линии –– аппроксимирующим ломаным, а красные символы «∙»
