Курсовая работа: Решение систем линейных дифференциальных уравнений пятиточечным методом Адамса Башфорта
где
A =
Заданная матрица размером NxN ; - вектор с N координатами , который подлежит определению . В связи с тем , что связь между искомыми неизвестными определяется матрицей коэффициентов A , на каждом шаге по времени , необходимо решить систему относительно неизвестных скоростей , для её решения воспользуемся модифицированным методом Гаусса , который описан в разделе 2.2 .
Далее, интегрируя сначала ранее описанными методами : методом Эйлера на первом шаге , трех точечным методом прогноза и коррекции с авто подбором шага , на малом промежутке времени и с малым начальным шагом , для повышения точности стартующих методов на оставшемся промежутке времени производим интегрирование с постоянным шагом – пяти точечным методом прогноза и коррекции Адамса-Башфорта (2.1.13) , [2] , [3] .
2.2 Модифицированный метод Гаусса
Как типичный пример решения систем линейных дифференциальных уравнений , рассмотрим систему четырех линейных алгебраических уравнений .
Для решения системы четырех линейных алгебраических уравнений с четырьмя неизвестными модифицированным методом Гаусса необходимо
Составить систему : (2.2.1)
1) Каждое уравнение делиться на коэффициент при X1
2) Теперь образуем нули в первом столбце матрицы системы : вычитаем 2-ое
из 1-ого , 3-е из 2-ого , 4-ое из 3-его :
(2.2.2)
3) Повторив еще раз эти операции получим систему двух уравнений с двумя неизвестными , решение которой можно получить по формулам Крамера :
(2.2.3)
Решение же X1 и X2 можно получить , подставив в какое-либо из уравнений систем (2.2.1) и (2.2.2) и разрешив эти уравнения относительно соответствующей переменной .
3. ОПИСАНИЕ АЛГОРИТМА
Программа начинается с вывода сообщения о программе . После происходит считывание необходимых исходных данных из файла , для дальнейшей работоспособности алгоритма , а именно – начальных условий и матрицы коэффициентов системы линейных дифференциальных уравнений первого рода , начального шага интегрирования , левого и правого условий Рунге , время интегрирования по трех шаговому методу прогноза и коррекции , время интегрирования по пяти точечному методу Адамса-Башфорта .
С помощью метода Эйлера находим дополнительные начальные условия. Решение систем линейных дифференциальных уравнений мы описываем отдельной процедурой , что облегчает дальнейшую алгоритмизацию .
Далее составляем цикл , для реализации алгоритма нахождения всех Yk+1 точек на заданном малом промежутке времени , и проверкой на условия Рунге , по трех шаговому методу прогноза и коррекции с авто подбором шага . После чего мы организовываем цикл , реализующий алгоритм нахождения точек по методу Адамса-Башфота , на заданном большом промежутке времени и с шагом автоматически подобранным предыдущим методом .
Вычисленные данные записываем файл , по ним формируем массив данных , которые выводим в сответствии с масштабированием на экран в виде графиков .
Блок-схема приведена в Приложении 1 .
4.ОПИСАНИЕ ПРОГРАММЫ
Программа реализующая универсальный алгоритм для решения систем линейных дифференциальных уравнений первого порядка произвольного вида , - построена по принципам объектно-ориентированного программирования .Основная программа построена на объектной библиотеке VFH , реализующей возможности реализации гибкого интерфейса между программой и пользователем .
Основная программа включает в себя только один модуль PACM , и использует всего два метода объекта TApplPandC , - метод Application - рабочий цикл программы ; деструктор Done – реализует разрушение таблицы виртуальных методов , и операций , связанных с завершением программы .
Модуль PACM включает в себя модули библиотек - реализующих построение интерфейса . Модуль реализующий алгоритм метода Адамса-Башфорта , и по вычесленным данным строящий график , есть – PACMBtn .
Главным родителем всех объектов есть объект – Tobject . Основным рабочим объектом библиотеки VFH есть объект Tform . Рассмотрим потомка являющегося типичным представителем родителя TForm - TApplPandC . Он имеет два виртуалых метода : MouseHandler : Boolean Б – выходным параметром которого есть признак закрытия формы , и метод FormCreate - реализующий построение интерфейса формы . Не виртуальный метод Application - предназначен для создания формы , конфигурирования программной среды , и дальнейшего управления программой .
Модуль реализующий создание и управления главного и субменю , есть – PACMMenu , позволяющий пользователю изменять параметры и настройки системы , предоставляющий справку о разработчике , а также дает доступ к справочной системе PrandCo M Help System . Данные свойства меню реализуют объекты TMenu , и THelpForm , объектной библиотеки VFH .
Теперь рассмотрим модуль PACMBtn – рреализующий алгоритм построения вычисленных данных . Процедура реализующая алгоритм пяти точечного метода прогноза и коррекции Адамса-Башфорта , - MethodAdamsaBashforta ( h,tp,ta : real ; NU : array[1..N] of real ) – параметры которой представляют : h - начальный шаг интегрирования ; tp – время интегрирования трех точечным методом прогноза и коррекции , ta – время интегрирования по методу Адамса-Башфорта , NU – массив начальных условий . Данная процедура способна производить решения систем линейных дифференциальных уравнений произвольного размера , на произвольном промежутке времени интегрирования . Вычисленные данные записываются в файлы prandcom*.df . Метод реализующий алгоритм построения вычисленных данных произвольной степени сложности , с возможностью построения графиков с не линейно изменяющимся шагом , построения одновременно любого количества графиков , - есть объект TCartFile , обладающего всеми свойствами родителей Tform , Tchart .
К заключению стоит заметить , что программа PrandCo M version 2.41 - разработана на языке Borland Pascal под защищенный режим работы процессора и имеет доступ ко всей оперативной памяти компьютера . Реализует гибкий интерфейс , облегчающим работу с программным обеспечением . Позволяет решить систему линейных дифференциальных уравнений первого порядка методом Адамса-Башфорта , с возможность просмотра результатов вычисления в виде графиков .