
- •Линейных алгебраических уравнений
- •Интерполирование функций и решение систем
- •Введение
- •1. Интерполирование функций
- •1.1. Интерполяционные формулы для неравноотстоящих узлов
- •Лабораторная работа ¹ 9*
- •1.2. Интерполяционные формулы для равноотстоящих узлов
- •Лабораторная работа ¹ 10
- •2. Решение систем линейных алгебраических уравнений
- •2.1. Ðешение систем линейных алгебраических уравнений методом Гаусса
- •Лабораторная работа № 11
- •2.2. Ðешение систем линейных алгебраических уравнений методом простой итерации
- •Лабораторная работа № 12
- •2.3. Программы для решения систем линейных алгебраических уравнений
- •Ñпèñîê литературы
- •197376, С.-Петербург, ул. Проф. Попова, 5
2. Решение систем линейных алгебраических уравнений
Методы решения систем линейных алгебраических уравнений делятся на две группы. К первой группе принадлежат так называемые точные,или прямые,методы - алгоритмы, позволяющие получить решение системы за конечное число арифметических действий. Сюда относятся известное правило Крамера нахождения решения с помощью определителей, метод Гаусса (метод исключений) и метод прогонки[13]. Правило Крамера при реализации на ЭВМ не применяется ввиду значительно большего по сравнению с методом Гаусса числа арифметических действий.Метод Гаусса используется при решении систем до порядка 103. Метод прогонки применяется для решения важного класса специальных систем линейных уравнений с трехдиагональной матрицей, часто возникающей в практических приложениях.
Вторую группу составляют приближенные методы, в частности, итерационные методы решения систем линейных алгебраических уравнений, позволяющие решать системы до порядка 106 [1], [4], [7], [13].
Включенные в настоящий цикл две лабораторные работы посвящены решению задач линейной алгебры итерационными методами с использованием стандартных процедур.
2.1. Ðешение систем линейных алгебраических уравнений методом Гаусса
Рассматривается система линейных уравнений n-го порядка
(2.1)
. . . . .
,
что
в векторном виде записывается как
.
Суть
метода исключения по главным элементам
(метод Гаусса) заключается в следующем.
Находится наибольший по абсолютной
величине коэффициент
.
Для исключения
èçi-го
уравнения
необходимо умножитьk-е
уравнение на
и вычесть его изi-го
уравнения, после чего процесс повторяется
для исключения другого неизвестного
из оставшихся
-1
уравнений и т. д.
В результате система (2.1) приводится к
треугольному виду
(2.2)
. . . . . .
,
из
которого легко находятся неизвестные
.
Процесс приведения системы к
виду (2.2) называется прямым ходом, а
нахождение неизвестных
-обратным ходом метода
Гаусса.
Следует
отметить, что если матрица заданной
системы вырожденная, то перед исключением
некоторой неизвестной главный элемент
окажется равным нулю, что и будет
свидетельствовать о равенстве нулю
определителя системы.
Мерой
обусловленности матрицы
называют величину
,
ãäå
-
норма матрицы
.
Мера обусловленности равна максимально
возможному коэффициенту усиления
относительной погрешности от правой
части к решению системы (2.1). Если матрица
симметричная и выбрана вторая норма,
то мера обусловленности может быть
найдена как
,
ãäå
-i-е
собственное число матрицы
.
Åñëè
большая, то матрица
(система (2.1)) называется плохо обусловленной,
в противном случае - хорошо обусловленной.
Лабораторная работа № 11
В
ходе выполнения работы студенты должны
найти решение системы линейных уравнений
с nнеизвестными, заданной матрицей
коэффициентов
и вектором свободных членов
,
методом Гаусса. Выполнение работы
состоит из следующих этапов:
1) с помощью преподавателя определить систему уравнений, которую нужно решить;
2) для решения системы уравнений разработать программу на языке C, использующую подпрограмму-функциюGAUSS из файлаGAUSS.CPP. Данная функция имеет следующие параметры:
-
a
- матрица коэффициентов системы
уравнений размера
,
òèï
;
-
- вектор свободных членов размера
,
òèï
;
-
- выходной вектор результата решения
размера
,
òèï
;
-
- размер системы (матрицы
aи вектора свободных членов
),
òèï
.
В
разрабатываемой программе должна быть
описана константа nmax,
равная максимальным размерам используемых
матриц и векторов. ФункцияGAUSSв качестве значения типа
возвращает:
а) 0 - в случае нормального завершения процесса вычисления;
б) 1 - в случае вырожденности матрицыà;
в)
2 - åñëè
;
г)
3 - åñëè
.
Провести вычисления с использованием разработанной программы и исследовать обусловленность задачи с использованием пакета Matlab, при этом для определения числа обусловленности матрицыAрекомендуется использовать функциюcond(A) [14]. Кроме того, для проверки получаемых результатов можно провести вычисления с помощью пакетовMatlabèDerive [15].