Область применения метода Гаусса к решению прикладных задач. Разработка программы "Решение задач методом Гаусса"

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

разовывать второй столбец с третьего элемента, третий столбец - с четвертого и т.д., то в результате будет получена матрица (4).

Заметим, что если в матрице (3) на главной диагонали встретиться элемент , равный нулю, то расчет коэффициента

 

 

для к-й строки будет невозможен. Избежать деления на ноль можно, избавившись от нулевых элементов на главной диагонали. Для этого перед обнулением элементов в к-м столбце необходимо найти в нем максимальный по модулю элемент, запомнить номер строки, в которой он находиться, и поменять ее местами с к-й.

В результате выполнения прямого метода Гаусса матрица (3) преобразуется в матрицу (4), а система уравнений (2) будет иметь следующий вид:

 

(5)

Решение системы (5) называют обратным ходом метода Гаусса.

Последнее n-е уравнение системы (5) имеет вид:

 

.

 

Тогда, если , то

 

.

 

В случае, если и ,

то система (5), а следовательно и система (2) имеет бесконечное множество решений.

При и

система (5) , а значит, и система (2) решения не имеет.

Предпоследнее (n-1)-е уравнение системы (5) имеет вид:

 

.

 

Значит

 

 

Следующее (n-2)-е уравнение системы будет выглядеть так:

 

.

Отсюда имеем

 

 

или

 

 

Таким образом, формула для вычисления i-го значения x будет иметь вид:

 

 

Вычисление обратной матрицы методом Гаусса.

Один из методов вычисления обратной матрицы основан на решении систем линейных алгебраических уравнений. Пусть задана некоторая матрица А:

 

(6)

Необходимо найти матрицу , которая является обратной к матрице А:

 

(7)

 

Матрица (7) будет обратной к матрице (6) , если выполняется соотношение

 

,

 

где Е - это единичная матрица, или более подробно:

 

(8)

 

Результат перемножения матриц из соотношения (8) можно представить поэлементно в виде n-го числа систем линейных уравнений. Умножение матрицы (6) на первый столбец матрицы (7) даст первый столбец единичной матрицы:

 

.

Система полученная в результате умножения матрицы на i-й столбец матрицы (7) , будет выглядеть следующим образом:

 

 

Понятно, что n-я система будет иметь вид:

 

 

Решением каждой из приведенной выше систем будет i-й столбец обратной матрицы. Количество систем равно размерности обратной матрицы. Для решения систем линейных алгебраических уравнений можно воспользоваться методом Гаусса.

 

Вычисление определителя методом Гаусса

 

Пусть задана матрица (3), необходимо вычислить ее определитель. Для этого матрицу необходимо преобразовать к треугольному виду (4) , а затем воспользоваться свойством, известным из курса линейной алгебры, которое гласит, что определитель треугольной матрицы равен произведению ее диагональных элементов:

.

 

Преобразование матрицы (3) к виду (4) можно осуществить с помощью прямого хода Гаусса.

Алгоритм вычисления определителя матрицы, представляет собой алгоритм прямого хода метода Гаусса, в процессе выполнения которого проводиться перестановка строк матрицы. Эта операция приводит к смене знака

Практическая часть

 

Декомпозиция задачи

 

Декомпозиция задачи представлена на рисунке 2.1.1

 

Рисунок 2.1.1 - Декомпозиция задачи

 

МЕНЮ ОПЕРАЦИЙ 1.Решить систему линейных уравнений методом Гаусса. 2.Найти обратную матрицу. 3.Вычислить определитель матрицы. 4.Выход.

Схема взаимодействия интерфейсных форм

 

Интерфейсные формы схематически представлены на рисунках 2.2.1-2.2.4

Рисунок 2.2.1 - Схематическое изображение формы Меню операций

Введите количество переменных ___ Введите матрицу коэффициентов Введите вектор свободных членов

РЕШИТЬ Вектор свободных членов

Рисунок 2.2.2 - Схематическое изображение формы 1

Введите количество переменных ___ Введите квадратную матрицу

НАЙТИ Обратная матрица

Рисунок 2.2.3 - Схематическое изображение формы 2

Введите строк и столбцов ___ Введите квадратную матрицу

НАЙТИ Определитель матрицы равен __

Взаимодействие представленных выше интерфейсных форм описано в виде диаграммы переходов состояний интерфейса программы (рисунок 2.2.5).

 

Рисунок 2.2.5 - Диаграмма переходов состояний интерфейса программы

 

Схема взаимодействия модулей

 

Программа состоит из двух модулей:

Модуль интерфейса,

Модуль решения СЛАУ методом Гаусса.

Модуль решения СЛАУ методом Гаусса состоит из трех процедур:

Процедура нахождения СЛАУ методом Гаусса

Процедура нахождения обратной матрицы методом Гаусса

Процедура нахождения определителя методом Гаусса

Схема взаимодействия модулей представлена на рисунке 2.3.1

 

Рисунок 2.3.1 - Схема взаимодействия процедур модуля

 

Описание процедур и функций

 

Описание процедур и функций программы, приведенное в таблице 2.4.1, включает название процедуры, входные и выходные параметры и назначение процедуры.

 

Таблица 2.4.1 - Описание процедур и функций

Название процедурыВходные параметрыВыходные параметрыНазначение процедурыProcedure Gauss (a:matrica; b:massiv; n:integer; var x:massiv; var pr:byte)a-матрица коэффициентов при неизвестных b-вектор свободных членов n-размернос