Здравствуйте, дорогие друзья! В одной из наших статей я познакомил Вас с матрицами. И пообещал показать как можно быстро решать большие уравнения с помощью матриц. Ну, не будем затягивать с работой, берем нашу «суперматрицу», которую я пообещал решить, и, за работу.
Если Вы читали прошлую статью по математике, то проблем с пониманием того, что я делаю, у Вас не возникнет.
Такие матрицы я рекомендую решать последовательно, то есть разделить всё решение на действия.
1. Составляем саму матрицу:
2. Определяем выражения, по которым будем искать определитель матрицы:
Ну, если энтузиазм Ваш не улепетывает, сверкая пятками, увидев всё это, то продолжим:
3. Распишем каждый определитель:
3.1 Первый определитель:
3.1.1 Первый определитель первого определителя:
Думаю, у Вас уже в глазах зарябило от обилия цифр. А это был первый из сорока двух подобных определителей! Неслабо? определителей Поэтому оставшиеся расчеты мы проведем условно, то есть я проведу их и запишу ответ:
3.2…4 Находим определитель матрицы (1):
Вы ведь представляете объём работы? Да-да, числа в этой матрице – те самые миноры, которые мы получали при вычислении определителя. Хорошо, идём дальше, находим матрицу неизвестных Х:
Я записал округленные значения неизвестных, так как в таком виде они наиболее воспринимаются глазом.
4. 1 Выполним проверку:
И так далее…
В общей сложности на решение таким методом у меня ушло несколько часов, Ворд от обилия формул начал «подвисать». А теперь, решим эту же систему уравнений за несколько минут. Используем метод Гаусса для решения. Он заключается в том, чтобы максимально упростить матрицу, а уже после этого решить систему уравнений.
Записываем нашу матрицу:
Такое представление матрицы называется развернутым. А теперь самое интересное: помните, мы говорили о том, что строки в матрице можно переставить? Ведь от изменения места нахождения уравнения в системе уравнений, неизвестные не примут другого значения? Итак, упрощение сводится к тому, чтобы под главной диагональю матрицы получить нулевые компоненты (главная диагональ – это последовательность элементов в матрице, расположенная по диагонали от верхнего левого элемента до нижнего правого, то есть в нашей матрице главная диагональ включает в себя элементы: 15, 12, 5, 9, 19, 15, 3). Сама же главная диагональ должна содержать единицы. В процессе решения Вы всё поймете. Сразу разберемся как мы будем упрощать матрицу. Для этого возьмём какую-нибудь «левую» систему уравнений и на её примере во всём разберемся. Пусть у нас имеется вот такая система:
Я буду показывать действия с матрицей, а одновременно проводить аналогию с системой уравнений (3). Для того, чтобы получить единицу вместо четверки в первой строчке мы можем долго думать и преобразовывать уравнения, а можем просто взять и поменять местами первую и третью строку:
Одна единица есть, теперь нам нужно получить на месте двойки во второй строке нуль, а на месте пятерки желательно единицу. Как это сделать. В системе уравнений мы можем складывать, вычитать, умножать и делить уравнения друг на друга – это не запрещено. Давайте вычтем из второго уравнения первое, умноженное на два точнее прибавим выражение, умноженное на минус два:
Идем дальше: нужно получить нули в третьей строке матрицы на месте четверки и десятки. Получаем нуль вместо четверки: прибавляем к третьему уравнению первое, умноженное на минус четыре:
Этот шаг, думаю Вам понятен. А теперь смотрим: мы можем сначала во второй строке получить вместо тройки единицу, а затем в третьей строке вместо шестерки – нуль, но можем поступить и наоборот, ведь гораздо удобнее прибавить к третьей строке вторую, умноженную на минус два?
Теперь получаем во второй строке вместо тройки единицу. Нам повезло, что все числа в этой строке кратны трём, так что мы просто делим левую и правую сторону уравнения на три:
По сути, мы нашли одну неизвестную: х3. Теперь смотрим внимательно на систему уравнений: в третьем уравнении неизвестная найдена, во втором содержится неизвестная х2 и найденная х3. Думаю, Вы поняли, что нужно выразить неизвестную х2 во втором уравнении. Делаем это: прибавляем ко второму уравнению третье, умноженное на два, то есть избавляемся от х3 во втором уравнении:
И, наконец, последняя неизвестная: х3. Для того, чтобы её найти, нам нужно последовательно прибавить к первому уравнению второе уравнение, умноженное на минус один и третье уравнение, умноженное на минус четыре:
Готово. Решение найдено. Ну, если принцип поняли, то возвращаемся к нашей «ужасной» матрице (2).
Предлагаю сделать очевидное: к четвертой строке прибавим пятую,умноженную на минус один, а ко второй седьмую, умноженную на минус один:
Продолжим, разделим третью строку на минус 38, четвертую на 12, пятую на 401, шестую на -728, седьмую на 583:
Полагаю, принцип Вы поняли. Сегодня статья была довольно объемной, но смысл её в том, что даже очень большие системы уравнений можно решать быстро. Метод, который мы рассмотрели, называется методом Гаусса. Чтож, в следующей статье мы рассмотрим некоторые аспекты программирования, предупреждаю сразу, мы постепенно будем осваивать С++, Verilog, VHDL, HTML, а также язык матлаба. Если эта статья была Вам полезна, поставьте лайк, я по крайней мере буду знать, что трачу время не напрасно. Если Вы еще не подписаны на мой канал, срочно это исправьте, также можете поделиться этой статьей с друзьями, возможно им она также будет полезна. Спасибо, что читаете! Удачи!