Обратная матрица — это ключевой инструмент линейной алгебры, который находит применение в решении систем уравнений, оптимизации, статистическом анализе и даже машинном обучении. В Microsoft Excel её можно вычислить без сложных ручных расчётов, но для этого нужно знать правильные функции и нюансы их применения.
Многие пользователи сталкиваются с ошибками при попытке найти обратную матрицу — от банального #ЗНАЧ! до неверных размерностей. В этой статье мы разберём три надёжных метода: стандартную функцию МОБР, альтернативный подход с МУМНОЖ и даже ручной расчёт через алгебраические дополнения. Вы узнаете, как избежать типичных ошибок и когда обратная матрица вообще не существует.
Особое внимание уделим практическим примерам: от простых квадратных матриц 2×2 до сложных случаев с проверкой на вырожденность. А в конце статьи вас ждёт FAQ-блок с ответами на частые вопросы — например, почему Excel иногда отказывается считать обратную матрицу для корректных на первый взгляд данных.
Метод 1: Функция МОБР — классический способ
Самый простой и распространённый способ найти обратную матрицу в Excel — использовать встроенную функцию МОБР (или MINVERSE в английской версии). Она работает с квадратными матрицами (где число строк равно числу столбцов) и возвращает матрицу, умножение которой на исходную даёт единичную.
Чтобы применить МОБР, выполните следующие шаги:
- 📌 Выделите на листе пустую область, размер которой совпадает с исходной матрицей (например, для матрицы
3×3выделите диапазон3×3). - 🔹 Введите формулу:
=МОБР(A1:C3), гдеA1:C3— адрес вашей матрицы. - 🔘 Нажмите
Ctrl+Shift+Enter(это важно!), чтобы Excel обработал формулу как массивную.
Если всё сделано правильно, в выделенных ячейках появится обратная матрица. Обратите внимание: функция МОБР вернёт ошибку #ЧИСЛО!, если матрица вырожденная (её определитель равен нулю). В таких случаях обратная матрица не существует.
Метод 2: Ручное вычисление через алгебраические дополнения
Для тех, кто хочет разобраться в математике процесса или работает с версиями Excel без МОБР (например, в Excel Online с ограниченным функционалом), подойдёт метод алгебраических дополнений. Он сложнее, но даёт полное понимание механизма.
Алгоритм включает несколько этапов:
- Найдите определитель матрицы (
МОПРЕД). Если он равен нулю — обратной матрицы нет. - Постройте матрицу алгебраических дополнений для каждого элемента.
- Транспонируйте полученную матрицу (поменяйте строки и столбцы местами).
- Разделите каждый элемент транспонированной матрицы на определитель исходной.
На практике это выглядит так:
- 🧮 Для матрицы
2×2формула обратной матрицы упрощается:=1/МОПРЕД(A1:B2)*{B2, -A2; -B1, A1}Здесь
A1:B2— адрес исходной матрицы, а фигурные скобки обозначают ввод как массива. - 🔢 Для матриц
3×3и больше процесс становится громоздким, но его можно автоматизировать с помощью промежуточных вычислений в отдельных ячейках.
Почему этот метод сложнее?
Алгебраические дополнения требуют вычисления миноров для каждого элемента матрицы, что для больших размерностей (например, 4×4) приводит к десяткам промежуточных операций. Кроме того, легко допустить ошибку при транспонировании или делении на определитель. Однако этот метод незаменим, если нужно понять внутреннюю логику или если МОБР недоступна.
Метод 3: Использование функции МУМНОЖ для проверки результата
После нахождения обратной матрицы её стоит проверить. Для этого умножьте исходную матрицу на обратную — в результате должна получиться единичная матрица (с единицами на главной диагонали и нулями в остальных ячейках). В Excel это делается функцией МУМНОЖ (или MMULT):
Пример проверки:
- Пусть исходная матрица в диапазоне
A1:C3, а обратная — вE1:G3. - Выделите пустой диапазон
3×3(например,A5:C7). - Введите формулу:
=МУМНОЖ(A1:C3; E1:G3)и нажмитеCtrl+Shift+Enter.
Если в результате вы увидели единичную матрицу (с погрешностью до 1E-10 из-за округлений), значит, обратная матрица найдена верно. Отклонения больше 0.000001 говорят об ошибке в расчётах.
Типичные ошибки и как их избежать
Даже опытные пользователи Excel иногда сталкиваются с проблемами при вычислении обратных матриц. Вот наиболее распространённые ошибки и способы их решения:
- ❌ Ошибка #ЗНАЧ! — возникает, если вы забыли нажать
Ctrl+Shift+Enterдля массива. Всегда проверяйте, появились ли фигурные скобки{}вокруг формулы в строке ввода. - ❌ Ошибка #ЧИСЛО! — сигнализирует о вырожденной матрице (определитель = 0). Используйте
МОПРЕДдля предварительной проверки. - ❌ Неправильный размер диапазона — если выделить область больше или меньше исходной матрицы, Excel вернёт некорректный результат или ошибку.
- ❌ Округление значений — обратные матрицы часто содержат дробные числа. Установите формат ячеек "Числовой" с достаточным количеством десятичных знаков (например, 10).
Убедиться, что матрица квадратная (строки = столбцы)
Проверить определитель функцией МОПРЕД (не должен быть 0)
Выделить пустой диапазон того же размера, что и исходная матрица
Использовать Ctrl+Shift+Enter для ввода массива
Проверить результат умножением на исходную матрицу (должна получиться единичная)
-->
Особое внимание уделите вырожденным матрицам. Например, если в матрице 3×3 одна строка является линейной комбинацией других, её определитель будет равен нулю, и МОБР не сработает. В таких случаях используйте метод псевдообратной матрицы (функция МОБР не подходит, но можно применить ТРАНСП и МУМНОЖ с дополнительными вычислениями).
Практический пример: обратная матрица 3×3
Рассмотрим пошаговое вычисление обратной матрицы для следующего примера:
| Исходная матрица (A) | Ячейка | Значение |
|---|---|---|
| A = | A1 | 4 |
| A2 | 7 | |
| A3 | 2 | |
| B1 | 1 | |
| B2 | 0 | |
| B3 | 3 | |
| C1 | 5 | |
| C2 | 8 | |
| C3 | 6 |
Шаги решения:
- Проверяем определитель:
=МОПРЕД(A1:C3)→ результат-36(не ноль, обратная матрица существует). - Выделяем диапазон
E1:G3(пустой блок3×3). - Вводим формулу:
=МОБР(A1:C3)и подтверждаемCtrl+Shift+Enter.
Результат (обратная матрица A⁻¹):
| Обратная матрица | E1 | F1 | G1 |
|---|---|---|---|
| E | -0.222 | 0.389 | 0.194 |
| F | 0.056 | -0.111 | 0.083 |
| G | 0.139 | 0.056 | -0.194 |
Критическая деталь: значения в обратной матрице часто имеют много знаков после запятой. Если вы видите в ячейках округлённые числа (например, 0.22 вместо 0.222222...), увеличьте количество десятичных знаков в формате ячеек, иначе проверка через МУМНОЖ может дать ложный результат.
Когда обратная матрица не существует: что делать?
Если функция МОПРЕД возвращает ноль, это означает, что строки или столбцы матрицы линейно зависимы (одна строка может быть выражена через другие). В таких случаях обратная матрица не определена, но есть альтернативы:
- 🔄 Псевдообратная матрица Мура-Пенроуза — обобщение понятия обратной матрицы для вырожденных случаев. В Excel её можно вычислить через комбинацию
ТРАНСП,МУМНОЖиМОБРдля матрицыAᵀAилиAAᵀ. - 📉 Метод наименьших квадратов — если вам нужно решить систему уравнений
Ax = bс вырожденной матрицейA, используйте формулу:=МУМНОЖ(МУМНОЖ(МОБР(МУМНОЖ(ТРАНСП(A1:C3); A1:C3))); ТРАНСП(A1:C3)); b1:b3). - 🔍 Регуляризация — добавление небольшой константы к диагональным элементам матрицы перед нахождением обратной (метод Тихонова).
Пример вычисления псевдообратной матрицы для вырожденной матрицы 2×3:
- Вычислите
AᵀA:=МУМНОЖ(ТРАНСП(A1:C2); A1:C2). - Найдите обратную к
AᵀA:=МОБР(МУМНОЖ(ТРАНСП(A1:C2); A1:C2)). - Умножьте на
Aᵀ:=МУМНОЖ(МОБР(МУМНОЖ(ТРАНСП(A1:C2); A1:C2)); ТРАНСП(A1:C2)).
Автоматизация: VBA-скрипт для обратной матрицы
Если вам часто приходится работать с обратными матрицами, можно создать пользовательскую функцию на VBA, которая будет возвращать результат без необходимости вручную выделять диапазоны и нажимать Ctrl+Shift+Enter. Вот пример кода:
Function InverseMatrix(rng As Range) As Variant
Dim arr() As Variant
Dim result() As Variant
Dim i As Long, j As Long
' Проверка на квадратность
If rng.Rows.Count <> rng.Columns.Count Then
InverseMatrix = "Ошибка: матрица не квадратная"
Exit Function
End If
' Вычисление обратной матрицы
On Error Resume Next
arr = rng.Value
result = Application.WorksheetFunction.MInverse(arr)
If Err.Number <> 0 Then
InverseMatrix = "Ошибка: матрица вырожденная"
Exit Function
End If
On Error GoTo 0
InverseMatrix = result
End Function
Чтобы использовать эту функцию:
- Нажмите
Alt+F11, чтобы открыть редактор VBA. - Вставьте код в новый модуль (
Insert → Module). - Сохраните файл как
.xlsm(с поддержкой макросов). - Теперь в Excel можно использовать
=InverseMatrix(A1:C3)как обычную формулу (безCtrl+Shift+Enter).
Преимущества этого подхода:
- ✅ Нет нужды помнить о массивах — функция сама возвращает матрицу нужного размера.
- ✅ Автоматическая проверка на вырожденность и квадратность.
- ✅ Можно интегрировать в более сложные расчёты.
FAQ: Ответы на частые вопросы
Почему Excel выдаёт ошибку #ЧИСЛО! при использовании МОБР?
Ошибка #ЧИСЛО! означает, что матрица вырожденная (её определитель равен нулю). Это происходит, если:
- Строки или столбцы матрицы линейно зависимы (например, одна строка является суммой других).
- Матрица содержит нулевую строку или столбец.
- Числа в матрице слишком малы или велики, что приводит к ошибкам округления.
Решение: проверьте матрицу на вырожденность с помощью МОПРЕД или используйте псевдообратную матрицу.
Можно ли найти обратную матрицу для неквадратной матрицы?
Нет, обратная матрица определена только для квадратных матриц (где число строк равно числу столбцов). Для неквадратных матриц используйте:
- Левую псевдообратную матрицу:
(AᵀA)⁻¹Aᵀ(для матриц с числом строк > числа столбцов). - Правую псевдообратную матрицу:
Aᵀ(AAᵀ)⁻¹(для матриц с числом столбцов > числа строк).
Как проверить, что обратная матрица найдена верно?
Умножьте исходную матрицу на обратную с помощью МУМНОЖ. В результате должна получиться единичная матрица (с единицами на диагонали и нулями в остальных ячейках). Допускаются минимальные отклонения (порядка 1E-10) из-за округлений.
Пример формулы для проверки: =МУМНОЖ(A1:C3; E1:G3), где A1:C3 — исходная матрица, а E1:G3 — обратная.
Что делать, если в обратной матрице слишком много знаков после запятой?
Это нормально: обратные матрицы часто содержат дробные числа с большой точностью. Чтобы упростить восприятие:
- Установите формат ячеек "Числовой" с фиксированным количеством десятичных знаков (например, 4).
- Используйте функцию
ОКРУГЛ, если погрешность некритична:=ОКРУГЛ(МОБР(A1:C3); 4). - Для визуального контроля отобразите матрицу в экспоненциальном формате (
Настройки → Формат ячеек → Экспоненциальный).
Можно ли найти обратную матрицу в Google Sheets?
Да, в Google Таблицах для этого используется функция MINVERSE (аналог МОБР в Excel). Синтаксис идентичный:
- Выделите диапазон для результата.
- Введите
=MINVERSE(A1:C3). - Нажмите
Ctrl+Shift+Enter(или простоEnterв новой версии Google Sheets, где массивы обрабатываются автоматически).
Ограничение: в бесплатной версии Google Sheets максимальный размер матрицы — 10×10.