Курсовая работа: Разработка программы поиска решения системы дифференциальных уравнений двумя методами: Рунге-Кутта и Рунге-Кутта-Мерсона
В курсовой работе в соответствии с заданием на проектирование решается задача разработки программы поиска решения системы дифференциальных уравнений двумя методами: Рунге-Кутта и Рунге-Кутта-Мерсона.
В данной пояснительной записке проводится описание последовательности шагов по составлению программы на алгоритмическом языке Turbo Pascal. Рассматриваются вопросы математической формулировки и алгоритмизации задачи, разработки блок-схемы алгоритма её решения, составления исходной Pascal-программы и реализации вычислений по составленной программе.
Выбор метода вычисления, обращение к справке по программе и выход из программы обеспечивается с помощью специального меню. Ввод исходных данных и вывод результатов вычисления выполняется в отдельном для каждого метода вычислений окне.
В пояснительной записке приводится также сравнения точности вычислений корней системы уравнений использованными методами.
1. Постановка задачи
Ставится задача составить программу решения системы дифференциальных уравнений:
(1)
Требуется найти решение системы дифференциальных уравнений (1) методом Рунге-Кутта и методом Рунге-Кутта-Мерсона. Выбор метода решения посредствам меню, при помощи клавиш управления курсором.
Таким образом, программа должна обеспечивать возможность:
выбора пользователем численного метода поиска решения системы дифференциальных уравнений;
предоставить пользователю возможность получить краткую справку о программе;
вывода результатов вычисления на дисплей в удобном для восприятия виде.
В результате сформулируем следующую задачу по созданию программы:
вид системы дифференциальных уравнений должен задаваться в подпрограмме – процедуре;
вид правой части уравнений должен задаваться в подпрограмме – функции;
программа после загрузки должна выводить на дисплей исходное окно-заставку, в которой отображаются общие сведения о статусе программы и её авторе;
после выполнения указанной в строке подсказки процедуры перехода должно выводиться вертикальное меню с пунктами: «Справка», «Метод Рунге-Кутта», «Метод Рунге-Кутта-Мерсона» и «Выход»
при выборе в меню пункта «Справка» должна выводиться краткая справка о назначении программы;
после выбора в меню варианта численного метода должно открываться отдельное окно, в котором будут вводиться начальные условия и выводиться результат поиска выбранным методом;
при выборе пункта меню «Выход» программы должна завершать работу.
2. Математическая формулировка задачи
Задача Коши заключается в решении систем обыкновенных дифференциальных уравнений (1) первого порядка, представляемых в виде:
(1.1)
Где j =1 N -номер каждой зависимой переменной yj , x -независимая переменная .
Решение системы (1.1) при заданных начальных условиях x = x 0 , y 1 ( x 0 )= y 10 ,…, y 2 ( x 0 )= y 20 , yN ( x 0 )= yN 0 сводиться к нахождению зависимостей (интегральных кривых) y 1 ( x ),…, y 2 ( x ), yN ( x ), проходящих через точки ( x 0 , y 10 ), ( x 0 , y 20 ),…, ( x 0 , yN 0 ). Задача Коши сводиться к интегрированию дифференциальных уравнений. Порядок метода численного интегрирования при этом определяется и порядок метода решения (1).
2.1 Метод Рунге-Кутта
Этот метод является наиболее распространенным методом решения систем (1.1) при шаге h = const . Его достоинством является высокая точность-погрешность - и меньшая склонность к возникновению неустойчивости решения. Алгоритм реализации метода заключается в циклических вычислениях Yj ( i +1) на каждом i+1 шаге по следующим формулам:
(2)
(3)
(4)
(5)
(6)
--> ЧИТАТЬ ПОЛНОСТЬЮ <--