Windows 7, XP

Методом жордана гаусса найти общее решение системы. Метод гаусса онлайн

Методом жордана гаусса найти общее решение системы. Метод гаусса онлайн

метод Гаусса–Жордана - один из наиболее известных и широко применяемых методов решения систем линейных уравнений. Матричный метод и метод Крамера обладают тем недостатком, что они не дают ответа в том случае, когда detA = 0, а определяют лишь единственное решение при detA неравном 0. Еще одним недостатком является то, что объем математических вычислений в рамках этих методов резко возрастает с ростом числа уравнений. Метод Гаусса практически свободен от этих недостатков.

Алгоритм метода Гаусса

  1. На основании системы линейных уравнений составляем расширенную матрицу системы;
  2. Приводим матрицу к "треугольному" виду;
  3. Определяем ранги основной и расширенной матриц, и на основании этого делаем вывод о совместности системы и количестве допустимых решений;
  4. В случае, если система имеет единственное решение производим обратную подстановку и находим его, если система имеет множество решений: выражаем базисные переменные через переменные которые могут принимать произвольные значения;
Комментарий к шагу 2 Метода Гаусса. Треугольной называют матрицу, в которой все элементы расположенные ниже главной диагонали равны нулю.

Для приведения исходной расширенной матрицы к треугольному виду используем следующие два свойства определителей:

Свойство 1. Определитель не изменит свое значение, если ко всем элементам какой-либо строки (столбца) матрицы прибавить соответствующие элементы параллельной строки (столбца), умноженные на произвольное одно и то же число.

Свойство 2. При перестановке двух любых столбцов или строк матрицы ее определитель меняет знак на противоположный, а абсолютная величина определителя остается неизменной.

На основании этих свойств определителей составим алгоритм преобразования матрицы к треугольному виду:

  1. Рассматриваем строку i(начиная с первой). Если, элемент a i i равен нулю, меняем местами i-ю и i+1-ю строки матрицы. Знак определителя при этом изменится на противоположный. Если a 1 1 отличен от нуля - переходим к следующему шагу;
  2. Для каждой строки j, ниже i-й находим значение коэффициента K j =a j i /a i i ;
  3. Пересчитываем элементы всех строк j, расположенных ниже текущей строки i, с использованием соответствующих коэффициентов по формуле: a j k нов.=a j k -K j *a i k ; После чего, возвращаемся к первому шагу алгоритма и рассматриваем следующую строку, пока не доберемся до строки i=n-1, где n - размерность матрицы A
  4. В полученной треугольной матрице расчитываем произведение всех элементов главной диагонали Пa i i , которое и будет являтся определителем;

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

4. Метод Жордана - Гаусса.

Схема с выбором главного элемента состоит в том, что требование неравенства нулю диагональных элементов akk, на которые происходит деление в процессе исключения, заменятся более жестким: из всех элементов К-го столба выбрать наибольший по модулю и переставить уравнения так, чтобы этот элемент оказался на месте элемента акк. Выбор главного элемента и связанная с ним перестановка строк необходимы в тех случаях, когда на каком-либо i-ом шаге акк=0 либо же акк очень мало по остальными элементами i- го столбца: при делении на такое «малое» акк будут получаться большие числа с большими абсолютными погрешностями, в результате чего решение может сильно исказиться.

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

Как известно, системы линейных алгебраических уравнений могут имеет одно решение, множество решений или системы несовместны. При элементарных преобразованиях элементов матрицы системы эти случаи выявляются в следующем:

1. В процессе исключений левая часть I –го уравнения системы обращается в нуль, а правая часть равна некоторому числу, отличному от нуля. т.е. 02+=bc0.

Это означает, что система не имеет решений, так как I – му уравнению не могут удовлетворять никакие значения неизвестных;

2. Левая и правая части I – го уравнения обращаются в нуль. Это означает, что I – ое уравнение является линейной комбинацией остальных, ему удовлетворяет любое найденное решение системы, поэтому оно может быть отброшено. В системе количество неизвестных больше количества уравнений и, следовательно, такая система имеет множество решений;

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

Таким образом, конечной целью преобразований Жордана-Гаусса является получение из заданной линейной системы

a11x1 + a12x2 + … + a1nxn = b1,n+1

a21x1 + a22x2 + … + a2nxn = b2,n+1

