![]() |
Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Методы решения систем линейных алгебраических уравнений.
Методы решения систем уравнений:
делятся на точные (прямые) и приближенные (итерационные). Прямые методы позволяют в предположении отсутствия ошибок округления получить точное решение задачи за конечное число арифметических действий. Итерационные методы основаны на использовании повторяющегося процесса и позволяют получить решение в результате последовательных приближений. Метод Гаусса. Этот метод является одним из наиболее распространенных прямых методов решения систем линейных алгебраических уравнений. В основе метода Гаусса лежит идея последовательного исключения неизвестных. Рассмотрим систему из трех уравнений с тремя неизвестными:
Система уравнений (2.2) приводится к эквивалентной системе с треугольной матрицей:
Достигается это при помощи цепочки элементарных преобразований, при которых из каждой строки вычитаются некоторые кратные величины расположенных выше строк. Процесс приведения системы (2.2) к системе (2.3) называется прямым ходом, а нахождение неизвестных Прямой ход исключения: Исключаем В результате получаем следующую систему:
Из полученной системы (2.4) исключаем
Взяв из каждой системы (2.2), (2.4) и (2.5) первые уравнения, получим систему уравнений с треугольной матрицей. Обратный ход: Из уравнения (III² ) находим Аналогичным путем методом Гаусса решаются системы Пример 2.1. Решить систему уравнений методом Гаусса: Решение: Удалить члены с 2-я строка делится на 2-я строка умножается на 3-я строка делится на Процедура обратного хода дает решение:
Метод обратной матрицы. Систему (2.1) можно представить в матричном виде как
где Решение можно выразить, используя умножение на матрицу Пример 2.2. Решить систему уравнений методом обратной матрицы с помощью программы Excel: Порядок решения. 1) Ввести матрицу 2) Выделить ячейки для хранения обратной матрицы 3) Вызвать мастер функций, в категории «Математические» выбрать функцию вычисления обратной матрицы МОБР. В диалоговом окне аргументов функции заполнить поле ввода «Массив» - указать диапазон ячеек матрицы 4) Чтобы получить всю обратную матрицу, нажать клавишу F2 для перехода в режим редактирования, а затем одновременно клавиши Ctrl+Shift+Enter. В ячейках A8: D11 появятся значения обратной матрицы 5) Выделить ячейки для хранения вектора-столбца 6) Вызвать мастер функций, в категории «Математические» выбрать функцию матричного умножения МУМНОЖ. В диалоговом окне аргументов функции в поле ввода «Массив1» указать диапазон ячеек матрицы 7) Чтобы получить весь вектор
Метод прогонки. Применяется для решения систем уравнений с трехдиагональной (ленточной) матрицей. Такая система уравнений записывается в виде:
Является частным случаем метода Гаусса и состоит из прямого и обратного хода. Прямой ход состоит в исключении элементов матрицы системы (2.6), лежащих ниже главной диагонали. В каждом уравнении останется не более двух неизвестных и формулу обратного хода можно записать в следующем виде:
Уменьшим в формуле (2.7) индекс на единицу: Выразим
Сравнивая (2.7) и (2.8), получим:
Поскольку
Теперь по формулам (2.9) и (2.10) можно вычислить прогоночные коэффициенты Пример 2.3. Решить систему уравнений методом прогонки:
Решение. Коэффициенты записываем в виде таблицы 2.1.
Прямой ход прогонки. По формулам (2.9) и (2.10) определяем прогоночные коэффициенты
Обратный ход прогонки. По формулам (2.7) вычисляем все Далее вычисляем: Вычисляем невязки Пример 2.4. Решить систему уравнений из примера (2.3) методом прогонки с помощью программы Excel. Порядок решения. 1) Ввести в ячейки A1: G1 заголовки столбцов (рис. 2.3). 2) В ячейки A3: D6 – коэффициенты 3) В ячейку E3 – формулу 4) В ячейку F3 – формулу 5) В ячейку G3 – формулу 6) Выделить ячейки E3: G3 и скопировать формулы в соседние ячейки E4: G4 … E6: G6 при помощи маркера заполнения. 7) В ячейках G3: G6 появятся значения решения системы уравнений.
На рис. 2.2 приведена программа решения методом прогонки.
Sub program4() Const n = 4 Dim a(n), b(n), c(n), d(n), u(n), v(n), x(n+1), r(n) For i = 1 To n a(i) = Cells(i + 1, 1) b(i) = Cells(i + 1, 2) c(i) = Cells(i + 1, 3) d(i) = Cells(i + 1, 4) u(i) = -c(i)/(a(i)*u(i-1)+b(i)) v(i) = (d(i)-a(i)*v(i-1))/(a(i)*u(i-1)+b(i)) Next i For i = n To 1 Step -1 x(i) = u(i)*x(i+1)+v(i) Next i For i = 1 To n r(i) = d(i)-a(i)*x(i-1)-b(i)*x(i)-c(i)*x(i+1) Cells(i + 1, 6) = x(i) Cells(i + 1, 7) = r(i) Next i End Sub Рис.2.2. Программа решения системы линейных алгебраических уравнений методом прогонки на языке VBA. Популярное:
|
Последнее изменение этой страницы: 2016-07-13; Просмотров: 692; Нарушение авторского права страницы