Популярные услуги

Любая задача по линалу
Любая задача по математическому анализу и по интегралам и дифференциальным уравнениям
КМ-3 Важнейшие аспекты теории графов - любой вариант за 3 суток!
Контрольная работа по рядам (КМ-3) ИДДО 2022
Предельные теоремы и математическая статистика
НОМОТЕХ
Любая задача по Линейной алгебре и аналитической геометрии
Повышение уникальности твоей работе
Сдам любой тест по дискретке в течение суток на положительную оценку!
Любой реферат по дискретной математике
Главная » Лекции » Математика » Вычислительные методы в информатике » Решение систем линейных алгебраических уравнений прямыми методами

Решение систем линейных алгебраических уравнений прямыми методами

2021-03-09СтудИзба

Тема  2.  Решение  систем  линейных  алгебраических  уравнений  прямыми  методами.

Системами  линейных  алгебраических  уравнений   (сокращенно  -  СЛАУ)  называются  системы  уравнений  вида

                                         (2.1)

или,  в  матричном  виде, 

                            A×x = B,                                                                                   (2.2)

где  :

   A   матрица  коэффициентов  системы  размерности  n´n

    x  вектор  неизвестных,  состоящий  из  n  компонент

Рекомендуемые материалы

   B  -   вектор  правых  частей  системы,  состоящий  из n  компонент.

             A=              x=                  B=                              (2.3)

         Решением  СЛАУ  является  такой  набор  из  n  чисел,  который  будучи  подставленным  вместо  значений  x1, x2, … , xn  в  систему  (2.1)  обеспечивает  равенство  левых  частей  правым  во  всех  уравнениях.

         Каждая  СЛАУ  в  зависимости  от  значений  матриц  A  и  B  может  иметь

- одно  решение

- бесконечно  много  решений

- ни  одного  решения.

В  данном  курсе  будем  рассматривать  только  те  СЛАУ,  которые  имеют  единственное  решение.  Необходимым  и  достаточным  условием  этого  является  неравенство  нулю  определителя  матрицы  A.

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

- перестановка  местами  двух  любых  уравнений  системы  (следует  отиетить,  что  в  некоторых  случаях,  рассматриваемых  ниже,  это  преробразование  использовать  нельзя);

- умножение  (или  деление)  какого-либо  уравнения  системы  на  число,  не  равное  нулю;

- прибавление  к  одному  уравнению  системы  другого  ее  уравнения,  умноженного  (или  разделенного)  на  некоторое  не  равное  нулю  число.

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

Прямые  методы  решения  СЛАУ.   Наиболее  часто  используемыми  прямыми  методами  решения  СЛАУ  являются :

- метод  Крамера,

- метод  Гаусса   (и  его  модификация  -  метод  Гаусса-Жордана)

- матричный  метод  (с  использованием  обращения  матрицы A).

