Реализация численных методов в системе МайаЬ
Реализация численных методов в системе МаНаЬ
Золотарёв Д.С.
МИЭМНИУВШЭ гоШаг. [email protected]. ги Аннотация. Дифференциальные уравнения играют огромную роль в нашей жизни. Как известно из определения производной, она является скоростью изменения функции, то есть она позволяет описывать процессы, происходящие в течение определённого времени. Такой подход используется в ряде наук, таких как физика, химия, экономика и т.д. В связи с этим ранее было получено множество методов для быстрого и качественного решения дифференциальных уравнений. В данной работе проведено исследование численных методов для решения линейных обыкновенных дифференциальных уравнений первого порядка с целью найти наилучший. Для проверки результата была использована система МайаЪ. Показано, что самым эффективным методом является метод Рунге-Кутта 4 порядка.
Ключевые слова: Дифференциальные уравнений, численные методы.
1 Введение
Существуют два основных класса решения дифференциальных уравнений: численный и численно-аналитический. Численно-аналитическое решение заключается в нахождении зависимостей переменных от времени в виде математических формул. Оно даёт самое точное решение дифференциальных уравнений в отличие от численных методов, но они имеют два основных недостатка. Первый - это трудности алгоритмизации и программирования, возникающие при математическом расчёте. Второй - некоторое число дифференциальных уравнений, используемых при моделировании, не имеет аналитического решения.
Всё вышесказанное приводит к необходимости изучения и применения численных методов, которые используются в прикладных ПО [Востриков и др., 2012] так как они более просты в использовании. Существуют явные и неявные методы. Явные методы редко используется, так как для увеличения точности нужно сделать очень много шагов, что может занимать значительную часть времени, поэтому чаще используются неявные методы. Суть всех численных методов состоит в многократном повторении действий. Поэтому алгоритмы таких методов требуют большое число однообразных вычислений.
В данной работе проведено исследование следующих методов: метод Эйлера (явный и неявный), метод трапеций и метод Рунге-Кутта 4 порядка [Чуа и др., 1980].
2 Основные обозначения и формулы
Пусть задано дифференциальное уравнение с начальным условием:
Новые информационные технологии в автоматизированных системах 2015
%-=Ях,у),№ = » (1)
ах
Ниже приведены основные формулы решения каждым методом:
-явный метод Эйлера
ун +1 = у< + Н * /О, у!) (2)
-неявный метод Эйлера
_уг +1 = + А * /(ДЙ +1, )П +1) (3)
-метод трапеций
к
у1 + 1 = у1 + -* (/(х,, у/) + /(» + 1, + 1» (4)
-метод Рунге-Кутта 4 порядка
^ + 1 = у1 + -*(ко + 2*Ь + 2*к2 + кз) 6
Ь = + + (5)
А £1
к2 = к*/(я+ -,)* + —)
къ = к* / (Лл- + А, +
Как мы видим, все формулы похожи и объединяет их переменная И, которая называется шагом интегрирования. Именно от неё зависит точность решения каждого метода: при уменьшении Ь увеличивается как точность решения, так и время работы метода и, наоборот, при увеличении Ь уменьшается точность и увеличивается время работы.
3 Проведение анализа
Для проведения сравнительного анализа методов была использована система МайаЬ, так как в ней уже реализованы такие методы, как метод трапеций и Рунге-Кутта 4 порядка, что упрощает работу. Также данная система легка в использовании и даёт удобный вывод результата (показано время и изменение величины в течение этого времени).
Численные методы были протестированы по 2 критериям: время работы и точность полученного результата. Исследование проводилось для уравнения:
^ = х+2*у (6)
¿¿с
Для проверки точности решения было получено его аналитическое решение:
-ф:) = 1*(_2*х+5*е5х~1) (7)
Проверялись решения на интервалах времени 0.5 секунд, 1 секунда и 2 секунды. Результаты представлены в таблице 1.
Таблица 1. Результаты решения уравнения.
Реализация численных методов в системе Matlab
Время\метод Эйлера (явный) Эйлера (неявный) трапеций Рунге-Кутта (4 порядок) точный результат
0.5 с. 2.8729 2.9412 2.9016 2.8979 2.89785
1 с. 8.3370 8.7082 8.5216 8.4863 8.48632
2 с. 64.6135 70.1007 67.5278 66.9980 66.99768
4 Заключение
По данным таблицы, учитывая тот факт, что Matlab округляет до четвёртого знака после запятой, очевидно, что самым лучшим методом для решения линейных однородных дифференциальных уравнений первого порядка является метод Рунге-Кутта 4 порядка. Он отличается немного от точного значения (на 0.00032 при t=2 е.), а самый худший метод - это неявный метод Эйлера. При своей достаточно простой реализации он отличается от точного значения на 0.04335 (при t=0.5ceK.) и на 3.10302 (при t=2ceK.). Время выполнения расчетов каждого метода приблизительно одинаково.
Список литературы
[Востриков и др., 2012] Востриков А. В., Абрамешин А. Е. Тестирование коммерческого программного обеспечения для моделирования и анализа эквивалентных электрических схем космических аппаратов // Технологии электромагнитной совместимости. 2012. № 1. С. 25-28.
[Чуа и др., 1980] Чуа JI. О., Лин Пен-Мин. Машинный анализ электронных схем: Алгоритмы и вычислительные методы./ Москва "Энергия" - 1980. Стр. 394-400.