
- •Вычисление нормы и чисел обусловленности матрицы
- •Определитель и ранг матрицы
- •Определение нормы вектора
- •Определение ортонормированного базиса матрицы
- •Функции приведения матрицы к треугольной форме
- •Определение угла между двумя подпространствами
- •Вычисление следа матрицы
- •Разложение Холецкого
- •Обращение матриц
- •Вычисление собственных значений и сингулярных чисел
- •Понятие о многомерных массивах
- •Применение оператора «:» в многомерных массивах
- •Доступ к отдельному элементу многомерного массива
- •Удаление размерности в многомерном массиве
- •Создание страниц, заполненных константами и случайными числами
- •Объединение массивов
- •Вычисление числа размерностей массива и определение размера размерностей
Вычисление следа матрицы
След матрицы А — это сумма ее диагональных элементов. Он вычисляется функцией trace:
trace(A) — возвращает след матрицы. Пример:
» a=[2,3,4;5,6,7;8,9,1]
а =
2 3 4
5 6 7
8 9 1
» trace(a)
ans =
9
Разложение Холецкого
Разложение Холецкого — известный прием матричных вычислений. Функция chol находит это разложение для действительных и комплексных эрмитовых матриц.
R = chol(X) — для квадратной матрицы [ Положительно определенной называется действительная симметрическая матрица, все собственные значения которой положительны. Поскольку используется только верхний треугольник матрицы X, матрица X не обязательно должна быть симметрической. — Примеч. ред. ]. X возвращает верхнюю треугольную матрицу R, так что R'*R=X new . Если симметрическая матрица X new , заданная верхней треугольной частью и диагональю матрицы X, не является положительно определенной матрицей, выдает сообщение об ошибке. Разложение Холецкого возможно для действительных и комплексных эрмитовых матриц [ Квадратная матрица с комплексными элементами, комплексно сопряженная матрица которой может быть получена транспонированием, т. е. равна транспонированной матрице (А*=А). — Примеч. ред. ];
[R.p] = chol (X) с двумя выходными аргументами никогда не генерирует сообщение об ошибке в ходе выполнения разложения Холецкого квадратной матрицы X. Если верхняя треугольная часть и диагональ X задают положительно определенную матрицу, то р=0, a R совпадает с вышеописанным случаем, иначе р. — положительное целое число, a R — верхняя треугольная матрица порядка q=p-l, такая что R'*R=X(l:q,l:q).
Пример:
» c=chol(pascal(4))
с =
1 1 1 1
0 1 2 3
0 0 1 3
0 0 0 1
Обращение матриц
Обращение матриц — одна из наиболее распространенных операций матричного анализа. Обратной называют матрицу, получаемую в результате деления единичной матрицы Е на исходную матрицу 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