Методы решения СЛАУ. Метод Гаусса

Автор: T****@yandex.ru, 28 Ноября 2011 в 13:49, курсовая работа

Описание работы

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

Содержание

Введение 4
Постановка задачи 7
Условие задачи 7
Алгоритм решения системы линейных уравнений методом Гаусса 7
Анализ существующих методов решения задачи 9
Метод Гаусса (схема единственного деления) 10
Метод Гаусса с выбором главного элемента 13
Метод оптимального исключения 14
Сравнение прямых и итерационных методов 16
Описание алгоритма 18
Блок-схемы алгоритма 19
Листинг программы 22
Выполнение программы 26
Список использованной литературы

Работа содержит 1 файл

СЛАУ Гаусс.doc

— 466.00 Кб (Скачать)

  2. Анализ существующих методов решения задачи 

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

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

                                                       (2.1) 

  где x1, x2,..., xn - неизвестные величины, b1, b2,..., bn - элементы правой части. Если определитель системы отличен от нуля, то она имеет единственное решение. Для удобства дальнейших преобразований обозначим элементы правой части аi(n+1) и запишем расширенную матрицу размерами n´(n+1), которая содержит всю информацию о системе:  

  A =                                                  (2.2) 

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

  Приведем  формальное описание схем некоторых прямых методов.

    1. Метод Гаусса (схема единственного деления). Алгоритм метода состоит из двух этапов. Первый этап называется прямым ходом метода и заключается в последовательном исключении неизвестных из уравнений, т.е. в приведении матрицы А к верхнему треугольному виду (ниже главной диагонали все нули). Для этого на первом шаге разделим первое уравнение системы на а11 (предположим, что коэффициент а11 ¹ 0, в противном случае осуществляем перестановку уравнений системы). Обозначим коэффициенты полученного приведенного уравнения , домножим его на коэффициент а21 и вычтем из второго уравнения системы, исключая тем самым х1 из второго уравнения (обнуляя коэффициент а12 матрицы). Поступим аналогично с остальными уравнениями и получим новую систему, матрица которой в первом столбце, кроме первого элемента, содержит только нули, т.е.
 

                                                   (2.3) 

  Первое  уравнение в дальнейших преобразования не участвует. Описанный выше процесс исключения неизвестных применим к матрице размерами (n-1) n. После k аналогичных шагов получим k приведенных уравнений с коэффициентами 

                   ( 2.4) 

  и матрицу  размерами (n - k) (n - k+1), элементы которой вычисляются по формулам  

                (2.5)  

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

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

           (2.6) 

  Прямой  ход состоит из n - 1 шагов исключения.

  1-й  шаг. Целью этого шага является исключение неизвестного x1 из уравнений с номерами i = 2, 3, …, n. Предположим, что коэффициент a11 ¹ 0. Будем называть его главным элементом 1-го шага.

  Найдем  величины 

  qi1 = ai1/a11   (i = 2, 3, …, n)                                                                         (2.7)  

  называемые  множителями 1-го шага. Вычтем последовательно из второго, третьего, …, n-го уравнений системы первое уравнение, умноженное соответственно на q21, q31, …, qn1. Это позволит обратить в нуль коэффициенты при x1 во всех уравнениях, кроме первого. В результате получим эквивалентную систему 

  a11x1 + a12x2 + a13x3 + … + a1nxn = b1 ,

  a22(1)x2 + a23(1)x3 + … + a2n(1)xn = b2(1) ,

  a32(1)x2 + a33(1)x3 + … + a3n(1)xn = b3(1) ,                                                           (2.8)

  .   .   .   .   .   .   .   .   .   .   .   .   .   .   .

  an2(1)x2 + an3(1)x3 + … + ann(1)xn = bn(1) . 

  в которой aij(1) и bij(1) вычисляются по формулам 

  aij(1) = aij − qi1a1j    ,    bi(1) = bi − qi1b1                                                            (2.9) 

  2-й  шаг. Целью этого шага является исключение неизвестного x2 из уравнений с номерами i = 3, 4, …, n. Пусть a22(1) ≠ 0, где a22(1) – коэффициент, называемый главным (или ведущим) элементом 2-го шага. Вычислим множители 2-го шага 

  qi2 = ai2(1) / a22(1)   (i = 3, 4, …, n)                                                                 (2.10) 

  и вычтем последовательно из третьего, четвертого, …, n-го уравнения системы второе уравнение, умноженное соответственно на q32, q42, …, qm2. В результате получим систему 

        a11x1 + a12x2 +  a13x3 + … +  a1nxn =  b,

              a22(1)x2 +  a23(1)x3 + … +  a2n(1) =  b2(1) ,                   (2.11)

                    a33(2)x3 + … +  a3n(2)xn =  b3(2) ,                      

  .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .                           

                    an3(2)x3 + … +  ann(2)xn =  bn(2) . 

  Здесь коэффициенты aij(2) и bij(2) вычисляются по формулам 

  aij(2) = aij(1)qi2a2j(1)   ,    bi(2) = bi(1)qi2b2(1).                                                (2.12) 

  Аналогично  проводятся остальные шаги. Опишем очередной k-й шаг.

  k-й шаг. В предположении, что главный (ведущий) элемент k-го шага akk(k–1) отличен от нуля, вычислим множители k-го шага 

  qik = aik(k–1) / akk(k–1)   (i = k + 1, …, n)                                                           (2.13) 

  и вычтем последовательно из (k + 1)-го, …, n-го уравнений полученной на предыдущем шаге системы k-e уравнение, умноженное соответственно на qk+1,k, qk+2,k, …, qnk.

  После (n - 1)-го шага исключения получим систему уравнений 

        a11x1a12x2a13x3 + … + a1nxnb,

              a22(1)x2a23(1)x3 + … + a2n(1)xnb2(1) ,                           (2.14)

                    a33(2)x3 + … + a3n(2)xnb3(2) ,

        .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .

                                ann(n–1)xnbn(n–1) . 

  матрица A(n-1) которой является верхней треугольной. На этом вычисления прямого хода заканчиваются.

  Обратный  ход. Из последнего уравнения системы находим xn. Подставляя найденное значение xn в предпоследнее уравнение, получим xn–1. Осуществляя обратную подстановку, далее последовательно находим xn–1, xn–2, …, x1. Вычисления неизвестных здесь проводятся по формулам 

  xn = bn(n–1) / ann(n–1),                                                                                        (2.15)

  xk = (bn(k–1)ak,k+1(k–1)xk+1 – … – akn(k–1)xn) / akk(k–1), (k = n – 1, …, 1). 

  Необходимость выбора главных элементов. Заметим, что вычисление множителей, а также обратная подстановка требуют деления на главные элементы akk(k–1). Поэтому если один из главных элементов оказывыется равным нулю, то схема единственного деления не может быть реализована. Здравый смысл подсказывает, что и в ситуации, когда все главные элементы отличны от нуля, но среди них есть близкие к нулю, возможен неконтролируемый рост погрешности.

    1. Метод Гаусса с выбором главного элемента. Метод заключается в том, что при прямом ходе в алгоритме метода Гаусса на каждом шаге исключения производится выбор наибольшего по модулю элемента в качестве ведущего. Этого достигают перестановкой строк или столбцов матрицы коэффициентов. Наиболее распространённой в вычислительной практике является стратегия выбора главного элемента столбца - нахождение максимального по модулю элемента k-го столбца матрицы и использование его в качестве ведущего элемента на k-м шаге исключения. В этом случае для невырожденных систем гарантируется, что ведущие элементы не равны нулю, и уменьшается погрешность при делении и последующем вычитании при преобразованиях. Рекомендуется также масштабировать предварительно каждое уравнение исходной системы, разделив на его наибольший по абсолютной величине коэффициент. Это делает рост элементов промежуточных матриц ограниченным.

  В методе Гаусса с выбором главного элемента по столбцу гарантируется, что |qik| ≤ 1 для всех k = 1, 2, …, n – 1 и i = k + 1, …, n. Отличие этого варианта метода Гаусса от схемы единственного деления заключается в том, что на k-м шаге исключения в качестве главного элемента выбирают максимальный по модулю коэффициент aikk при неизвестной xk в уравнениях с номерами i = k + 1, …, n. Затем соответствующее выбранному коэффициенту уравнение с номером ik меняют местами с k-м уравнением системы для того, чтобы главный элемент занял место коэффициента akk(k-1). После этой перестановки исключение неизвестного xk производят, как в схеме единственного деления. 

  
    1. Метод оптимального исключения. В целях экономии оперативной памяти (примерно в 4 раза) операции прямого и обратного хода метода Гаусса выполняются попеременно. На первом шаге после приведения первого уравнения исключается неизвестное x1 из второго уравнения, а затем с помощью приведенного второго уравнения - неизвестное x2 из первого. После (k-1) таких шагов матрица системы имеет вид

Информация о работе Методы решения СЛАУ. Метод Гаусса