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