am1x1 + am2x2 + … + amnxn = bm.n+1

Здесь x1, x2, …, xn - неизвестные, которые надо определить. a11, a12, …, amn - коэффициенты системы - и b1, b2, … bm - свободные члены - предполагаются известными. Индексы коэффициентов (aij) системы обозначают номера уравнения (i) и неизвестного (j), при котором стоит этот коэффициент, соответственно.

Система (1) называется однородной, если все её свободные члены равны нулю (b1 = b2 = … = bm = 0), иначе - неоднородной.

Система (1) называется квадратной, если число m уравнений равно числу n неизвестных.

Решение системы (1) - совокупность n чисел c1, c2, …, cn, таких что подстановка каждого ci вместо xi в систему (1) обращает все ее уравнения в тождества.

Система (1) называется совместной, если она имеет хотя бы одно решение, и несовместной, если у нее нет ни одного решения.

Совместная система вида (1) может иметь одно или более решений.

Решения c1(1), c2(1), …, cn(1) и c1(2), c2(2), …, cn(2) совместной системы вида (1) называются различными, если нарушается хотя бы одно из равенств:

c1(1) = c1(2), c2(1) = c2(2), …, cn(1) = cn(2).

Совместная система вида (1) называется определенной, если она имеет единственное решение; если же у нее есть хотя бы два различных решения, то она называется неопределенной. Если уравнений больше, чем неизвестных, она называется переопределённой.

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

Запишем её в виде матрицы 3×4, где последний столбец является свободным членом:

Проведём следующие действия:

· К строке 2 добавим: -4 * Строку 1.

· К строке 3 добавим: -9 * Строку 1.

· К строке 3 добавим: -3 * Строку 2.

· Строку 2 делим на -2

· К строке 1 добавим: -1 * Строку 3.

· К строке 2 добавим: -3/2 * Строку 3.

· К строке 1 добавим: -1 * Строку 2.

В правом столбце получаем решение:

.

В методе Ньютона наблюдается ускорение сходимости процесса приближений. 5. Метод касательных (метод Ньютона) Метод касательных, связанный с именем И. Ньютона, является одним из наиболее эффективных численных методов решения уравнений. Идея метода очень проста. Возьмём производную точку x0 и запишем в ней уравнение касательной к графику функции f(x): y=f(x0)+ f ¢(x) (x-x0) (1.5) Графики...

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



Математики тригонометрической подстановки и проверка эффективности разработанной методики преподавания. Этапы работы: 1. Разработка факультативного курса на тему: «Применение тригонометрической подстановки для решения алгебраических задач» с учащимися классов с углубленным изучением математики. 2. Проведение разработанного факультативного курса. 3. Проведение диагностирующей контрольной...

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

Каждой системе линейных уравнений поставим в соответствие расширенную матрицу , полученную присоединением к матрице А столбца свободных членов:

Метод Жордана–Гаусса применяется для решения системы m линейных уравнений с n неизвестными вида:

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

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

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

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

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

4. отбрасывание нулевой строки (столбца) .

Пример 2.11. Решить методом Жордана–Гаусса системы линейных уравнений:

а ) Х 1 + Х 2 + 2Х 3 = -1

2Х 1 - Х 2 + 2Х 3 = -4

4Х 1 + Х 2 + 4Х 3 = -2

Решение: Составим расширенную матрицу:

Итерация 1

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

На этом первая итерация закончена.

Итерация 2

Выбираем направляющий элемент . Так как , то делим вторую строку на -3. Затем умножаем вторую строку соответственно на (-1) и на 3 и складываем соответственно с первой и третьей строками. Получим матрицу

Итерация 3

Выбираем направляющий элемент . Так как , то делим третью строку на (-2). Преобразуем третий столбец в единичный. Для этого умножаем третью строку соответственно на (-4/3) и на (-2/3) и складываем соответственно с первой и второй строками. Получим матрицу

откуда Х 1 = 1, Х 2 = 2, Х 3 = -2.

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

б ) Х 1 – Х 2 + Х 3 – Х 4 = 4

Х 1 + Х 2 + 2Х 3 +3Х 4 = 8

2Х 1 +4Х 2 + 5Х 3 +10Х 4 = 20

2Х 1 – 4Х 2 + Х 3 – 6Х 4 = 4

Решение: Расширенная матрица имеет вид:

