Обращение
матриц — функции inv, pinv
Обращение
матриц — одна из наиболее распространенных операций матричного анализа.
Обратной
называют матрицу, получаемую в результате деления единичной матрицы Е на
исходную матрицу X. Таким образом, Х^-1=Е/Х. Следующие функции обеспечивают
реализацию данной операции:
-
inv(X)
— возвращает матрицу, обратную квадратной матрице X. Предупреждающее сообщение
выдается, если X плохо масштабирована или близка к вырожденной.
Пример:
»
inv(rand(4,4))
ans =
2.2631
-2.3495-0.4696-0.6631
-0.76201.2122
1.7041 -1.2146
-2.04081.4228
1.5538 1.3730
1.3075 -0.0183-2.54830.6344
На практике
вычисление явной обратной матрицы не так уж необходимо. Чаще операцию обращения
применяют при решении системы линейных уравнений вида Ах=b. Один из путей решения
этой системы — вычисление x=inv(A)*b. Но лучшим с точки зрения минимизации времени
расчета и повышения точности вычислений является использование оператора матричного
деления х=А\b. Эта операция использует метод исключения Гаусса без явного формирования
обратной матрицы.
-
В = pinv(A)
— возвращает матрицу, псевдообратную матрице А (псевдообращение матрицы
по Муру-Пенроузу). Результатом псевдообращения матрицы по Муру-Пенроузу
является матрица В того же размера, что и А', и удовлетворяющая условиям
А*В*А=А и В*А*В=В. Вычисление основано на использовании функции svd(A) и
приравнивании к нулю всех сингулярных чисел, меньших величины tol;
-
В = pinv
(A. tol) — возвращает псевдообратную матрицу и отменяет заданный по умолчанию
порог, равный max(size(A))*norm(A)*eps.
Пример:
»
pinv(rand(4,3))
ans
=
-1.3907-0.0485-0.24931.8640
-0.87751.1636
0.6605 -0.0034
2.0906 -0.5921-0.2749-0.5987
Содержание раздела