Как решать матричные уравнения в Excel: формулы, примеры и типичные ошибки

При попытке решить матричное уравнение типа AX = B в Microsoft Excel пользователи часто сталкиваются с ошибкой #ЗНАЧ! или получают некорректные результаты из-за неправильного применения функций МОБР и МУМНОЖ. Проблема кроется не в синтаксисе, а в структуре данных: Excel требует, чтобы матрица коэффициентов A была квадратной (количество строк = количеству столбцов) и имела ненулевой определитель. Если при вводе формулы массива вы забыли нажать Ctrl+Shift+Enter, результат отобразится только в одной ячейке, а не во всем диапазоне решений.

В этой статье разберём пошаговый алгоритм решения матричных уравнений в Excel на примере системы из 3 уравнений с 3 неизвестными, а также покажем, как избежать типичных ошибок: несоответствие размерностей матриц, деление на ноль при вырожденной матрице и неправильное форматирование входных данных. Особое внимание уделим проверке результата путём подстановки найденного решения обратно в исходное уравнение.

1. Подготовка данных: как правильно ввести матрицы в Excel

Перед решением уравнения AX = B необходимо корректно организовать исходные данные. Матрица коэффициентов A и вектор свободных членов B должны быть введены в отдельные диапазоны ячеек. Например, для системы:


2x + 3y - z = 5

x - y + 4z = 0

3x + 2y + z = 7

Матрица A будет выглядеть как массив 3×3 (коэффициенты при x, y, z), а вектор B — как столбец 3×1 (свободные члены).

  • 📌 Введите матрицу A в диапазон A1:C3 (например, строка 1: 2, 3, -1; строка 2: 1, -1, 4; строка 3: 3, 2, 1).
  • 📌 Вектор B разместите в E1:E3 (значения: 5, 0, 7).
  • 📌 Убедитесь, что все ячейки имеют числовой формат (не текстовый!).

2. Проверка определителя: почему Excel выдаёт ошибку #ЧИСЛО!

Ошибка #ЧИСЛО! при вычислении обратной матрицы (МОБР) означает, что определитель матрицы A равен нулю, то есть матрица вырожденная. В этом случае уравнение либо не имеет решений, либо имеет бесконечно много. Чтобы избежать проблемы:

  1. Вычислите определитель матрицы A с помощью функции =МОПРЕД(A1:C3).
  2. Если результат равен 0 (или близок к 0 с учётом погрешностей вычислений), проверьте исходные данные на ошибки ввода.
  3. Для вырожденных матриц используйте псевдообратную матрицу (функция МОБР не подходит!).
⚠️ Внимание: Если определитель матрицы A меньше 1E-10, Excel может ошибочно посчитать её невырожденной, но решение будет содержать большие погрешности. В таких случаях рекомендуется использовать специализированное ПО (например, MATLAB или Wolfram Alpha).
Причина ошибкиСимптом в ExcelРешение
Вырожденная матрица A#ЧИСЛО! в МОБРПроверить определитель (МОПРЕД), исправить данные
Несоответствие размеров матриц#ЗНАЧ! в МУМНОЖУбедиться, что число столбцов A = числу строк X
Формула не введена как массивРезультат только в одной ячейкеНажать Ctrl+Shift+Enter после ввода
Текстовый формат ячеек#ЗНАЧ! или неверные расчётыПреобразовать ячейки в числовой формат

3. Решение уравнения AX = B: пошаговый алгоритм

Для нахождения вектора X используйте формулу X = A⁻¹B, где A⁻¹ — обратная матрица. В Excel это реализуется через комбинацию функций МОБР (обратная матрица) и МУМНОЖ (умножение матриц).

  1. Выделите диапазон для результата (например, G1:G3 для вектора X 3×1).
  2. Введите формулу массива:
    =МУМНОЖ(МОБР(A1:C3); E1:E3)
  3. Нажмите Ctrl+Shift+Enter (Excel добавит фигурные скобки {} вокруг формулы).

Результат — значения x, y, z в ячейках G1:G3. Для проверки умножьте матрицу A на полученный вектор X (должен получиться вектор B).

Выделить диапазон для результата|Ввести формулу с МОБР и МУМНОЖ|Нажать Ctrl+Shift+Enter|Сверить результат с вектором B-->

4. Альтернативный метод: функция ЛИНЕЙН для переопределённых систем

Если матрица A не квадратная (например, 4×3), классическое решение AX = B невозможно. В этом случае используйте функцию ЛИНЕЙН, которая находит приближённое решение методом наименьших квадратов:

=ЛИНЕЙН(B1:B4; A1:C4; ИСТИНА; ИСТИНА)

