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

      Комментарии к записи Метод Гаусса-Жордана отключены

В этой теме 0 ответов, 1 участник, последнее обновление  Васильев Владимир Сергеевич 10 мес. назад.

  • Автор
    Сообщения
  • #3071

    Описание алгоритма

    При решении система линейных алгебраических уравнений записывается в виде расширенной матрицы, т.е. в столбец свободных членов помещается в одну матрицу с коэффициентами неизвестных. Аалгоритм заключается в приведении исходной матрицы, характеризующей систему линейных уравнений, к единичной путем эквивалентных преобразований (домножения строки матрицы на константу и сложения с другой строкой матрицы). В качестве константы используется 1/a[i][i], т.е. число, обратное по отношению к элементу диагонали. Естественно, в ряде случаев возникают проблемы, связанные с делением на ноль, которые решаются перестановкой строк и столбцов:
    identity-matrix
    Весь алгоритм можно представить 10 пунктами:

    1. В качестве опорной выбираем первую строку матрицы.

    2. Если элемент опорной строки, индекс которого равен номеру опорной строки, равен нулю, то меняем всю опорную строку на первую попавшуюся строку снизу, в столбце которого нет нуля.

    3. Все элементы опорной строки делим на первый слева ненулевой элемент этой строки.

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

    5. В качестве опорной строки выбираем следующую строку.

    6. Повторяем действия 2 – 5 пока номер опорной строки не превысит число строк.

    7. В качестве опорной выбираем последнюю строку.

    8. Вычитаем из каждой строки выше опорную строку, умноженную на элемент этой строки с индексом равным номеру опорной строки.

    9. В качестве опорной строки выбираем строку выше.

    10. Повторяем 8 – 9 пока номер опорной строки не станет меньше номера первой строки.

    Пример расчета 1

    Пусть имеется система уравнений:

    step_0

     Запишем расширенную матрицу системы:

    step_1

    и выполним элементарные преобразования ее строк.

    Для этого умножим первую строку на 1 и вычитаем из второй строки; затем умножим первую строку на 2 и вычтем из третьей строки.

    В результате мы исключим переменную x1 из всех уравнений, кроме первого. Получим:

    step_3

     

    Теперь вычтем из строки 3 строку 2, умноженную на 3:

    step_4

    Далее вычитаем из строки 2 строку 3, умноженную на 2:

    step_5

    Теперь вычитаем из 1 строки сначала 3 строку, а затем 2 строку:

    step_6

    После преобразований получаем систему уравнений:

    step_7

     

    Из этого следует, что система уравнений имеет следующее решение:

    x1 = 1, x2 = 3 , x3 = -1

    Пример расчета 2

    1. В качестве примера решим систему уравнений, представленную в виде матрицы (Таблица 1), методом Гаусса – Жордана.

    3

    4

    3

    1

    1

    7

    2

    6

    6

    2

    3

    7

    Делим первую строку на 3 (элемент первой строки, расположенный на главной диагонали), получим:

    1

    4/3

    1

    1/3

    1

    7

    2

    6

    6

    2

    3

    7

    Умножаем первую строку на 1 и вычитаем из второй строки. Умножаем первую строку на 6 и вычитаем из третьей строки. Получим:

    1

    4/3

    1

    1/3

    0

    17/3

    1

    17/3

    0

    -6

    -3

    5

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

    1

    4/3

    1

    1/3

    0

    1

    3/17

    1

    0

    -6

    -3

    5

    Умножаем строку 2 на -6 и вычитаем из третьей строки:

    1

    4/3

    1

    1/3

    0

    1

    3/17

    1

    0

    0

    -33/17

    11

    Теперь третья строка – опорная, делим ее на -33/17:

    1

    4/3

    1

    1/3

    0

    1

    3/17

    1

    0

    0

    1

    -17/3

    Умножаем опорную строку на 3/17 и вычитаем ее из второй. Умножаем третью строку на 1 и вычитаем ее из первой

    1

    4/3

    0

    6

    0

    1

    0

    2

    0

    0

    1

    -17/3

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

    1

    0

    0

    10/3

    0

    1

    0

    2

    0

    0

    1

    -17/3

    Последний столбец матрицы – решение системы уравнений.

     

Для ответа в этой теме необходимо авторизоваться.