Применяя элементарные преобразования, получим:

Исходная система эквивалентна следующей системе уравнений:

Х 1 – 3Х 2 – 5Х 4 = 0

2Х 2 + Х 3 + 4Х 4 = 4

Последние две строки матрицы A (2) являются линейно зависимыми.

Определение. Строки матрицы e 1 , e 2 ,…, e m называются линейно зависимыми , если существуют такие числа , не равные одновременно нулю, что линейная комбинация строк матрицы равна нулевой строке:

где 0 =(0, 0…0). Строки матрицы являются линейно независимыми , когда комбинация этих строк равна нулю тогда и только тогда, когда все коэффициенты равны нулю.



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

Теорема 2.3 (о ранге матрицы). Ранг матрицы равен максимальному числу её линейно независимых строк или столбцов, через которые линейно выражаются все остальные её строки (столбцы).

Ранг матрицы A (2) равен 2, т.к. в ней максимальное число линейно независимых строк равно 2 (это первые две строки матрицы).

Теорема 2.4 (Кронекера–Капели). Система линейных уравнений совместна и только тогда, когда ранг матрицы системы равен рангу расширенной матрицы этой системы.

1. Если ранг матрицы совместной системы равен числу переменных, т.е. r = n, то система имеет единственное решение.

2. Если ранг матрицы системы меньше числа переменных, т.е. r < n, то система неопределённая и имеет бесконечное множество решений.

В данном случае система имеет 4 переменных, а её ранг равен 2, следовательно, она имеет бесконечное множество решений.

Определение. Пусть r < n , r переменных x 1 , x 2 ,…, x r называются базисными , если определитель матрицы из коэффициентов при них (базисный минор ) отличен от нуля. Остальные n – r переменных называются свободными .

Определение. Решение системы, в котором все n – r свободных переменных равны нулю, называется базисным .

Совместная система m линейных уравнений с n переменными (m < n ) имеет бесконечное множество решений, среди которых базисных решений конечное число, не превосходящее , где .

В нашем случае , т.е. система имеет не более 6 базисных решений.

Общее решение имеет вид:

Х 1 = 3Х 2 +5Х 4

Х 3 = 4 – 2Х 2 – 4Х 4

Найдем базисные решения. Для этого полагаем Х 2 = 0, Х 4 = 0, тогда Х 1 =0, Х 3 = 4. Базисное решение имеет вид: (0, 0, 4, 0).

Получим другое базисное решение. Для этого в качестве свободных неизвестных примем Х 3 и Х 4 . Выразим неизвестные Х 1 и Х 2 через неизвестные Х 3 и Х 4:

Х 1 = 6 – 3/2Х 2 – Х 4

Х 2 = 2 – 1/2Х 3 – 2Х 4 .

Тогда базисное решение имеет вид: (6, 2, 0, 0).

Пример 2.12. Решить систему:

X 1 + 2X 2 – X 3 = 7

2X 1 – 3X 2 + X 3 = 3

4X 1 + X 2 – X 3 = 16

Решение.Преобразуем расширенную матрицу системы

Итак, уравнение, соответствующее третьей строке последней матрицы, противоречиво – оно привелось к неверному равенству 0 = –1, следовательно, данная система несовместна. Данный вывод можно также получить, если заметить, что ранг матрицы системы равен 2, тогда как ранг расширенной матрицы системы равен 3.

Как известно, метод Жордана-Гаусса, он же метод последовательного исключения неизвестных, является модификацией метода Гаусса решения систем линейных алгебраических уравнений (СЛАУ).

Метод базируется на элементарных преобразованиях (переводящих систему в эквивалентную), к которым относятся:

  • прибавление к обеим частям уравнения системы другого уравнения той же системы, умноженного на число, отличное от нуля;
  • перестановка местами уравнений в системе;
  • удаление из системы уравнений вида 0 = 0.

В отличие от метода Гаусса, на каждом шаге одна переменная исключается из всех уравнений, кроме одного.

Шаг метода состоит в следующем:

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

Алгоритмизировать это можно так:

Для СЛАУ в матричном виде A*x=b (матрица A размерности m*n , совсем необязательно квадратная) составляется следующая таблица:

В таблице выбран разрешающий элемент a r,s ≠0 , тогда r - разрешающая строка, s - разрешающий столбец.

