Модифицированный метод Гаусса




Как типичный пример решения систем линейных дифференциальных уравнений, рассмотрим систему четырех линейных алгебраических уравнений.

Для решения системы четырех линейных алгебраических уравнений с четырьмя неизвестными модифицированным методом Гаусса необходимо

 

Составить систему: (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) и разрешив эти уравнения относительно соответствующей переменной.

ОПИСАНИЕ АЛГОРИТМА

Программа начинается с вывода сообщения о программе. После происходит считывание необходимых исходных данных из файла, для дальнейшей работоспособности алгоритма, а именно – начальных условий и матрицы коэффициентов системы линейных дифференциальных уравнений первого рода, начального шага интегрирования, левого и правого условий Рунге, время интегрирования по трех шаговому методу прогноза и коррекции, время интегрирования по пяти точечному методу Адамса-Башфорта.

С помощью метода Эйлера находим дополнительные начальные условия. Решение систем линейных дифференциальных уравнений мы описываем отдельной процедурой, что облегчает дальнейшую алгоритмизацию.

Далее составляем цикл, для реализации алгоритма нахождения всех Yk+1 точек на заданном малом промежутке времени, и проверкой на условия Рунге, по трех шаговому методу прогноза и коррекции с авто подбором шага. После чего мы организовываем цикл, реализующий алгоритм нахождения точек по методу Адамса-Башфота, на заданном большом промежутке времени и с шагом автоматически подобранным предыдущим методом.

Вычисленные данные записываем файл, по ним формируем массив данных, которые выводим в сответствии с масштабированием на экран в виде графиков.

Блок-схема приведена в Приложении 1.

ОПИСАНИЕ ПРОГРАММЫ

Программа реализующая универсальный алгоритм для решения систем линейных дифференциальных уравнений первого порядка произвольного вида, - построена по принципам объектно-ориентированного программирования.Основная программа построена на объектной библиотеке 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 под защищенный режим работы процессора и имеет доступ ко всей оперативной памяти компьютера. Реализует гибкий интерфейс, облегчающим работу с программным обеспечением. Позволяет решить систему линейных дифференциальных уравнений первого порядка методом Адамса-Башфорта, с возможность просмотра результатов вычисления в виде графиков.

Как показали тестовые программы – разработанный алгоритм предоставляет точность вычислений, погрешность которых не превышает 1%.

Тексты программной оболочки PrandCo M version 2.41 приведены в приложении 4.

ПРИМЕРЫРАСЧЕТОВ

Для анализа достоверности получаемых результатов рассмотрим следующие примеры:



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-07-29 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: