Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка по численным методам .doc
Скачиваний:
32
Добавлен:
21.11.2019
Размер:
1.26 Mб
Скачать

№ 3225

Министерство образования Российской Федерации

Таганрогский государственный радиотехнический университет

РУКОВОДСТВО

К ЛАБОРАТОРНЫМ РАБОТАМ

по численным методам курса высшей математики

Часть I

Прямые методы

решения систем линейных алгебраических уравнений

Таганрог 2002

518.12(076.5)

УДК 512.64

Составители: Сухинов А.И., Афонин А.А., Тетруашвили Е.В., Марченко А.Г.

Руководство к лабораторным работам по численным методам курса высшей математики. /Часть 1. Таганрог: Изд-во ТРТУ, 2002. 47 с.

Методическое руководство предназначено для студентов второго курса всех специальностей, изучающих численные методы. Целью работы является обучение студентов работе с задачами, требующими большого объема вычислительной работы, с использованием универсальных решающих программ типа MathCAD. Руководство содержит описание методов, варианты заданий и порядок работы на ПЭВМ, а также контрольные вопросы для самопроверки.

Рецензент: В.К. Гадельшин, канд. техн. наук, доцент кафедры ВМ ТРТУ

Введение

Весь материал разбит на 3 лабораторные работы. На каждом занятии студент получает индивидуальное задание, которое выполняет самостоятельно под руководством преподавателя. Варианты заданий приведены в конце каждой лабораторной работы. Там же приведен порядок выполнения работы, показаны соответствующие способы решения поставленных задач с помощью пакета MathCAD, даны содержание отчета и контрольные вопросы. После выполнения каждой лабораторной работы студент должен сделать выводы.

Методы решения систем линейных алгебраических уравнений делятся на две группы: прямые (точные) и итерационные. Прямые методы теоретически позволяют за конечное число операций (действий) найти “точное” решение системы. Однако в условиях вычислений на компьютерах, имеющих конечную разрядную сетку, прямые методы позволяют найти реально лишь приближенное решение системы, ввиду наличия погрешностей округления. Примерами прямых методов, рассматриваемых ниже, является метод Гаусса и его модификации.

Другая группа методов – итерационных методов позволяет найти последовательность приближений , сходящихся к точному решению при , т.е. . Поскольку бесконечные процессы нереализуемы на практике, то обычно выполняется конечное число итераций, т.е. строится конечное множество векторов x(1), x(2),… x(k), причем, задаваясь некоторым малым числом (погрешностью решения), добиваются, чтобы , где  некоторая норма вектора.

1. Метод Гаусса

1.1. Описание метода Гаусса

Рассмотрим систему линейных алгебраических уравнений

Ax=b, (1.1)

где – вектор неизвестных; – вектор свободных членов; , – невырожденная матрица размерами .

В силу невырожденности матрицы A для однородной системы уравнений с вектором правых частей имеем единственное тривиальное решение . Для неоднородной системы имеем единственное решение , где A-1 – матрица, обратная A.

В курсе высшей математики решение СЛАУ (1.1) обычно выражают по формулам Крамера в виде отношений определителей. Для решения СЛАУ больших порядков эти формулы непригодны, т.к. требуют вычисления (n+1) определителей, а вычисление каждого определителя требует числа арифметических действий порядка n!. В силу того, что n! чрезвычайно быстро растет с увеличением n, решение СЛАУ, например, порядка 100 по формулам Крамера не может быть получено за приемлемое время ни на одной из существующих ЭВМ. На практике требуется решать СЛАУ порядка n=103 и выше. Другая причина неприменимости формул Крамера на ЭВМ – катастрофический рост ошибок округления, называемый численной неустойчивостью. Алгоритм метода исключения неизвестных был изобретен в 3 веке до нашей эры, хотя и носит имя Гаусса. Идея алгоритма состоит в приведении СЛАУ к эквивалентной ей системе с треугольной матрицей (прямой ход исключения), а затем к нахождению неизвестных последовательными подстановками (обратный ход). Данный метод требует числа арифметических операций порядка . Он используется для решения СЛАУ с . Объединим матрицу А и вектор b в расширенную матрицу размерами n(n+1), которая содержит всю известную информацию о системе (1.1).

.

Опишем вначале прямой ход, первый шаг которого состоит в обнулении всех элементов первого столбца матрицы , кроме того, что находится в первой строке.

Введем обозначение для i-й строки матрицы

.

C матрицей можно обращаться так же, как с исходной системой (1.1), например, осуществлять элементарные преобразования. В качестве последних будем использовать перестановки строк, прибавление к элементам данной строки элементов какой-либо другой строки, умноженных на одно и то же число. Найдем ненулевой элемент в первом столбце матрицы . Такой элемент найдется всегда ибо, в противном случае, весь первый столбец состоит из нулей и матрица – вырожденная. Пусть , тогда поменяем местами строки номера r и 1. Если , то, естественно, перестановка не требуется. Затем вычтем из каждой строки номера i, первую строку, умноженную на число , где

.

В результате все элементы i-ой строки изменят свои значения и эта строка принимает следующий вид:

.

В итоге матрица принимает вид

. (1.2)

Тот же алгоритм может быть применен на втором шаге к - матрице, которая получается из , если убрать в ней первую строку и первый столбец.

Применение этого алгоритма j раз приводит к матрице

.

В матрице полученные нули располагаются в столбцах с номерами от 1 до j ниже диагонали. Эти нули сохраняются во время следующих шагов алгоритма.

В результате применения алгоритма n раз система (1.1), в конечном счете, преобразуется в

Rx=C, (1.3)

где R – верхняя (правая) треугольная матрица, т.е.

. (1.4)

Значения неизвестных можно вычислить из (1.4) по формулам

,

, . (1.5)

Процесс приведения системы (1.1) к треугольному виду (1.3) называется прямым ходом, а нахождение неизвестных по формулам (1.5) называется обратным ходом.

Произведем подсчет числа арифметических операций в методе Гаусса. Число арифметических операций, необходимое для реализации прямого хода в методе Гаусса для решения систем уравнений порядка n, равно

. (1.6)

При обратном ходе

. (1.7)

Из формул (1.6) и (1.7) получаем оценку общего числа арифметических действий

.

Если имеется p систем вида (1.1) с одинаковыми матрицами A и разными правыми частями b1, b2, …, bp, то целесообразно прямой ход осуществлять для всех систем одновременно, для чего следует вместо одной правой части, задаваемой вектором-столбцом, производить операции над p правыми частями (матрицей порядка ). Количество арифметических операций, необходимое для реализации прямого хода метода Гаусса с учетом (1.6) и (1.7), есть

.

Количество арифметических операций, необходимое для реализации p обратных ходов (для p систем) методом Гаусса, есть , откуда следует, что общее количество арифметических операций, необходимое для реализации p систем с разными правыми частями, равно

.