
- •Линейных алгебраических уравнений
- •Интерполирование функций и решение систем
- •Введение
- •1. Интерполирование функций
- •1.1. Интерполяционные формулы для неравноотстоящих узлов
- •Лабораторная работа № 9*
- •Вариант 2
- •1.2. Интерполяционные формулы для равноотстоящих узлов
- •Лабораторная работа № 10
- •Вариант 2
- •2. Решение систем линейных алгебраических уравнений
- •2.1. Решение систем линейных алгебраических уравнений методом Гаусса
- •Лабораторная работа № 11
- •2.2. Решение систем линейных алгебраических уравнений методом простой итерации
- •Лабораторная работа № 12
- •2.3. Программы для решения систем линейных алгебраических уравнений
- •Список литературы
- •197376, С.-Петербург, ул. Проф. Попова, 5
Лабораторная работа № 11
В
ходе выполнения работы студенты должны
найти решение системы линейных уравнений
с n
неизвестными, заданной матрицей
коэффициентов
и вектором свободных членов
,
методом Гаусса. Выполнение работы
состоит из следующих этапов:
1) с помощью преподавателя определить систему уравнений, которую нужно решить;
2) для решения системы уравнений разработать программу на языке C, использующую подпрограмму-функцию GAUSS из файла GAUSS.CPP. Данная функция имеет следующие параметры:
-
a - матрица
коэффициентов системы уравнений размера
,
тип
;
-
- вектор свободных членов размера
,
тип
;
-
- выходной вектор результата решения
размера
,
тип
;
-
- размер системы (матрицы a
и вектора свободных членов
),
тип
.
В
разрабатываемой программе должна быть
описана константа nmax,
равная максимальным размерам используемых
матриц и векторов. Функция GAUSS в качестве
значения типа
возвращает:
а) 0 - в случае нормального завершения процесса вычисления;
б) 1 - в случае вырожденности матрицы а;
в)
2 - если
;
г)
3 - если
.
Провести вычисления с использованием разработанной программы и исследовать обусловленность задачи с использованием пакета Matlab, при этом для определения числа обусловленности матрицы A рекомендуется использовать функцию cond(A) [14]. Кроме того, для проверки получаемых результатов можно провести вычисления с помощью пакетов Matlab и Derive [15].
2.2. Решение систем линейных алгебраических уравнений методом простой итерации
Рассматривается система уравнений вида
,
(2.3)
где
- заданная числовая квадратная матрица
n-го
порядка, а b
- заданный вектор (свободный член). Метод
простой итерации состоит в следующем.
Выбирается произвольный вектор x
(начальное приближение), и строится
итерационная последовательность
векторов по формуле
,
(2.4)
где k =1, 2, …
Доказана
теорема, что если норма
,
то система уравнений (2.3) имеет единственное
решение
и итерации (2.4) сходятся к решению со
скоростью геометрической прогрессии
[13]. Для оценки погрешности k-го
приближения широко применяется
неравенство
,
(2.5)
которое может быть использовано для принятия решения об останове итерационного процесса при выполнении условия
,
где
- некоторая заданная погрешность
вычислений.
Лабораторная работа № 12
В
работе студенты должны найти решение
системы линейных уравнений с n
неизвестными, заданной матрицей
коэффициентов
и вектором свободных членов b,
методом простых итераций. Выполнение
работы включает следующие этапы:
1) с помощью преподавателя определить систему уравнений, которую нужно решить. Привести исходную систему к виду (2.3), пригодному для использования метода простых итераций;
2) задать необходимую точность получения результата (количество знаков мантиссы числа);
3) разработать программу решения задачи на языке С с использованием подпрограммы-функции MITER из файла MITER.CPP. Функция MITER имеет следующие параметры:
-
- матрица коэффициентов преобразованной
к виду (2.3) системы уравнений размера
,
тип
;
-
- вектор свободных членов преобразованной
системы размера
,
тип
;
-
- полученный в результате проведения
итераций вектор решения размера
,
тип
;
-
- размер системы уравнений, тип
;
-
- количество знаков после запятой в
мантиссе результата, остающихся после
округления, тип
,
;
- it - выходной параметр, равный количеству произведенных итераций, тип int.
В
качестве значения функции типа
возвращается одно из следующих значений:
а)
0 - все нормально, получено решение
;
б) 1 - не выполняются условия сходимости итерационного процесса;
в)
2 - размер
;
г)
3 - значение
.
Константа
должна быть задана при разработке
головной программы аналогично тому,
как это делается при выполнении
лабораторной работы № 11;
4) произвести вычисления с использованием разработанной программы и построить график зависимости числа итераций от задаваемой точности.