Обратная матрица с помощью элементарных преобразований
Для того что бы найти обратную матрицу можно использовать два метода: с помощью алгебраических дополнений (метод присоединённой (союзной) матрицы) или элементарных преобразований (метод Жордано-Гаусса). Рассмотрим как найти обратную матрицу с помощью элементарных преобразований.
Обратной матрицей называется матрицы A-1 при умножении на исходную матрицу A получается единичная матрица E.
A·A-1 = A-1 · A = E
Алгоритм нахождения обратной матрицы с помощью элементарных преобразований:
- Найти определитель (детерминант) матрицы A. Если определитель ≠ 0, то обратная матрица существует. Если определитель = 0, то обратная матрица не существует.
- Дописываем справа единичную матрицу
- Делаем обратный ход. Обнуляем все элементы (с помощью элементарных преобразований) левой матрицы стоящей над ее главной диагонали.
- Элементы главной диагонали левой матрицы, преобразуем в единицы.
Пример
Рассмотрим данный метод на примере. Дана матрицы 3х3:
Найдем определитель (детерминант) матрицы, detA = 8 обратная матрица существует.
Допишем к нашей матрице слева единичную матрицу.
Чтобы сделать нули под элементом a11, вычтем 1-ую строку из всех строк, что расположены ниже её, при чём, для того, чтобы работать с меньшими числами, поделим каждую из этих строк на a
Чтобы сделать нули над элементом a33, вычтем 3-ую строку с всех строк, что расположены выше её, при чём, для того, чтобы работать с меньшими числами, поделим каждую из этих строк на a33.
Чтобы сделать нули над элементом a22, вычтем 2-ую строку с всех строк, что расположены выше её, при чём, для того, чтобы работать с меньшими числами, поделим каждую из этих строк на a22.
Поделим каждую строку на элемент, который стоит на главной диагонали.
Вот мы и нашли обратную матрицу.
mozgan.ru
Элементарные преобразования матриц, с примерами
К элементарным преобразованиям над строками матриц относятся следующие преобразования:
- перестановка местами двух строк;
- умножение каждого элемента строки на одно и тоже, отличное от нуля, число;
- добавление к элементам строки соответствующих элементы другой строки, умноженные на некоторое ненулевое число.
Если матрица получена в результате элементарных преобразований строк матрицы , то матрицы и называются эквивалентными и обозначают .
Примеры элементарных преобразований матриц
Продемонстрируем элементарные преобразования строк на примере матрицы
1. Переставим местами первую и третью строки, при этом получится эквивалентная матрица, поэтому между ними ставим знак эквивалентности
2. Умножим первую строку последней матрицы на :
3. Прибавим к первой строке третью, умноженную на 4
Элементарные преобразования строк используются при нахождении ранга матрицы и лежат в основе метода Гаусса.
Понравился сайт? Расскажи друзьям! | |||
ru.solverbook.com
как преобразовать матрицу значений в двоичную матрицу
Я хотел бы преобразовать матрицу значений в матрицу «бит».
Я искал решения и нашел this, который, кажется, является частью решения. Я попытаюсь объяснить, что я ищу. У меня есть матрица, как
> x<-matrix(1:20,5,4) > x [,1] [,2] [,3] [,4] [1,] 1 6 11 16 [2,] 2 7 12 17 [3,] 3 8 13 18 [4,] 4 9 14 19 [5,] 5 10 15 20
, который я хотел бы преобразовать в
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0
2 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0
3 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0
4 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0
5 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1
так что для каждого значения в строке «1» в соответствующем столбце.
Если я использую
> table(sequence(length(x)),t(x)) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 5 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 9 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 13 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 14 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 15 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 17 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 18 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 19 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 20 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
это близко к тому, что я ищу, но возвращает строку для каждого значения.
Мне нужно было бы только объединить все значения из одной строки в одну строку. Поскольку
> table(x)
x
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
дает Alls значения всей таблицы, так что мне нужно сделать, чтобы получить значения в каждом ряду.
stackoverrun.com
matrix – как преобразовать матрицу значений в двоичную матрицу
Я хотел бы преобразовать матрицу значений в матрицу из “бит”.
Я искал решения и нашел этот, который, кажется, является частью решения. Я попытаюсь объяснить, что я ищу. У меня есть матрица типа
> x<-matrix(1:20,5,4)
> x
[,1] [,2] [,3] [,4]
[1,] 1 6 11 16
[2,] 2 7 12 17
[3,] 3 8 13 18
[4,] 4 9 14 19
[5,] 5 10 15 20
который я хотел бы преобразовать в
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 2 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 3 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 4 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 5 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1
поэтому для каждого значения в строке a “1” в соответствующем столбце.
Если я использую
> table(sequence(length(x)),t(x)) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 5 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 9 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 13 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 14 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 15 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 17 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 18 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 19 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 20 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
это близко к тому, что я ищу, но возвращает строку для каждого значения.
Мне нужно было бы только объединить все значения из одной строки в одну строку. Поскольку
> table(x)
x
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
дает значения alls всей таблицы, поэтому что мне нужно сделать, чтобы получить значения для каждой строки.
qaru.site
Функции для работы с матрицами в Excel
В программе Excel с матрицей можно работать как с диапазоном. То есть совокупностью смежных ячеек, занимающих прямоугольную область.
Адрес матрицы – левая верхняя и правая нижняя ячейка диапазона, указанные черед двоеточие.
Формулы массива
Построение матрицы средствами Excel в большинстве случаев требует использование формулы массива. Основное их отличие – результатом становится не одно значение, а массив данных (диапазон чисел).
Порядок применения формулы массива:
- Выделить диапазон, где должен появиться результат действия формулы.
- Ввести формулу (как и положено, со знака «=»).
- Нажать сочетание кнопок Ctrl + Shift + Ввод.
В строке формул отобразится формула массива в фигурных скобках.
Чтобы изменить или удалить формулу массива, нужно выделить весь диапазон и выполнить соответствующие действия. Для введения изменений применяется та же комбинация (Ctrl + Shift + Enter). Часть массива изменить невозможно.
Решение матриц в Excel
С матрицами в Excel выполняются такие операции, как: транспонирование, сложение, умножение на число / матрицу; нахождение обратной матрицы и ее определителя.
Транспонирование
Транспонировать матрицу – поменять строки и столбцы местами.
Сначала отметим пустой диапазон, куда будем транспонировать матрицу. В исходной матрице 4 строки – в диапазоне для транспонирования должно быть 4 столбца. 5 колонок – это пять строк в пустой области.
- 1 способ. Выделить исходную матрицу. Нажать «копировать». Выделить пустой диапазон. «Развернуть» клавишу «Вставить». Открыть меню «Специальной вставки». Отметить операцию «Транспонировать». Закрыть диалоговое окно нажатием кнопки ОК.
- 2 способ. Выделить ячейку в левом верхнем углу пустого диапазона. Вызвать «Мастер функций». Функция ТРАНСП. Аргумент – диапазон с исходной матрицей.
Нажимаем ОК. Пока функция выдает ошибку. Выделяем весь диапазон, куда нужно транспонировать матрицу. Нажимаем кнопку F2 (переходим в режим редактирования формулы). Нажимаем сочетание клавиш Ctrl + Shift + Enter.
Преимущество второго способа: при внесении изменений в исходную матрицу автоматически меняется транспонированная матрица.
Сложение
Складывать можно матрицы с одинаковым количеством элементов. Число строк и столбцов первого диапазона должно равняться числу строк и столбцов второго диапазона.
В первой ячейке результирующей матрицы нужно ввести формулу вида: = первый элемент первой матрицы + первый элемент второй: (=B2+h3). Нажать Enter и растянуть формулу на весь диапазон.
Умножение матриц в Excel
Условие задачи:
Чтобы умножить матрицу на число, нужно каждый ее элемент умножить на это число. Формула в Excel: =A1*$E$3 (ссылка на ячейку с числом должна быть абсолютной).
Умножим матрицу на матрицу разных диапазонов. Найти произведение матриц можно только в том случае, если число столбцов первой матрицы равняется числу строк второй.
В результирующей матрице количество строк равняется числу строк первой матрицы, а количество колонок – числу столбцов второй.
Для удобства выделяем диапазон, куда будут помещены результаты умножения. Делаем активной первую ячейку результирующего поля. Вводим формулу: =МУМНОЖ(A9:C13;E9:h21). Вводим как формулу массива.
Обратная матрица в Excel
Ее имеет смысл находить, если мы имеем дело с квадратной матрицей (количество строк и столбцов одинаковое).
Размерность обратной матрицы соответствует размеру исходной. Функция Excel – МОБР.
Выделяем первую ячейку пока пустого диапазона для обратной матрицы. Вводим формулу «=МОБР(A1:D4)» как функцию массива. Единственный аргумент – диапазон с исходной матрицей. Мы получили обратную матрицу в Excel:
Нахождение определителя матрицы
Это одно единственное число, которое находится для квадратной матрицы. Используемая функция – МОПРЕД.
Ставим курсор в любой ячейке открытого листа. Вводим формулу: =МОПРЕД(A1:D4).
Таким образом, мы произвели действия с матрицами с помощью встроенных возможностей Excel.
exceltable.com
Обратная матрица в Excel | TutorExcel.Ru
Подробно рассмотрим особенности вычисления обратной матрицы в Excel и примеры использования функции МОБР.
В первую очередь освежим в памяти, что обратная матрица — это матрица (записывается как A-1), при умножении которой на исходную матрицу (A) дает единичную матрицу (E), другими словами выполняется формула:
Из определения следует важное свойство, что обратная матрица определена только для квадратных (т.е. число строк и столбцов совпадает) и невырожденных матриц (т.е. определитель отличен от нуля).
Как найти обратную матрицу в Excel?
В отличие от транспонированной матрицы, вычислить обратную матрицу технически несколько сложнее.
Посчитать обратную матрицу можно через построение матриц алгебраических дополнений и определителя исходной матрицы.
Однако сложность вычисления по данному алгоритму имеет квадратичную зависимость от порядка матрицы.
К примеру, для обращения квадратной матрицы 3-го порядка нам необходимо будет дополнительно сделать 9 матриц алгебраических дополнений, транспонировать итоговую созданную матрицу и поэлементно разделить на определитель начальной матрицы, что затрудняет возможность подобного расчета в Excel.
Поэтому воспользуемся стандартной функцией МОБР, которая позволит найти обратную матрицу:
Функция МОБР
Синтаксис и описание функции МОБР в Excel:
МОБР(массив)
Возвращает обратную матрицу (матрица хранится в массиве).
- Массив (обязательный аргумент) — числовой массив, содержащий матрицу с одинаковым числом столбцов и строк.
Рассмотрим расчет обратной матрицы посредством функции МОБР на конкретном примере.
Предположим у нас имеется следующая квадратная матрица 3-го порядка:
Выделяем диапазон пустых ячеек E2:G4, куда мы в дальнейшем поместим обратную матрицу.
Не снимая выделения ячеек вводим формулу =МОБР(A2:C4) и нажимаем комбинацию клавиш Ctrl + Shift + Ввод для расчета формулы массива по данному диапазону:
При работе с функцией МОБР могут возникнуть следующие ошибки:
- В том случае, когда исходная матрица является вырожденной (определитель равен нулю), то функция вернет ошибку #ЧИСЛО!;
- Если число строк и столбцов в матрице не совпадает, то функция возвратит ошибку #ЗНАЧ!;
- Функция также вернет ошибку #ЗНАЧ!, если хотя бы один из элементов матрицы является пустым или записан в текстовом виде.
Удачи вам и до скорой встречи на страницах блога Tutorexcel.ru!
Поделиться с друзьями:
Поиск по сайту:
tutorexcel.ru