- •Линейных алгебраических уравнений
- •Интерполирование функций и решение систем
- •Введение
- •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].