Аргументы функции:

  • 📊 B1:B4 — вектор свободных членов.
  • 📊 A1:C4 — матрица коэффициентов.
  • 📊 ИСТИНА — вычислять дополнительную статистику (опционально).
⚠️ Внимание: Функция ЛИНЕЙН возвращает коэффициенты в обратном порядке (сначала z, затем y, x). Чтобы получить правильный порядок, используйте =ИНДЕКС(ЛИНЕЙН(...); 1) для x, =ИНДЕКС(ЛИНЕЙН(...); 2) для y и т.д.

5. Типичные ошибки и как их исправить

Даже при правильном вводе формул пользователи часто сталкиваются с неточными результатами. Рассмотрим наиболее распространённые проблемы:

  • 🔢 Округление чисел: Excel хранит числа с ограниченной точностью (15 знаков). Для критичных расчётов увеличьте разрядность отображаемых знаков через Формат ячеек → Числовой → 10 десятичных знаков.
  • 🔢 Несовпадение размеров: Если матрица A размером 3×3, а вектор B — 4×1, функция МУМНОЖ вернёт ошибку. Проверьте размеры диапазонов.
  • 🔢 Текст вместо чисел: Пробелы или невидимые символы (например, после копирования из PDF) приводят к #ЗНАЧ!. Используйте =ЧИСТ(текст) для очистки данных.

Функции МОБР и МУМНОЖ|Функция ЛИНЕЙН|Ручной расчёт|Другое ПО (MATLAB, Python)-->

6. Продвинутые приёмы: решение уравнений с комплексными числами

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


(1+2i)x + (3-i)y = 4 + i

(2-i)x + (1+3i)y = 3 - 2i

Создайте две отдельные системы уравнений: одну для действительных частей, другую — для мнимых. Решите их по отдельности, затем объедините результаты.

Пример разделения на действительную и мнимую части

Для уравнения (a+bi)x + (c+di)y = e+fi составьте две системы:

1. a·x + c·y = e (действительная часть)

2. b·x + d·y = f (мнимая часть)

Решите каждую систему отдельно, затем объедините решения в комплексный вид: x = x₁ + x₂i, y = y₁ + y₂i.

7. Автоматизация: создание шаблона для повторных расчётов

Если вам регулярно приходится решать матричные уравнения, создайте шаблон в Excel:

  1. Зафиксируйте диапазоны для матриц A и B (например, A$1:C$3 и E$1:E$3).
  2. В отдельном листе разместите формулы с МОБР и МУМНОЖ, ссылаясь на зафиксированные диапазоны.
  3. Добавьте проверку определителя через условное форматирование (например, красный цвет при МОПРЕД(A1:C3) = 0).

Такой шаблон позволит вводить новые коэффициенты без повторного создания формул. Для удобства добавьте кнопку "Решить" с макросом, который обновляет расчёты:


Sub РешитьУравнение()

Range("G1:G3").FormulaArray = "=MMULT(MINVERSE(A1:C3), E1:E3)"

Range("G1:G3").Calculate

End Sub

Часто задаваемые вопросы

Можно ли решить уравнение AX = B, если матрица A не квадратная?

Нет, классическое решение X = A⁻¹B возможно только для квадратных матриц с ненулевым определителем. Для неквадратных матриц используйте функцию ЛИНЕЙН (метод наименьших квадратов) или псевдообратную матрицу (вручную через МУМНОЖ и ТРАНСП).

Почему после ввода формулы результат отображается только в одной ячейке?

Вы забыли нажать Ctrl+Shift+Enter. Формулы МОБР и МУМНОЖ возвращают массив значений, поэтому требуют ввода как формулы массива. Выделите диапазон для результата, введите формулу и завершите комбинацией клавиш.

Как проверить правильность решения?

Умножьте матрицу A на полученный вектор X с помощью МУМНОЖ. Если результат совпадает с вектором B (с учётом погрешностей округления), решение верное. Например:

=МУМНОЖ(A1:C3; G1:G3)

должен вернуть значения, близкие к E1:E3.

Что делать, если определитель матрицы равен нулю?

В этом случае уравнение либо не имеет решений, либо имеет бесконечно много. Проверьте:

  • Корректность введённых коэффициентов (опечатки, лишние пробелы).
  • Линейную зависимость строк/столбцов (если одна строка является линейной комбинацией других, матрица вырожденная).

Для анализа используйте разложение по сингулярным числам (в Excel не реализовано, потребуется Python с библиотекой numpy).

Можно ли решить матричное уравнение в Google Sheets?

Да, в Google Таблицах используются аналогичные функции, но с английскими названиями:

  • =MINVERSE вместо МОБР,
  • =MMULT вместо МУМНОЖ.

Формулы массива также вводятся через Ctrl+Shift+Enter.