Переход к следующей таблице выполняется по правилам:

1. вычисляются элементы разрешающей строки: a" r,j =a r,j /a r,s - то есть, r-строка таблицы делится на разрешающий элемент;

2. все элементы разрешающего столбца, кроме a r,s , равного единице, становятся равны нулю;

3. элементы вне разрешающих строки и столбца вычисляются по формуле, изображённой ниже:


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

4. При ручном расчёте значение в последнем контрольном столбце сравнивается с суммой предыдущих элементов строки. Если значения не совпадают, ошибки надо искать в данной строке. При автоматизированном расчёте контрольный столбец можно опустить.

Возможны следующие случаи:

1. В процессе исключений левая часть уравнения системы обращается в 0, а правая b≠0 , тогда система не имеет решения.

2. Получается тождество 0 = 0 - уравнение является линейной комбинацией остальных и строка нулей может быть вычеркнута из системы.

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

Запрограммируем метод в Excel одной формулой, изменять которую должно быть не слишком трудоёмко. Например, для решения СЛАУ


заполним коэффициентами системы ячейки листа от A1 до D4 включительно, выберем разрешающий элемент a 1,1 =1 , а первый шаг метода сделаем в ячейке A6 , куда загоним "универсальную" формулу для преобразования Жордана-Гаусса:

ЕСЛИ(СТРОКА($A$1)=СТРОКА(A1);A1/$A$1;
ЕСЛИ(СТОЛБЕЦ($A$1)=СТОЛБЕЦ(A1);0;(A1*$A$1-
ДВССЫЛ(АДРЕС(СТРОКА(A1);СТОЛБЕЦ($A$1)))*
ДВССЫЛ(АДРЕС(СТРОКА($A$1);СТОЛБЕЦ(A1))))/$A$1))


На следующем шаге разрешающим элементом может быть, например, a 2,2 =1 (ячейка B7). Нам останется скопировать формулу из A6 в A11 (по пустой строке оставляем, чтоб визуально разделить шаги метода), войти в режим редактирования формулы (двойной щелчок по ячейке или выбрать её и нажать клавишу F2) и поправить (аккуратно перетащить мышкой за границу) все закреплённые ссылки с ячейки A1 на B7 .

Конечно, можно заменить везде в формуле закреплённую ссылку $A$1 на конструкцию вида ДВССЫЛ(ЯЧЕЙКА) , образующую динамический адрес ссылки. Скажем, ДВССЫЛ(F8) , а в ячейке F8 будет автоматически формироваться адрес ячейки разрешающего элемента по заданным пользователем номеру строки и столбца. Тогда для этих номеров строки и столбца придётся предусмотреть отдельные ячейки, например, так:


Увы, всё это ничего не даст - вместо $A$1 мы просто вынуждены будем закрепить в формуле ДВССЫЛ($F$8) и всё равно потом перетаскивать столько же ссылок при копировании формулы. Кроме того, "вручную" введённые номера строки и столбца придётся ещё и проверять на допустимость (хотя бы как на рисунке), так что, не будем умножать сущностей.

Посмотреть метод в работе можно на двух первых листах приложенного файла Excel (2 разных примера).

На преобразовании Жордана-Гаусса основан и такой универсальный метод решения линейных задач оптимизации, как симплекс-метод . Описания его обычно страшны, длинны и перегружены теоремами. Попробуем сделать простое описание и разработать пригодный для расчёта в Excel алгоритм. На самом деле, симплекс-метод уже встроен в стандартную надстройку Пакет анализа, и программировать его "вручную" не нужно, так что наш код имеет, скорее, учебную ценность.

Сначала минимум теории.

Если вектор-столбцы СЛАУ линейно независимы, соответствующие им переменные являются базисными , а остальные – свободными . Например, в СЛАУ


переменные x 2 и x 4 - базисные, а x 1 и x 3 - свободные. Базисные переменные между собой независимы, а свободные можно сделать, например, нулями и получить { x 2 =2, x 4 =1 } – базисное решение системы.

Выбирая различные разрешающие элементы, можно получить решения СЛАУ с различными базисами. Любое неотрицательное базисное решение СЛАУ называется опорным .

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

Алгоритм симплекс-метода состоит в следующем:

1. Задача ЛП преобразуется к каноническому виду:


Это всегда можно сделать следующим образом: к задаче, записанной в стандартной постановке


