- •Вычислительная математика лабораторный практикум
- •Содержание
- •Метод исключения Гаусса
- •Введение
- •Построение алгоритма исключения Гаусса
- •3. Реализация алгоритма Гаусса в Excel
- •4. Реализация алгоритма Гаусса в пакете Mathcad
- •5. Реализация алгоритма Гаусса на языке Turbo Pascal
- •6. Вычисление определителя и обратной матрицы
- •7. Выбор ведущего элемента
- •8. Числа обусловленности
- •9. Задания для самостоятельной работы
- •Контрольные вопросы
- •1.Введение
- •Метод Якоби для решения слау
- •Метод Зейделя для решения слау
- •Задания для самостоятельной работы
- •5. Контрольные вопросы
- •Численные методы решения нелинейных уравнений
- •1. Введение
- •2. Отделение корней уравнения
- •3. Метод дихотомии для решения нелинейных уравнений
- •4. Метод Ньютона для решения нелинейных уравнений
- •5. Задания для самостоятельной работы
- •6. Контрольные вопросы
- •Полиномиальная интерполяция
- •1. Интерполяция данных каноническим полиномом
- •2. Интерполяционный полином Ньютона
- •3. Интерполяционный полином Лагранжа
- •4. Задания для самостоятельной работы
- •Контрольные вопросы
- •Метод наименьших квадратов
- •1. Введение
- •2. Линейная аппроксимация
- •3. Аппроксимация нелинейными функциями
- •4. Аппроксимация полиномом
- •Задания для самостоятельной работы
- •6. Контрольные вопросы
- •1. Введение
- •2. Постановка задачи
- •3. Численное дифференцирование с заданной точностью
- •Модификация алгоритма численного дифференцирования Использование центральной разности (6.3) для приближения производной позволяет проводить вычисления с точность порядка :
- •Результаты вычислений сведем в таблицу:
- •5. Действия над приближенными числами
- •6. Задания для самостоятельной работы
- •Контрольные вопросы
- •1. Введение
- •2. Метод прямоугольников
- •3. Метод трапеций
- •4. Метод парабол
- •5. Вычисление интегралов с заданной точностью
- •Метод Гаусса
- •7. Задания для самостоятельной работы
- •2. Провести расчеты знакомого уже нам интеграла ошибок
- •8. Контрольные вопросы
- •Список литературы
- •Учебное издание
6. Вычисление определителя и обратной матрицы
Метод исключения Гаусса дает эффективный способ вычисления определителя матрицы В самом деле, поскольку в прямом ходе мы осуществляем разложение исходной матрицы на произведение верхне- и нижне- треугольных матриц, определитель равен произведению полученных диагональных элементов:
(1.8)
где p – число перестановок, осуществляемых при выборе ведущего элемента (см. ниже).
Определитель нашей тестовой системы (1.7) равен . Необходимо составить и отладить программу вычисления определителя.
Вычисление обратной матрицы, исходя из её определения , можно свести к решению n систем линейных уравнений вида:
(1.9)
где
…; ; (1.10)
столбцы обратной матрицы
…; (1.11)
единичные векторы правой части.
Специфика решения задачи (1.11) состоит в том что матрица коэффициентов у всех систем одинакова, меняется лишь правая часть системы. Поэтому приведение матрицы к верхнетреугольному виду осуществляется только один раз. Общее число операций в связи с этим только в три раза будет больше, по сравнению с решением n систем уравнений.
Приведем ещё один алгоритм нахождения обратной матрицы, известный как метод Жордана-Гаусса, позволяющий вообще обойтись без обратного прохода. Для его реализации вводится расширенная матрица , путем дополнения матрицы единичной:
, (1.12)
и далее над этой матрицей произвести операции прямого хода. Такая модификация алгоритма Гаусса, позволяет получить матрицу:
, (1.13)
в которой элементы второй её половины – элементы обратной матрицы
Обратная матрица для нашего теста (1.7) равна:
(1.14)
Вычисление определителя и обратной матрицы в пакете Excel проводится аналогично как и решение СЛАУ методом Гаусса.
В пакете Mathcad для вычисления определителя и обратной матрицы необходимо использовать панель инструментов Матрицы.
Требуется написать и отладить программу вычисления обратной матрицы двумя изложенными здесь методами. В качестве теста необходимо проверить, что произведение исходной матрицы на обратную должно давать единичную матрицу. Составить необходимые процедуры.
Рекомендуется перед составлением требуемых процедур провести вычисление определителей и обратных матриц вручную. Это позволит хорошо разобраться в алгоритме, и тогда значительно меньше времени Вы потратите на отладку и тестирование программы.