- •1) Моделирование. Физические и математические модели. Компьютерное моделирование.
- •2) Моделирование. Аналитическое и имитационное моделирование.
- •3) Этапы математического моделирования.
- •2.1.2 Формализация модели
- •6) Программная реализация математической модели
- •7) Аналитическое решение дифференциальных уравнений математической модели обобщенного электромеханического преобразователя
- •11) Решение дифференциальных уравнений математической модели обобщенного электромеханического преобразователя методом Рунге –Кутта 4-го порядка
- •4.1.2 Решение систем дифференциальных уравнений методом Рунге-Кутта
- •22 Одномерная линейная аппроксимация
- •23. Одномерная сплайн – интерполяция и аппроксимация
- •24. Выполнение регрессии
- •21. Обработка результатов эксперимента
- •Выполнение линейной регрессии
11) Решение дифференциальных уравнений математической модели обобщенного электромеханического преобразователя методом Рунге –Кутта 4-го порядка
Теперь остановимся на реализации решения дифференциального уравнения у'=f(х,у) другим хорошо известным методом — методом Рунге—Кутта. Пусть h — шаг приращения переменной х, i — индекс, имеющий значения от 1 до N (N — число интервалов решения с шагом h). Метод Рунге—Кутта четвертого порядка дает погрешность решения порядка h-4, что удовлетворяет самым придирчивым требованиям к точности численных методов. Реализация метода показана на рис. 14.49.
Для решения надо задать функцию f(х, у), шаг изменения переменной х - h, число точек решения N и начальные значения х и у. На рис. 14.49 представлены вектор начальных значений х и у, а также заданная в векторной форме система уравнений метода Рунге—Кутта. Вычисление коэффициентов формул Рунге-Кутта задано в виде функции пользователя. Решение абсолютно наглядно.
Вторая часть документа (рис. 14.50) содержит формулу точного решения, графики точного и приближенного решений и векторы решений.
Нетрудно заметить, что в пределах точности вычислений (три знака после десятичной точки) точное и приближенное решения совпадают.
Дифференциальные уравнения n-го порядка при решении приводятся к системе дифференциальных уравнений первого порядка и решаются стандартными средствами решения, входящими в большинство математических систем.
4.1.2 Решение систем дифференциальных уравнений методом Рунге-Кутта
При переходе от решения одиночных дифференциальных уравнений к решению систем дифференциальных уравнений сложность решения быстро нарастает. Уже при решении системы из двух дифференциальных уравнений значительно усложняются рекуррентные формулы, определяющие коэффициенты в формулах Рунге—Кутта. . При этом добавление каждый раз очередного уравнения увеличивает число уравнений в их векторной записи. Естественно, это увеличивает сложность решения, ведет к увеличению .числа переменных в функциях, задающих коэффициенты Ki, но принципиально не меняет реализации алгоритма вычислений.
При решении систем дифференциальных уравнений «в лоб» этот путь оказывается тупиковым из-за быстрого нарастания сложности уравнений и их частного характера.
Встроенные в «Mathcad» функции для решения систем дифференциальных уравнений обходят эти трудности, поскольку не требуют составления формул для решения систем дифференциальных уравнений и задают такое решение в общем виде. Надо, однако, учитывать, что реальные алгоритмы решения дифференциальных уравнений оказываются заметно сложнее рассмотренных. Так, широкое распространение получили адаптивные алгоритмы, в которых на каждом шаге выполняется контроль погрешности решения (функция Rkadapt в «Mathcad»). Если погрешность падает ниже заданной, шаг h уменьшается. И так до тех пор, пока погрешность не станет меньше заданной. Это заметно снижает неустойчивость решения, но одновременно увеличивает время вычислений как на каждом шаге, так и в области возможной неустойчивости решения.
Последние версии компьютерных математических систем оснащены встроенными функциями численного решения как отдельных дифференциальных уравнений, так и систем ДУ. В для решения задач такого класса введен ряд функций.
rkfixed(y,x1,x2,N,D) – матрица решений методом Рунге – Кутта системы обыкновенных дифференциальных уравнений с начальными условиями в векторе y на интервале от x1 до x2 с фиксированным числом шагов N; правые части уравнений записаны в векторе D.
Rkadapt(y,x1,x2,N,D) – матрица решений методом Рунге – Кутта (с переменным шагом) системы обыкновенных дифференциальных уравнений с начальными условиями в векторе y на интервале от x1 до x2 с фиксированным числом шагов N; правые части уравнений записаны в векторе D.
В качестве примера рассмотрим динамическую модель электрической схемы, изображенной на рисунке 2.
Электрическое равновесие в предложенной схеме определяется системой дифференциальных уравнений