добавляются дополнительные балансовые переменные , число которых соответствует числу ограничений-неравенств m (ограничения на неотрицательность значений неизвестных не учитываются). После этого неравенства со знаком " ≤ " превращаются в равенства, например, система ограничений вида

2*x 1 +3*x 2 ≤20
3*x 1 +x 2 ≤15
4*x 1 ≤16
3*x 2 ≤12
x 1 ,x 2 ≥0

примет вид

2*x 1 +3*x 2 +x 3 =20
3*x 1 +x 2 +x 4 =15
4*x 1 +x 5 =16
3*x 2 +x 6 =12
x 1 ,x 2 ,...,x 6 ≥0

То есть, "экономический" смысл балансовых переменных очень прост – это "остатки" неиспользованных ресурсов каждого вида.

Если в исходной задаче искался не минимум, а максимум, целевая функция Z заменятся на Z 1 = -Z . Решения задач совпадают, при этом min Z = - max Z 1 . Например, цель

Z(x 1 ,x 2)=2*x 1 +5*x 2 (max)

переписывается в виде

Z 1 (x 1 ,x 2)=-2*x 1 -5*x 2 (min)

Если в исходной задаче были уравнения-неравенства со знаками " ≥ " вместо " ≤ ", обе части каждого такого неравенства умножаются на -1 , а знак неравенства меняется на противоположный, например,

3*x 1 +x 2 +x 4 ≥15

превращается в

3*x 1 -x 2 -x 4 ≤15

Канонический вид модели получен, для него выписывается симплекс-таблица :


В левом столбце записываются базисные переменные (БП), если они ещё не выделены – пусто.

2. С помощью шагов Жордана–Гаусса ищется первоначальный опорный план, т.е. СЛАУ приводится к базисному виду с неотрицательными свободными членами b i >0 . При этом целевая функция Z должна быть выражена только через свободные неизвестные (нулевые коэффициенты в Z-строке стоят только под переменными x i , которые есть в базисе). При выборе разрешающего элемента a r,s в строку r столбца БП выписываем переменную x s , если там уже была переменная – вычеркиваем её (выводим из базиса).

3. Выписываем под столбцами x i опорный план X * : под свободными переменными - нули, под базисными – соответствующие базисной переменной коэффициенты из столбца b .

Ниже выписываем вектор R по правилу: под базисными переменными – нули, под свободными R i =Z i .

Если все R i ≥0 , найдено оптимальное решение X * и значение цели Z min = -q , иначе нужен новый план, а у вас он есть, товарищ Жюков? (п. 4).

4. Для выбора разрешающего столбца s выбираем максимальную по модулю отрицательную компоненту вектора R , разрешающий столбец s выбран. Затем анализируем коэффициенты s-го столбца матрицы системы ограничений. Если все a i,s ≤0 , решения нет и Z min стремится к минус бесконечности, иначе переходим к п.5.

5. Для выбора разрешающей строки r составляем неотрицательные отношения b i /A i,s ≥0 , i=1,2,...,m , и выбираем среди них наименьшее. Если минимум достигается для нескольких строк, за разрешающую можно принять любую из них, при этом, в новом опорном плане значения некоторых базисных переменных станут равными 0, т.е., получаем вырожденный опорный план.

6. Выполняем преобразование Жордана-Гаусса с разрешающим элементом a r,s и переходим к п.3

Геометрически симплекс-методу соответствует кратчайший обход вершин n-мерного выпуклого многогранника, образующего область допустимых решений задачи:


Здесь мы перешли от опорного плана C , представляющего собой одну из вершин многомерного многоугольника, к оптимальному плану E=X * .

Запрограммировать это всё в Excel нелегко, но можно. В прилагаемом документе приведены 3 примера, реализующие решение задач симплекс-методом. Правда, при выполнени шага менять уже придётся 3 формулы, на листе первого примера на симплекс-метод они выделены жёлтым цветом: расчёт отношений для выбора разрешающей строки в ячейке I2 , заполнение столбца БП в ячейке A12 , шаг преобразования Жордана-Гаусса в ячейке B12 . Как и в примере на преобразование Жордана-Гаусса, изменение формул связано только с необходимостью сослаться на новую строку, содержащую адрес ячейки с разрешающим элементом (для первого шага - ячейка C9).