Методы решения физико-математических задач

Онлайн калькулятор для решения систем линейных уравнений методами Гаусса и Жордана-Гаусса

Форма ввода исходных данных для решения системы линейных уравнений
Онлайн калькулятор позволяет решить систему линейных уравнений двумя методами: Гаусса и Жордана-Гаусса. Разрешающий элемент можно выбирать самостоятельно. Также можно сделать проверку правильности решения.

Онлайн калькулятор

Исходные данные задачи

Введите расширенную матрицу системы
  ?
Или вводите коэффициенты по одному
Число уравнений     
Число переменных  
  ?

Метод:   ?

Выбрать разрешающий элемент:   ?

Дроби:     ?

  ?

Руководство по использованию калькулятора

Задачи, решаемые с помощью данного калькулятора

Калькулятор предназначен для решения системы n линейных уравнений с m неизвестными методами Гаусса и Жордана-Гаусса.

Система линейных уравнений имеет следующий вид:
(1)  
{
a11x1  + a12x2  + ⋅ ⋅ ⋅ + a1mxm  = b1
a21x1  + a22x2  + ⋅ ⋅ ⋅ + a2mxm  = b2
................................
an1x1  + an2x2  + ⋅ ⋅ ⋅ + anmxm  = bn

Здесь aik , bi – заданные коэффициенты; xk ,  k = 1 ÷ m – неизвестные величины, которые нужно определить.

Система (1) может не иметь решений, иметь единственное, или бесконечно много решений. В последнем случае определяется общее решение системы, зависящее от чисел C1 ,  C2 ,  . . . , которые могут принимать любые значения.

При решении системы с помощью данного калькулятора приводятся подробные объяснения каждого проделанного шага вычислений.

Описание метода Гаусса

Сначала разберем наиболее простой случай системы, имеющей единственное решение, и состоящей из n уравнений с n неизвестными:
{
a11x1  + a12x2  + ⋅ ⋅ ⋅ + a1nxn  = b1
a21x1  + a22x2  + ⋅ ⋅ ⋅ + a2nxn  = b2
................................
an1x1  + an2x2  + ⋅ ⋅ ⋅ + annxn  = bn

Суть метода Гаусса заключается в том, что с помощью эквивалентных преобразований, система сначала приводится к треугольному виду:
(2)  
{
~a11x1  + ~a12x2  + ~a13x3  + ⋅ ⋅ ⋅ + ~a1nxn  = ~b1
~a22x2  + ~a23x3  + ⋅ ⋅ ⋅ + ~a2nxn  = ~b2
~a33x3  + ⋅ ⋅ ⋅ + ~a3nxn  = ~b3
................................
~annxn  = ~bn
После чего, начиная с конца, находятся значения переменных. Из последнего уравнения определяем xn  = ~bn  / ~ann ; из предпоследнего: xn – 1  = (~bn – 1  – ~an – 1,nxn ) / ~an – 1,n – 1 ; и так далее...
Эквивалентные преобразования в методе Гаусса сводятся к следующему.
1. Выбираем разрешающий элемент, например a11 . Если он равен нулю, то выбираем любой, отличный от нуля элемент.
2. Из 2-й строки вычитаем первую, умноженную на a21  / a11 ; из 3-й строки вычитаем первую, умноженную на a31  / a11 ; и так далее. В результате получаем систему, в которой в первом столбце все коэффициенты, ниже разрешающего элемента, равны нулю:
{
a11x1  + a12x2  + ⋅ ⋅ ⋅ + a1nxn  = b1
~a22x2  + ⋅ ⋅ ⋅ + ~a2nxn  = ~b2
................................
~an2x2  + ⋅ ⋅ ⋅ + ~annxn  = ~bn

3. Вычеркиваем строку и столбец с разрешающим элементом; получаем систему, в которой число уравнений и неизвестных уменьшилось на единицу. В нашем случае вычеркиваем первую строку и первый столбец:
{
~a22x2  + ~a23x3  + ⋅ ⋅ ⋅ + ~a2nxn  = ~b2
~a32x2  + ~a33x3  + ⋅ ⋅ ⋅ + ~a3nxn  = ~b3
................................
~an2x2  + ~an3x3  + ⋅ ⋅ ⋅ + ~annxn  = ~bn

4. Далее повторяем действия, пока не придем к одному уравнению с одной неизвестной: ~annxn  = ~bn . Из него находим xn . После этого из предыдущих уравнений последовательно определяем остальные неизвестные.

Если разрешающие элементы выбирать по диагонали, то на последнем этапе получим систему треугольного вида (2). Если разрешающие элементы выбирать другим способом, то на последнем этапе все равно получим одно уравнение с одной неизвестной вида ~akkxk  = ~bk . Далее, из остальных уравнений можно последовательно определить остальные неизвестные.

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

В методе Жордана-Гаусса выполняются аналогичные линейные преобразования, только система приводится не к треугольной форме (2), а к диагональной:
(3)  
{
x1+ x2  + ⋅ ⋅ ⋅ + ~a1n – 1xn – 1  +  =~b1
x2+ ⋅ ⋅ ⋅ + ~a2n – 1xn – 1  +  =~b2
.......................
xn – 1+ xn  =~bn – 1
xn  =~bn

Из этой формы сразу получаем значения неизвестных.
Выпишем еще раз исходную систему n уравнений с n неизвестными x1 , x2 , . . ., xn :
{
a11x1  + a12x2  + ⋅ ⋅ ⋅ + a1nxn  = b1
a21x1  + a22x2  + ⋅ ⋅ ⋅ + a2nxn  = b2
................................
an1x1  + an2x2  + ⋅ ⋅ ⋅ + annxn  = bn
Эквивалентные преобразования в методе Жордана-Гаусса состоят в следующем.
1. Выбираем разрешающий элемент, например a11 . Если он равен нулю, то выбираем любой, отличный от нуля элемент.
2. Делим строку с выбранным разрешающим элементом на его значение, в нашем случае на a11 . Это нужно для того, чтобы величина разрешающего элемента стала равной единице.
{
x1  + ~a12x2  + ⋅ ⋅ ⋅ + ~a1mxm= ~b1
a21x1  + a22x2  + ⋅ ⋅ ⋅ + a2mxm= b2
................................
an1x1  + an2x2  + ⋅ ⋅ ⋅ + anmxm= bn

3. Из 2-й строки вычитаем первую, умноженную на a21 ; из 3-й строки вычитаем первую, умноженную на a31 ; и так далее. В результате получаем систему, в которой в первом столбце все коэффициенты, кроме разрешающего элемента, равны нулю:
{
x1  + ~a12x2  + ⋅ ⋅ ⋅ + ~a1nxn= b1
~a22x2  + ⋅ ⋅ ⋅ + ~a2nxn= ~b2
............................
~an2x2  + ⋅ ⋅ ⋅ + ~annxn= ~bn

4. В методе Гаусса мы вычеркивали строку и столбец с разрешающим элементом, и больше никаких действий с этой строкой не выполняли. В методе Жордана-Гаусса мы будем обнулять коэффициенты и для этой строки, но следующий разрешающий элемент будем выбирать среди строк и столбцов, в которых его ранее не было.
5. Выбираем следующий разрешающий элемент, например ~a22 . Если он равен нулю, то берем любой, отличный от нуля элемент среди строк, в которых разрешающий элемент ранее не выбирали.
6. Делим строку с выбранным разрешающим элементом на его значение, в нашем случае на ~a22 :
{
x1  + ~a12x2  + ~a13x3  + ⋅ ⋅ ⋅ + ~a1nxn= ~b1
x2  + ~~a23x3  + ⋅ ⋅ ⋅ + ~~a2nxn= ~~b2
~a32x2  + ~a33x3  + ⋅ ⋅ ⋅ + ~a3nxn= ~b3
..............................
~an2x2  + ~an3x3  + ⋅ ⋅ ⋅ + ~annxn= ~bn
7. Обнуляем остальные коэффициенты второго столбца. Для этого из 1-й строки вычитаем вторую, умноженную на ~a12 ; из 3-й строки вычитаем вторую, умноженную на ~a32 ; и так далее. В результате получаем систему, в которой во втором столбце все коэффициенты, кроме разрешающего элемента, равны нулю:
{
x1     + ~~a13x3  + ⋅ ⋅ ⋅ + ~~a1nxn= ~~b1
x2  + ~~a23x3  + ⋅ ⋅ ⋅ + ~~a2nxn= ~~b2
~~a33x3  + ⋅ ⋅ ⋅ + ~~a3nxn= ~~b3
............................
~~an3x3  + ⋅ ⋅ ⋅ + ~~annxn= ~~bn

8. Далее повторяем действия, пока не получим систему вида (3), из которой сразу получаем значения неизвестных.

Количество решений

Если в процессе эквивалентных преобразований получается уравнение
0 ⋅ x1  + 0 ⋅ x2  + ⋅ ⋅ ⋅ + 0 ⋅ xm  = ~bk , где ~bk  ≠ 0 ,
то оно не выполняется ни при каких значениях неизвестных. В этом случае решения не существует. Говорят, что система несовместна.

Если мы получим уравнение
(4)   0 ⋅ x1  + 0 ⋅ x2  + ⋅ ⋅ ⋅ + 0 ⋅ xm  = 0 ,
то оно выполняется при любых значениях неизвестных, и его можно вычеркнуть, уменьшив число уравнений на единицу. Этот случай говорит о том, что имеются линейно зависимые уравнения.

Число линейно независимых уравнений равно первоначальному числу уравнений минус число исключенных уравнений вида (4), получившихся в результате преобразований Гаусса.

Рассмотрим совместную систему, состоящую из n линейно независимых уравнений. Если она имеет n неизвестных, то с помощью эквивалентных преобразований Гаусса ее можно привести к диагональному виду (2). Поэтому она имеет единственное решение.

Если число неизвестных m больше числа линейно независимых уравнений n, то такую систему также можно привести к диагональному виду. Только в левой части (2) будут не все m, а только набор из n неизвестных, которые называют базисными (иногда главными). Оставшиеся m – n неизвестных называются свободными; они войдут в правую часть. Свободным переменным можно задать любые значения, после чего найти значения базисных переменных. Таким образом, в этом случае система имеет бесконечное множество решений, зависящих от значений свободных переменных.

Обычно свободные переменные приравнивают к произвольным числам C1 , C2 , . . ., Cm – n . Тогда решение можно записать в симметричном виде:
x1  = α11  ⋅ C1  + α12  ⋅ C2  + ⋅ ⋅ ⋅ + α1,m – n  ⋅ Cm – n  + β1 ;
x2  = α21  ⋅ C1  + α22  ⋅ C2  + ⋅ ⋅ ⋅ + α2,m – n  ⋅ Cm – n  + β2 ;
......
xm  = αm,1  ⋅ C1  + αm,2  ⋅ C2  + ⋅ ⋅ ⋅ + αm,m – n  ⋅ Cm – n  + βm .
Такое решение называют общим решением системы линейных уравнений. Его часто записывают в векторном виде:
(
x1
x2
⋅ ⋅ ⋅
xm
) = C1  ⋅ (
α11
α21
⋅ ⋅ ⋅
αm,1
) +
C2  ⋅ (
α12
α22
⋅ ⋅ ⋅
αm,2
) + ⋅ ⋅ ⋅
 + Cm – n  ⋅ (
α1,m – n
α2,m – n
⋅ ⋅ ⋅
αm,m – n
) + (
β1
β2
⋅ ⋅ ⋅
βm
)

Способы выбора разрешающего элемента

По диагонали

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

Близкий к единице

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

Наибольший по модулю

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

Ввод исходных данных

Исходными данными являются:
число n уравнений в системе, которое равно числу переменных xi ;
коэффициенты aij и свободные члены bi системы уравнений (1);
метод решения: Гаусса, или Жордана-Гаусса;
способ выбора разрешающего элемента: «По диагонали», «Близкий к 1», «Наибольший по модулю»;
дроби – обыкновенные или десятичные; для десятичных дробей можно указать число выводимых на экран значащих цифр.

Существует два способа ввода данных:
1. В виде единой таблицы.
2. Каждого значения по отдельности.

Ввод данных единой таблицей

В этом способе вводят расширенную матрицу системы в одно текстовое поле. Разделителем строк служит перевод новой строки; разделителем столбцов – пробел или табуляция.
В первой строке сначала вводят n значений коэффициентов a11 , a12 , . . ., a1n , а затем величину b1 . Во второй строке вводят значения a21 , a22 , . . ., a2n и b2 , и так далее.

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

Ввод данных по отдельности

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

Погрешность вычислений

Чтобы получить точный результат без округлений, нужно в строке Дроби выбрать 'Обыкновенные'; все числовые значения вводить либо целыми без десятичной запятой (или точки), либо в виде обыкновенных дробей. Например: '3', '0', '-12', '5/6'.
Если при вводе данных, хотя бы в одном поле, встретится запятая или точка, то все числовые величины будут округляться, и отображаться в виде десятичных дробей.

Чтобы получить приближенный результат в виде десятичных дробей, нужно в строке Дроби выбрать 'Десятичные', и указать число значащих цифр. Оно используется только для отображения данных расчета, и не оказывает влияния на точность. При расчете используются числа с 15-ю знаками не зависимо от выбранного значения числа значащих цифр.

Ввод числовых данных

Ввод натуральных чисел выполняется, как обычно, в виде последовательности цифр 0 – 9.
Перед отрицательными числами ставится знак минус без пробела.
Обыкновенные дроби вводят с использованием косой черты без пробелов, которая отделяет числитель от знаменателя. Например: 5/2.
Десятичные дроби, для расчетов с округлением, вводят, используя в качестве разделителя запятую или точку. Например: 0,1254. Также можно ввести порядок числа, используя латинскую букву e. Например 1,254e-12 означает 1,254·10-12.

Сохранение данных расчета

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

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

Чтобы очистить все данные, нужно нажать на приведенную ниже ссылку:

Открыть в новой вкладке с параметрами по умолчанию

Автор: Олег Одинцов.     Опубликовано:   Изменено:

Меню