Решение матричного уравнения с помощью обратной матрицы
⇐ ПредыдущаяСтр 2 из 2 Если матрица системы невырождена, то у нее существует обратная матрица и тогда решение системы дается формулой: .
Вычисление решения системы линейных уравнений по формулам Крамера Справедливо следующее утверждение (формулы Крамера). Если определитель D=det A матрицы системы Ax=b отличен от нуля, то система имеет единственное решение x1, x2,..., xn, определяемое формулами Крамера xi = D i / D, i=1,2,..., n, где D i – определитель матрицы n -го порядка, полученной из матрицы A системы заменой i -го столбца столбцом правых частей b. Пример 1. Программа, которая находит первое неизвестное в системе линейных алгебраических уравнений .
% задаем СЛАУ A=[1 0 4; -5 3 3; 2 -2 0]; B=[1;1;1]; % копируем значение матрицы A A1=A % подставляем в первый столбец правую часть A1(:,1)=B % находим первое неизвестное x1=det(A1)/det(A)
Решение системы линейных уравнений методом Гаусса Метод Гаусса основан на приведении методом исключения СЛАУ к треугольному виду (прямой ход): , а затем проводится решение этой системы начиная с xn и т.д. (обратный ход). Под главным в методе Гаусса понимается максимальный по модулю элемент в -ом столбце среди всех строк, начиная с -ой. Иными словами, в строках главный элемент находиться не может Алгоритм решения системы из n уравнений методом Гаусса с выбором главного элемента по столбцам выглядит следующим образом.
Прямой ход. Формируется матрица расширенной системы Выполняется цикл от 1 до по : На шаге выбирается главный элемент в -ом столбце. Пусть это будет элемент в -ой строке . Перестановкой и строк делает этот элемент диагональным. Далее производим исключение из уравнений с номерами с помощью соотношения:
Выполняется цикл от до по : Если , то , где , , – -ая и -ая строки матрицы соответственно. Конец цикла по . Конец цикла по . После шагов приходим к системе уравнений с треугольной матрицей. Пример решения СЛАУ методом Гаусса рассмотрен в приложении. Все действия в методе Гаусса относятся к элементарным операциям над строками, что не приводит к изменению решения. Под элементарными операциями понимаются следующие операции: · перестановка строк; · умножение строки на число, отличное от нуля; · сложение строки матрицы с другой строкой, умноженной на отличное от нуля число).
Обратный ход. Перед началом второго этапа, называемого обратным ходом, имеется верхняя треугольная матрица расширенной системы. Выделяем из расширенной матрицы системы матрицу системы и правую часть. Из последнего уравнения системы находим . Далее находим оставшиеся неизвестные из соотношения .
Задание 2. 1. Составьте структурные схемы алгоритмов решения системы линейных алгебраических уравнений методом Крамера, Гаусса и с помощью обратной матрицы. Структурные схемы должны включать ввод матрицы системы и правой части, проверку невырожденности матрицы системы, процесс получения решения и вывод результата. Размер СЛАУ должен быть произвольным. 2. Напишите функции, реализующие структурные схемы решения СЛАУ тремя методами. 3. Решите СЛАУ из табл. 1 с помощью полученных в предыдущем пункте функций. Результаты занесите в сводную таблицу.
Приложение. Пример решения СЛАУ методом Гаусса Рассмотрим СЛАУ
.
Прямой ход. Формируем матрицу расширенной системы.
C=[A B]
C =
1 0 4 1 -5 3 -3 1 2 -2 0 1
Находим главный элемент в первом столбце
first=C(1:3,1) % первый столбец (строки с текущей по третью) [fake,m]=max(abs(first)); % m – индекс главного элемента ind = m;
Делаем главный элемент диагональным с помощью перестановки строк
r=C(1,:); C(1,:)=C(ind,:); C(ind,:)=r
C =
-5 3 -3 1 1 0 4 1 2 -2 0 1
Путем элементарных преобразований над строками (умножение строки на число и сложение строк), получаем нулевые элементы под главной диагональю.
if C(2,1)~=0 mu_21=C(1,1)/C(2,1); C(2,:)=C(1,:)-mu_21*C(2,:); end
if C(3,1)~=0 mu_31=C(1,1)/C(3,1); C(3,:)=C(1,:)-mu_31*C(3,:); end
C =
-5.0000 3.0000 -3.0000 1.0000 0 3.0000 17.0000 6.0000 0 -2.0000 -3.0000 3.5000
Далее переходим ко второму столбцу. Находим главный элемент второго столбца путем сравнения элементов из второй и третьей строки и выбора максимального по модулю элемента
second=C(2:3,2) % элементы текущего столбца со второго по третий [fake,m]=max(abs(second)); % индекс максимального элемента из двух ind=m+1; % индекс главного элемента во втором столбце матрицы системы
Делаем главный элемент диагональным.
r=C(2,:); C(2,:)=C(ind,:); C(ind,:)=r
C =
-5.0000 3.0000 -3.0000 1.0000 0 3.0000 17.0000 6.0000 0 -2.0000 -3.0000 3.5000
Путем элементарных преобразований над строками (умножение строки на число и сложение строк), получаем нулевые элементы под главной диагональю.
if C(3,2)~=0 mu_32=C(2,2)/C(3,2); C(3,:)=C(2,:)-mu_32*C(3,:); end
C =
-5.0000 3.0000 -3.0000 1.0000 0 3.0000 17.0000 6.0000 0 0 12.5000 11.2500
Получена верхняя треугольная матрицы. Все элементы главной диагонали отличны от нуля, поэтому матрица системы невырождена. Прямой ход метода Гаусса закончен.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|