Youtubezilla.ru

Мастер бытовой техники
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Обратная матрица

Метод обратной матрицы – это один из самых распространенных методов решения матриц и применяется для решения систем линейных алгебраических уравнений (СЛАУ) в случаях, когда число неизвестных соответствует количеству уравнений.

Суть метода обратной матрицы.

Пусть есть система n линейных уравнений с n неизвестными:

Суть метода обратной матрицы

Такую систему можно записать как матричное уравнение A* X = B,

Суть метода обратной матрицы

где – матрица системы,

Суть метода обратной матрицы

– столбец неизвестных,

Суть метода обратной матрицы

– столбец свободных коэффициентов.

Из выведенного матричного уравнения выражаем X путем умножения обеих частей матричного уравнения слева на A -1 , в результате чего имеем:

A -1 * A * X = A -1 * B

Зная, что A -1 * A = E, тогда E * X = A -1 * B либо X = A -1 * B.

Следующим шагом определяется обратная матрица A -1 и умножается на столбец свободных членов B.

Обратная матрица к матрице A существует лишь тогда, когда det A ≠ 0. Ввиду этого при решении СЛАУ методом обратной матрицы первым делом находится det A. Если det A ≠ 0, то у системы есть только одно решение, которое можно получить методом обратной матрицы, если же det A = 0, то такая система методом обратной матрицы не решается.

Нахождение обратной матрицы с помощью союзной матрицы

Имеет место следующее свойство: $ A cdot widetilde^=|A| cdot E $

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

Задание. Найти обратную матрицу к матрице $ A=left( begin <1>& <0>& <2>\ <2>& <-1>& <1>\ <1>& <3>& <-1>endright) $

Решение. Вычисляем определитель матрицы:

$ -1 cdot(-1) cdot 2-3 cdot 1 cdot 1-2 cdot 0 cdot(-1)=1+12+0+2-3+0=12 neq 0 $

Так как определитель не равен нулю, то матрица имеет обратную. Обратная матрица $A^<-1>$ к матрице $A$ находится по формуле:

Определяем значение обратной матрицы

Как только вычисление определителя закончено, можно переходить к определению обратной матрицы:

  1. Выбираем место расположения верхнего элемента обратной матрицы, открываем окно «Вставка функции».
  2. Выбираем категорию «Математические».
  3. В расположившихся снизу функциях пролистываем список и останавливаем выбор на МОБР. Кликаем по кнопке «ОК».
Читайте так же:
Аналоги Тор Браузера

Обратная матрица в Excel. Как найти обратную матрицу в Эксель в 2 этапа

  1. Аналогично ранее выполняемым действиям при нахождении значений определителя вписываем координаты массива с квадратной матрицей.
  2. Убеждаемся в правильности выполненных действий и жмем «ОК».
  3. В выбранной верхней левой ячейке будущей обратной матрицы появится результат.
  4. Для копирования формулы для нахождения значений в других ячейках используем свободное выделение. Для этого, зажав ЛКМ, растягиваем на всю область будущей обратной матрицы.

Обратная матрица в Excel. Как найти обратную матрицу в Эксель в 2 этапа

  1. Жмем на клавиатуре кнопку F2 и переходим к набору комбинации «Ctrl+Shift+Enter». Готово!

Обратная матрица в Excel. Как найти обратную матрицу в Эксель в 2 этапа

Рекомендация эксперта! Для удобства выполнения действий по нахождению обратной матрицы в таблице Excel расположение массива с квадратной матрицей и выбранная область для ячеек с обратной матрицей должны располагаться на одном уровне по отношению к столбцам. Таким образом будет проще определить границы адресации второго массива. Пример указан на иллюстрации ниже.

Обратная матрица в Excel. Как найти обратную матрицу в Эксель в 2 этапа

Операции с матрицами

Выше мы привели пример сложение, умножение матриц и транспонирование матрицы. Мы использовали вложенные списки, прежде чем создавать эти программы. Рассмотрим, как выполнить ту же задачу, используя массив NumPy.

Сложение двух матриц или сумма элементов массива Python

Мы используем оператор +, чтобы сложить соответствующие элементы двух матриц NumPy.

Умножение двух матриц Python

Чтобы умножить две матрицы, мы используем метод dot(). Узнайте больше о том, как работает numpy.dot .

Примечание: * используется для умножения массива (умножения соответствующих элементов двух массивов), а не умножения матрицы.

Транспонирование матрицы питон

Мы используем numpy.transpose для вычисления транспонирования матрицы.

Как видите, NumPy значительно упростил нашу задачу.

Решение матричных уравнений

Матричные уравнения могут иметь вид:

АХ = В, ХА = В, АХВ = С,

где А,В,С — задаваемые матрицы, Х- искомая матрица.

Матричные уравнения решаются с помощью умножения уравнения на обратные матрицы.

Например, чтобы найти матрицу из уравнения , необходимо умножить это уравнение на слева.

Читайте так же:
Замена привязанного аккаунта Facebook в Instagram

Тогда:

Следовательно, чтобы найти решение уравнения , нужно найти обратную матрицу и умножить ее на матрицу , стоящие в правой части уравнения.

Аналогично решаются другие уравнения.

Решить уравнение АХ = В, если

Решение: Так как обратная матрица равняется (см. пример 1)

Суть Алгоритма Барейса

Рис. Суть Алгоритма Барейса. Вложенные циклы

  • если матрица состоит из целых чисел, алгоритм Барейса позволяет привести её к треугольному виду с использованием только целочисленной арифметики;
  • определитель исходной матрицы равен правому нижнему элементу матрицы, полученной в результате алгоритма Барейса, т.е. не нужно выполнять перемножение элементов главной диагонали, как после алгоритма Гаусса;
  • алгоритм Барейса так же, как и алгоритм Гаусса, может быть улучшен путём добавления перестановки строк, но в нашей задаче это излишне;

Поэтому код VBA приведения будет следующим:
For j = 1 To n — 1
jj = mR.Cells(j, j) ‘определяем первый множитель

If j = 1 Then ‘определяем знаменатель
znm = 1
Else
znm = mR.Cells(j — 1, j — 1)
If znm = 0 Then Exit Function
End If

For i = j + 1 To n
ij = mR.Cells(i, j) ‘определяем второй множитель

For k = j To n
mR.Cells(i, k) = (jj * mR.Cells(i, k) — ij * mR.Cells(j, k)) / znm
Next k

Где mR as Range – переменная модуля, ссылающаяся на выделенная область.

j— индексы строк, а i— индексы столбцов выделенной области.
Ячейка, обозначенная как а-1,-1 лежит вне области выделения (т.е. выше и левее ячейки а0,0 ) и ей в начальный период обязательно присваивается 1. В своей функции вместо а-1,-1 я использую переменную znm (от знаменатель) и базовое значение счетчиков 1 вместо 0. Суть алгоритма это не меняет. При пошаговом выполнении программы прекрасно прослеживается постепенное приведение матрицы к верхнему треугольному виду.

P.S.

Вводные уроки по “Линейной алгебре на Python” вы можете найти соответствующей странице нашего сайта . Все уроки по этой теме собраны в книге “Линейная алгебра на Python”.
Книга: Линейная алгебра на Python
Если вам интересна тема анализа данных, то мы рекомендуем ознакомиться с библиотекой Pandas. Для начала вы можете познакомиться с вводными уроками. Все уроки по библиотеке Pandas собраны в книге “Pandas. Работа с данными”.
Книга: Pandas. Работа с данными

Читайте так же:
Какие есть сочетания клавиш в Яндекс браузере

Поделиться

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector