Автор: T****@yandex.ru, 28 Ноября 2011 в 13:49, курсовая работа
Решение систем линейных алгебраических уравнений – одна из основных задач вычислительной линейной алгебры. Хотя задача решения системы линейных уравнений сравнительно редко представляет самостоятельный интерес для приложений, от умения эффективно решать такие системы часто зависит сама возможность математического моделирования самых разнообразных процессов с применением ЭВМ. Значительная часть численных методов решения различных (в особенности – нелинейных) задач включает в себя решение систем линейных уравнений как элементарный шаг соответствующего алгоритма.
Введение 4
Постановка задачи 7
Условие задачи 7
Алгоритм решения системы линейных уравнений методом Гаусса 7
Анализ существующих методов решения задачи 9
Метод Гаусса (схема единственного деления) 10
Метод Гаусса с выбором главного элемента 13
Метод оптимального исключения 14
Сравнение прямых и итерационных методов 16
Описание алгоритма 18
Блок-схемы алгоритма 19
Листинг программы 22
Выполнение программы 26
Список использованной литературы
2. Анализ
существующих методов
решения задачи
Прямые методы решения СЛАУ. К прямым (или точным) методам решения СЛАУ относятся алгоритмы, которые в предположении, что вычисления ведутся без округлений, позволяют получить точное решение системы за конечное число арифметических действий. Чаще всего решение задач такими методами осуществляется поэтапно: на первом этапе систему преобразуют к тому или иному простому виду, на втором - решают упрощенную систему и получают значения неизвестных.
Запишем
систему линейных алгебраических уравнений
в развернутом виде:
где
x1, x2,..., xn
- неизвестные величины, b1,
b2,..., bn
- элементы правой части. Если определитель
системы отличен от нуля, то она имеет
единственное решение. Для удобства дальнейших
преобразований обозначим элементы правой
части аi(n+1)
и запишем расширенную матрицу размерами
n´(n+1), которая содержит
всю информацию о системе:
A
=
С
этой матрицей можно обращаться так
же, как и с системой - переставлять
строки, прибавлять кратное одной
строки к другой, исключая неизвестные
и приводя матрицу к
Приведем формальное описание схем некоторых прямых методов.
Первое
уравнение в дальнейших преобразования
не участвует. Описанный выше процесс
исключения неизвестных применим к матрице
размерами (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)
называемые
множителями 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) ,
. . . . . . . . . . . . . . .
an2(1)x2
+ an3(1)x3 + …
+ ann(1)xn
= bn(1) .
в
которой aij(1) и
bij(1) вычисляются по
формулам
aij(1)
= aij − qi1a1j
, bi(1)
= bi −
qi1b1
2-й
шаг. Целью этого шага является исключение
неизвестного x2 из уравнений
с номерами i = 3, 4, …, n. Пусть a22(1)
≠ 0, где a22(1) – коэффициент,
называемый главным (или ведущим)
элементом 2-го шага. Вычислим множители
2-го шага
qi2
= ai2(1) / a22(1)
(i = 3, 4, …, n)
и
вычтем последовательно из третьего,
четвертого, …, n-го уравнения системы
второе уравнение, умноженное соответственно
на q32, q42, …,
qm2. В результате получим систему
a11x1 + a12x2 + a13x3 + … + a1nxn = b1 ,
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).
Аналогично проводятся остальные шаги. Опишем очередной k-й шаг.
k-й
шаг. В предположении, что главный
(ведущий) элемент
k-го шага akk(k–1)
отличен от нуля, вычислим множители
k-го шага
qik
= aik(k–1) / akk(k–1)
(i = k + 1, …, n)
и вычтем последовательно из (k + 1)-го, …, n-го уравнений полученной на предыдущем шаге системы k-e уравнение, умноженное соответственно на qk+1,k, qk+2,k, …, qnk.
После
(n - 1)-го шага исключения получим систему
уравнений
a11x1 + a12x2 + a13x3 + … + a1nxn = b1 ,
a22(1)x2
+ a23(1)x3 + … + a2n(1)xn
= b2(1) ,
a33(2)x3 + … + a3n(2)xn = b3(2) ,
. . . . . . . . . . . . . . . . . . . .
матрица A(n-1) которой является верхней треугольной. На этом вычисления прямого хода заканчиваются.
Обратный
ход. Из последнего уравнения системы
находим xn. Подставляя найденное значение
xn в предпоследнее уравнение,
получим xn–1. Осуществляя
обратную подстановку, далее последовательно
находим xn–1, xn–2,
…, x1. Вычисления неизвестных
здесь проводятся по формулам
xn
= bn(n–1) / ann(n–1),
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). Поэтому если один из главных элементов оказывыется равным нулю, то схема единственного деления не может быть реализована. Здравый смысл подсказывает, что и в ситуации, когда все главные элементы отличны от нуля, но среди них есть близкие к нулю, возможен неконтролируемый рост погрешности.
В
методе Гаусса с выбором главного
элемента по столбцу гарантируется,
что |qik| ≤ 1 для всех k
= 1, 2, …, n – 1 и i = k + 1, …, n.
Отличие этого варианта метода Гаусса
от схемы единственного деления заключается
в том, что на k-м шаге исключения в
качестве главного элемента выбирают
максимальный по модулю коэффициент
aikk при неизвестной xk
в уравнениях с номерами i =
k + 1, …, n. Затем соответствующее
выбранному коэффициенту уравнение с
номером ik меняют местами
с k-м уравнением системы для того,
чтобы главный элемент занял место коэффициента
akk(k-1). После этой
перестановки исключение неизвестного
xk производят, как в схеме
единственного деления.