Введение 5
1 Обзор существующих численных методов решения дифференциальных
уравнений 8
1.1 Общие понятия систем дифференциальных уравнений и постановка
задачи на исследование 8
1.2 Обзор основных численных методов решения систем
дифференциальных уравнений 11
1.2.1 Метод Эйлера 11
1.2.2 Метод Рунге-Кутты 15
2 Реализация численных методов решения систем дифференциальных
уравнений в системе MATLAB 19
2.1 Структура приложения 20
2.2 Подготовка основы программы для реализации методов 22
2.3 Реализация метода Эйлера 26
2.4 Реализация метода Рунге-Кутты 4-го порядка 29
3 Тестирование и анализ полученных результатов 32
3.1 Проведение эксперимента 32
3.2 Результаты эксперимента 39
Заключение 41
Список используемых источников 42
Приложение А Исходный код разработанного программного обеспечения . 45
«Математика как наука возникла в связи для необходимости решения практических задач: измерений на местности, навигации и т.д. Вследствие этого математика была численной математикой, ее целью было получение решения в виде числа.
Численное решение прикладных задач всегда интересовало математиков. Крупнейшие представители прошлого объединяли в своих исследованиях изучения явлений природы, получение их математического описания, как иногда говорят, математической модели явления, и его исследование. Анализ усложненных моделей потребовал создания специальных, как правило, численных методов решения задач. Названия некоторых из таких методов - методы Ньютона, Эйлера, Лобачевского, Гаусса, Зейделя, Чебышева, Эрмита, Крылова, Рунге, Кутта - свидетельствуют о том, что их разработкой занимались крупнейшие ученые своего времени» [14].
«Прогресс в развитии численных методов способствовал постоянному расширению области применения математики в других научных дисциплинах и прикладных разработках, из которых, в свою очередь, поступали запросы на решение новых задач, стимулируя дальнейшее развитие вычислительной математики. Метод математического моделирования, основанный на построении и изучении математических моделей различных объектов, процессов и явлений и получении информации о них из решения математических задач, связанных с этими моделями, стал одним из основных методов исследований в так называемых точных науках» [7].
«При математическом моделировании ряда технических устройств используются системы дифференциальных уравнений. Такие модели используются не только в технике, они находят применение в экономике, химии, биологии, медицине, управлении. Исследование функционирования подобных устройств требуют решения, обозначенных выше, систем
уравнений. Поскольку основная часть таких уравнений являются линейными и нестационарными, часто невозможно получить их аналитическое решение. Возникает необходимость использовать численные методы» [16].
Актуальность данной работы заключается в том, что системы линейных дифференциальных уравнений имеют аналитически сложное решение, и составление программы, реализующей их численное решение, облегчило бы эту задачу.
Объектом исследования в данной работе являются численные методы решения систем дифференциальных уравнений.
Предмет исследования - алгоритмы численных методов, реализованные на выбранном языке программирования.
Целью работы является исследование численных методов решения систем дифференциальных уравнений.
Для достижения поставленной цели в рамках выпускной квалификационной работы необходимо решить следующие задачи:
- провести анализ численных методов решения систем дифференциальных уравнений;
- реализовать некоторые из имеющихся численных методов;
- провести тестирование и анализ полученных результатов;
- провести сравнение выбранных численных методов исходя из полученных результатов.
Бакалаврская работа состоит из введения, трех разделов и заключения.
В первом разделе обозреваются существующие численные методы решения систем дифференциальных уравнений. Приведены основные понятия в данной области, актуальность численных методов.
Во втором разделе представлена разработка приложения решения систем дифференциальных уравнений численными методами на выбранном языке программирования.
Третий раздел посвящается тестированию приложения и сравнительному анализу результатов, полученных при помощи реализованных алгоритмов.
В ходе данной работы был проведен анализ численных методов решения систем дифференциальных уравнений. В результате выяснялось, что наиболее удобные из предложенных методов, это метод Эйлера и Рунге- Кутты 4-го порядка. Таким образом было решено написать приложение, в котором будут реализованы эти два метода. Для написания данного приложения был выбран язык MATLAB.
Также были выполнены поставленные задачи:
- анализ численных методов;
- выбор методов для реализации приложения;
- выбор языка программирования;
- реализация приложения;
- тестирование разработанного приложения;
- проведение экспериментов и анализ полученных результатов.
Благодаря разработанному приложению было проведено исследование. Результатом исследования стало заключение о том, что метод Эйлера имеет более простую реализацию при меньшей точности, а метод Рунге-Кутты 4-го порядка большую точность при более сложной реализации.