Метод  Крамера  основан  на  вычислении  определителя  основной  матрицы   A  и  определителей  матриц   A1A2,  …,  An,  которые  получаются  из  матрицы  A  заменой  в  ней   одного  (i-го)  столбца  (i = 1, 2,…, n на  столбец,  содержащий  элементы  вектора  B.  После  этого  решения  СЛАУ  определяются  как  частное  от  деления  значений  этих  определителей.  Точнее,  расчетные  формулы  имеют  такой  вид

                                                                                      (2.4)

Пример  1.   Найдем  методом  Крамера  решение  СЛАУ,  у  которой

                               A = ,                        B = .        

Имеем

  A1 = ,      A2 = ,       A3 = ,        A4 = .

Вычислим  значения  определителей  всех  пяти  матриц  (c  использованием  функции  МОПРЕД  среды  Excel).  Получим

 

Так  как  определитель  матрицы  A  не  равен  нулю  -  система  имеет  единственное  решение.  Тогда  определим  его  по  формуле  (2.4).   Получим

 

 

Метод  Гаусса.  Решение  СЛАУ  этим  методом  предполагает составление  расширенной  матрицы  системы  A*.  Расширенная  матрица  системы  -  это  матрица  размером  в  n  строк  и  n+1 столбцов,  включающая  в  себя  исходную  матрицу  A  c  присоединенным  к  ней  справа  столбцом,  содержащим  вектор  B.

                A* =                                                (2.4)

Здесь  ain+1=bi  (i = 1, 2, …, n).

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

                A* =   

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

Начало  преобразований  расширенной  матрицы  системы  к  необходимому  виду  заключается  в  просмотре  значений  коэффициентов  при   x1   и  выборе  строки,  в  которой  он  имеет  максимальное  по  абсолютной  величине  значение  (это  необходимо  для  уменьшения  величины  вычислительной  ошибки  при  последующих  вычислениях).  Эту  строку  расширенной  матрицы  необходимо  поменять  местами  с  первой  ее  строкой  (или  же,   что  лучше,  сложить  (или  вычесть)  с  первой  строкой  и  результат  поместить  на  место  первой  строки).   После  этого  все  элементы  этой  новой  первой  строки  (в  том  числе  и  в  последнем  ее  столбце)  необходимо  разделить  на  этот  коэффициент.   После  этого  вновь  полученный  коэффициент   a11   станет  равным  единице.   Дальше  от  каждой  из  оставшихся  строк  матрицы  необходимо  вычесть  ее  первую  строку,  умноженную  на  значение  коэффициента  при   x1    в  этой  строке   (т.е.  на  величину  ai1,   где  i=2, 3, …n).  После  этого  во  всех  строках,  начиная  со  второй  коэффициенты  при x (т.е.  все  коэффициенты  ai1   (i=2, …, n)  будут  равными  нулю.  Поскольку  мы  выполняли  только  эквивалентные  преобразования  -  решение  вновь  полученной  СЛАУ  не  будет  отличаться  от  исходной  системы.

Дальше,  оставляя  неизменной  первую  строку  матрицы,  проделаем  все  вышеописанные  действия  с  остальными  строками  матрицы  и,  в  результате, вновь  полученный  коэффициент   a22   станет  равным  единице,   а  все коэффициенты   ai2   (i=3, 4, …, n)  станут  равными  нулю.   Продолжая  аналогичные  действия,  мы  в  конечном  итоге  приведем  нашу  матрицу  к  виду,  в  котором   все  коэффициенты  aii = 1  (i=1, 2, …, n),  а  все  коэффициенты  aij = 0  (i=2, 3, …, nj<i).  Если  же  на  каком-то  шаге  при  поиске  наибольшего  по  абсолютной  величине  коэффициента  при   xj   мы  не  сможем  найти  не  равного  нулю  коэффициента  -  это  будет  значить,  что  исходная  система  не  имеет  единственного  решения.  В  этом  случае  процесс  решения  необходимо  прекратить.

Если  процесс  эквивалентных  преобразований  закончился  успешно,  то  полученная  в  результате  «треуголиная»  расширенная  матрица  будет  соответствовать  такой  системе  линейных  уравнений :

Из  последнего  уравнения  этой  системы  найдем  значение  xn.  Далее,  подставляя  это  значение  в  предпоследнее  уравнение,  найдем  значение  xn-1.  После  этого,  подставляя  оба  эти  найденных  значения  в  третье  снизу  уравнение  системы,  найдем  значение  xn-2.  Продолжая  так  далее  и  продвигаясь  по  уравнением  этой  системы  снизу  вверх,  будем  последовательно  находить  значения  других  корней.  И,  наконец,  подставляя  найденные  значения  xnxn-1xn-2,   ,  x3  и  x2  в  первое  уравнение  системы  найдем  значение  х1Такая  процедура  поиска  значений  корней  по  найденной  треугольной  матрице  называется  обратным  ходом.  Процесс  приведения  исходной  расширенной  матрицы  эквивалентными  преобразованиями  к  треугольному  виду  назавают  прямым  ходом  метода  Гаусса..

         Достаточно  подробный  алгоритм  решения  СЛАУ  методом  Гаусса  приведен  на  рис. .2.1   и   рис. 2.1а.

Пример 2.   Найти  методом  Гаусса  решение  той  же  СЛАУ,  которую  мы  уже  решали  методом  Крамера.   Составим  сначала  ее  расширенную  матрицу.   Получим

                    A*  =  .        

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

                         A* =  .

Дальше  проведем  вычитание  из  каждой  строки  матрицы  (кроме  первой)  элементов  первой  строки,  умноженных  на  коэффициент  в  первом  столбце  этой   строки.  Получим

                          A* = 

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

                         A* =  .

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

                         A* =  .

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


Начало


      

Ввод значения размерности N и N строк коэффициентов расширенной матрицы. ,Конец, f := 0 ; i := 10;, Поиск строки k, в которой | aki | = max | aji | для j &sup3; i., aki = 0, k = i,Перестановки местами элементов строк k и i расшир. матрицы, Деление всех элементов строки i на значение элемента a ii, k := i + 1, k &gt; N, От всех элементов строки k вычесть соответствующие элементы строки i, умноженные на значение aki, k := k + 1, i := i + 1,f :=1,(i &pound;N) &amp; (f=0), f = 0,Система не имеет решений, Вывод значений решения,f – флаг вырожденности матрицы&#13;&#10; &#13;&#10;,да,да,нет,нет,да,Расчет значений решения,да


Рис. 2.1.  Алгоритм  решения  систем  линейных  алгебраических  уравнений  методом  Гаусса


i := N, xi := a i N+1, j := i + 1, j &gt; N, xi := xi – aij xj, j := j + 1, i := i - 1, i &lt; 1,да,нет


Рис. 2.1а.  Макроблок  “Расчет  значений  решения”.

                         A* =  .

Из  последней  строки  сразу  получим  x4=0.7536.  Поднимаясь  теперь  вверх  по  строкам  матрицы  и  выполняя  расчеты,  последовательно  получим   x3=0.7971,  x2=-0.1015  и  x1=0.3333.   Сравнивая  полученное  этим  методом  решение  с  решением,  полученным  методом  Крамера,  нетрудно  убедиться   в  их  совпадении.

Метод  Гаусса-Жордана.  Этот  метод  решения  СЛАУ  во  многом  похож  на  метод  Гаусса.  Основным  отличием  является  то,  что  используя  эквивалентные  преобразования  расширенная  матрица  системы  уравнений  приводится  не  к  треугольному  виду,  а  к  диагональному  виду,  на  главной  диагонали  которой  находятся  единицы,  а  вне  нее  (кроме  последнего  n+1  столбца)  -  нули.  После  окончания  такого  преобразования  -  последний  столбец  расширенной  матрицы  будет  содержать  решение  исходной  СЛАУ  (т,е.  . xi = a i n+1 (i=1, 2, … , n)  в  полученной  матрице).  Обратный  ход  (как  в  методе  Гаусса)  для  окончательных  расчетов  значений  компонент  решения  -  не  нужен. 

            Приведение  матрицы  к  диагональному  виду  проводится,  в  основном,  также  как  и  в  методе  Гаусса.  Если  в  строке  i  коэффициент  при  xi  (i=1, 2, … , n)  по  абсолютной  величине  мал,  то  производится  поиск  строки  j,  в  которой  коэффициент  при  xi  будет  наибольшим  по  абсолютной  величине  эта  (j-я)  строка  прибавляется  поэлементно  к   i-й  строке.  Затем  все  элементы   i-й  строки  делятся  на  значение  элемента xi Но,  в  отличие  от  метода  Гаусса,  после  этого   идет  вычитание  из  каждой  строки  с  номером  j   строки  с  номером  i,   умноженной  на  aji,  но  условие   j > i  заменено  на  другое  В  методе  Гаусса-Жордана идет  вычитание  из  каждой  строки  с  номером  j,   причем  j # i,   строки  с  номером  i,   умноженной  на  aji.  Т.е.  производится  обнуление  коэффициентов  как  ниже,  так  и  выше  главной  диагонали.

            Достаточно  подробный  алгоритм  решения  СЛАУ  методом  Гаусса–Жордана  приведен  на  рис.  2.2.

Пример  3.   Найти  методом  Гаусса-Жордана  решение  той  же  СЛАУ,  которую  мы  уже  решали  методами  Крамера  и  Гаусса.  

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

                               A* =  .

Дальше  переставим  местами  вторую  и  третью  строки  этой  матрицы,  разделим  вторую  строку  переставленной  матрицы  на  2.3333  и  (уже  в  отличие  от  метода  Гаусса)  обнулим  коэффициенты  во  втором  столбце  первой,  третьей  и  четвертой  строк  матрицы.  Получим

                               A* =  .

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

                         A* =  .

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

                          A* =  .

В  результате  всего  получим  диагональную  матрицу  с  единичными  элементами  по  диагонали  и  вектором  решения  в  последнем  столбце.  Решение  совпадает  с  полученным  ранее  другими  методами.


Начало      

Ввод значения размерности N и N строк коэффициентов расширенной матрицы. , f := 0 ; i :=1;, Поиск строки k, в которой | aki | = max | aji | для j &sup3; i.,| aii | &lt; 10-10,|aii|&lt;10-10,Ко всем элементам строки i прибавить соответ. элементы строки k, Деление всех элементов строки i на значение элемента a ii, k := 1, k &gt; N,f :=1,f – флаг вырожденности матрицы&#13;&#10; &#13;&#10;,да,да, k = i,да,нет,да


От всех элементов строки k вычесть соответствующие элементы строки i, умноженные на значение aki 

k := k + 1
Конец, i := i + 1,(i &pound;N) &amp; (f=0), f = 0, xi := a i N+1 (i=1, 2, … , N),Система не имеет решений, Вывод значений корней,нет,да,да


Рис. 2.2.  Алгоритм  решения  систем  линейных  алгебраических  уравнений  методом  Гаусса-Жордана.

Матричный  метод  предполагает  нахождение  матрицы,  обратной  к  матрице  A  (она  обозначается  через  A-1),  а  затем  нахождение  вектора  решения  по  формуле

                                                   x = A-1×B.                                                                                   (2.5)

Все  вычисления  удобно  производить  в  Excel  c  использованием  функций  МОБР  и  МУМНОЖ.

Альтернативы 1917 года - лекция, которая пользуется популярностью у тех, кто читал эту лекцию.

Пример  4.  Решим  тот  пример  матричным  методом.  Имеем

                                       A=,                        B=.   

Найдем  обратную  матрицу  к  матрице  AПолучим

                                 A-1.

Теперь  по  формуле  (2.5)  получим  вектор  с  решением  нашей  СЛАУ

           x =   = .

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5137
Авторов
на СтудИзбе
440
Средний доход
с одного платного файла
Обучение Подробнее