Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Методы решения систем линейных алгебраических уравнений.
Методы решения систем уравнений:
делятся на точные (прямые) и приближенные (итерационные). Прямые методы позволяют в предположении отсутствия ошибок округления получить точное решение задачи за конечное число арифметических действий. Итерационные методы основаны на использовании повторяющегося процесса и позволяют получить решение в результате последовательных приближений. Метод Гаусса. Этот метод является одним из наиболее распространенных прямых методов решения систем линейных алгебраических уравнений. В основе метода Гаусса лежит идея последовательного исключения неизвестных. Рассмотрим систему из трех уравнений с тремя неизвестными: (2.2) Система уравнений (2.2) приводится к эквивалентной системе с треугольной матрицей: (2.3) Достигается это при помощи цепочки элементарных преобразований, при которых из каждой строки вычитаются некоторые кратные величины расположенных выше строк. Процесс приведения системы (2.2) к системе (2.3) называется прямым ходом, а нахождение неизвестных , , из системы (2.3) называется обратным ходом. Прямой ход исключения: Исключаем из уравнений (II) и (III) системы (2.2). Для этого умножаем уравнение (I) на и складываем со вторым, затем умножаем на и складываем с третьим. В результате получаем следующую систему: (2.4) Из полученной системы (2.4) исключаем . Для этого, умножая новое уравнение на и складывая со вторым уравнением, получим уравнение: (2.5) Взяв из каждой системы (2.2), (2.4) и (2.5) первые уравнения, получим систему уравнений с треугольной матрицей. Обратный ход: Из уравнения (III² ) находим . Из уравнения (II¢ ) находим . Из уравнения (I) находим . Коэффициенты , называются ведущими элементами 1-го и 2-го шагов исключения неизвестных. Они должны быть отличны от нуля. Если они равны нулю, то, меняя местами строки, необходимо на их место вывести ненулевые элементы. Аналогичным путем методом Гаусса решаются системы уравнений с неизвестными. Пример 2.1. Решить систему уравнений методом Гаусса: Решение: Удалить члены с из 2-го и 3-го уравнений можно, вычитая из 2-й строки 1-ую, умноженную на , а из 3-й - первую, умноженную на : 2-я строка делится на : 2-я строка умножается на и вычитается из 3-й: 3-я строка делится на : Процедура обратного хода дает решение: ; ; Метод обратной матрицы. Систему (2.1) можно представить в матричном виде как , где Решение можно выразить, используя умножение на матрицу , обратную к : Пример 2.2. Решить систему уравнений методом обратной матрицы с помощью программы Excel: Порядок решения. 1) Ввести матрицу и вектор в рабочий лист Excel (рис. 2.1). 2) Выделить ячейки для хранения обратной матрицы ; например, ячейки A8: D11. 3) Вызвать мастер функций, в категории «Математические» выбрать функцию вычисления обратной матрицы МОБР. В диалоговом окне аргументов функции заполнить поле ввода «Массив» - указать диапазон ячеек матрицы - в нашем случае A2: D5. Нажать кнопку OK. В первой ячейке выделенного под обратную матрицу диапазона ( A8 ) появится число. 4) Чтобы получить всю обратную матрицу, нажать клавишу F2 для перехода в режим редактирования, а затем одновременно клавиши Ctrl+Shift+Enter. В ячейках A8: D11 появятся значения обратной матрицы . 5) Выделить ячейки для хранения вектора-столбца ; например, ячейки F8: F11. 6) Вызвать мастер функций, в категории «Математические» выбрать функцию матричного умножения МУМНОЖ. В диалоговом окне аргументов функции в поле ввода «Массив1» указать диапазон ячеек матрицы - в нашем случае A8: D11, в поле ввода «Массив2» указать диапазон ячеек вектора - в нашем случае F2: F5. Нажать кнопку OK. В первой ячейке выделенного под результат диапазона ( F8 ) появится число. 7) Чтобы получить весь вектор , нажать клавишу F2 для перехода в режим редактирования, а затем одновременно клавиши Ctrl+Shift+Enter. В ячейках F8: F11 появятся значения решения системы уравнений: ; ; ;
Метод прогонки. Применяется для решения систем уравнений с трехдиагональной (ленточной) матрицей. Такая система уравнений записывается в виде: , (2.6) . Является частным случаем метода Гаусса и состоит из прямого и обратного хода. Прямой ход состоит в исключении элементов матрицы системы (2.6), лежащих ниже главной диагонали. В каждом уравнении останется не более двух неизвестных и формулу обратного хода можно записать в следующем виде: , (2.7) Уменьшим в формуле (2.7) индекс на единицу: и подставим в (2.6): Выразим : (2.8) Сравнивая (2.7) и (2.8), получим: (2.9) Поскольку , то , (2.10) Теперь по формулам (2.9) и (2.10) можно вычислить прогоночные коэффициенты и ( ). Это прямой ход прогонки. Зная прогоночные коэффициенты, по формулам (2.7), можно вычислить все ( ) (обратный ход прогонки). Поскольку , то и . Далее вычисляем , , ..., , . Пример 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 – формулу =-C3/(A3*E2+B3) 4) В ячейку F3 – формулу =(D3-A3*F2)/(A3*E2+B3) 5) В ячейку G3 – формулу =G4*E3+F3 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; Нарушение авторского права страницы