Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Комп методы ММ кр1 3 сем ред. 15-11-2014 - Напрасников Владимир Владимирович.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2 Мб
Скачать
☆

Задание № 2

Решить систему уравнений с тремя неизвестными методом Гаусса-Жордана

Составить функции, реализующие метод, проверить решение с помощью встроенных функций MathCAD.

Теоретические сведения Метод Гаусса (метод последовательного исключения неизвестных)

Пусть дана система m линейных уравнений с n неизвестными . Требуется найти ее общее решение, если она совместна, или установить ее несовместность. Выпишем расширенную матрицу системы

Назовем элементарными операциями следующие действия с матрицами:

  1. перестановка строк;

  2. умножение строки на число, отличное от нуля;

  3. сложение строки с другой строкой, умноженной на число.

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

Легко проверить, что если по матрице, полученной из A* выполнением элементарной операции, восстановить систему уравнений, то новая система будет равносильна исходной.

Цель алгоритма – с помощью применения последовательности элементарных операций к матрице A* добиться, чтобы каждая строка, кроме, быть может, первой, начиналась с нулей, и число нулей до первого ненулевого элемента в каждой следующей строке было больше, чем в предыдущей.

Шаг алгоритма заключается в следующем. Находим первый ненулевой столбец в матрице A*. Пусть это будет столбец с номером i. Находим в нем ненулевой элемент и строку с этим элементом меняем местами с первой строкой. Чтобы не нагромождать дополнительных обозначений, будем считать, что такая смена строк в матрице A* уже произведена, то есть . Тогда ко второй строке прибавим первую, умноженную на число , к третьей строке прибавим первую, умноженную на число , и т.д. В результате получим матрицу

(Первые нулевые столбцы, как правило, отсутствуют.)

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

Этому уравнению не удовлетворяет ни один набор чисел .

Матрицу можно записать в виде:

,

где

.

По отношению к матрице выполняем описанный шаг алгоритма. Получаем матрицу

,

где ,. Эту матрицу снова можно записать в виде

,

и к матрице C* снова применим описанный выше шаг алгоритма.

Процесс останавливается, если после выполнения очередного шага новая уменьшенная матрица состоит из одних нулей или если исчерпаны все строки. Заметим, что заключение о несовместности системы могло остановить процесс и ранее.

Если бы мы не уменьшали матрицу, то в итоге пришли бы к матрице вида

.

Далее выполняется так называемый обратный ход метода Гаусса. По матрице составляем систему уравнений. В левой части оставляем неизвестные с номерами, соответствующими первым ненулевым элементам в каждой строке, то есть . Заметим, что ранг равен рангу . Остальные неизвестные переносим в правую часть. Считая неизвестные в правой части некоторыми фиксированными величинами, несложно выразить через них неизвестные левой части.

Теперь, придавая неизвестным в правой части произвольные значения и вычисляя значения переменных левой части, мы будем находить различные решения исходной системы . Чтобы записать общее решение, нужно неизвестные в правой части обозначить в каком-либо порядке буквами , включая и те неизвестные, которые явно не выписаны в правой части из-за нулевых коэффициентов, и тогда столбец неизвестных можно записать в виде столбца, где каждый элемент будет линейной комбинацией произвольных величин (в частности, просто произвольной величиной Ck). Эта запись и будет общим решением системы. Здесь .

Если система была однородной, то получим общее решение однородной системы. Коэффициенты при C1, взятые в каждом элементе столбца общего решения, составят первое решение из фундаментальной системы решений, коэффициенты при C2 – второе решение и т.д.

Фундаментальную систему решений однородной системы можно получить и другим способом. Для этого одной переменной, перенесенной в правую часть, нужно присвоить значение 1, а остальным – нули. Вычислив значения переменных в левой части, получим одно решение из фундаментальной системы. Присвоив другой переменной в правой части значение 1, а остальным – нули, получим второе решение из фундаментальной системы и так далее.

Задача 2.1

Решим данную систему уравнений средствами MathCAD:

Записываем матрицу левой части и вектор правой части системы уравнений.

Получаем решение системы линейных уравнений, используя встроенную функцию MathCAD.

Просматриваем результаты решения системы уравнений.

А теперь напишем функции реализующие решение системы уравнений методом Гаусса-Жордана:

Функция перестановки i- й и i +1-й строк матрицы:

С – входная матрица,

i – номер строки для перестановки.

Следующая функция формирует расширенную матрицу системы С, которая является результатом склеивания матриц A и B, и приводит матрицу С к ступенчатой форме.

Следующая функция осуществляет обратный ход метода Гаусса после приведения матрицы С к ступенчатой форме.

Теперь вызываем нашу реализацию метода Гаусса.

Просматриваем результаты решения системы уравнений.

Как видим результаты вычислений встроенными средствами MathCAD и результаты, полученные на основе представленной реализации метода Гаусса-Жордана, совпали.

Задача 2.2

Приведем решение тестового примера для системы линейных алгебраических уравнений с четырьмя неизвестными, представленного в [1].

Решение совпало с приведенным в [1].