- •Вычисление нормы и чисел обусловленности матрицы
- •Определитель и ранг матрицы
- •Определение нормы вектора
- •Определение ортонормированного базиса матрицы
- •Функции приведения матрицы к треугольной форме
- •Определение угла между двумя подпространствами
- •Вычисление следа матрицы
- •Разложение Холецкого
- •Обращение матриц
- •Вычисление собственных значений и сингулярных чисел
- •Понятие о многомерных массивах
- •Применение оператора «:» в многомерных массивах
- •Доступ к отдельному элементу многомерного массива
- •Удаление размерности в многомерном массиве
- •Создание страниц, заполненных константами и случайными числами
- •Объединение массивов
- •Вычисление числа размерностей массива и определение размера размерностей
Определитель и ранг матрицы
Определитель, или детерминант — одна из важнейших характеристик квадратных матриц. Определитель матрицы размера n × n равен ориентированному n-мерному объёму параллелепипеда, натянутого на её векторы-строки (или столбцы).
Для матрицы n × n определитель выражается в виде многочлена степени N от элементов матрицы который представляет собой сумму произведений элементов матрицы со всевозможными комбинациями различающихся номеров строк и столбцов, причём в каждом из произведений элемент из любой строки и любого столбца ровно один. Каждому произведению приписывается знак плюс или минус в зависимости от чётности перестановки номеров.
Если элементами матрицы являются числа, то определитель — это тоже число. В общем случае определитель может быть функциональным, векторным и т.п., то есть, представлять собой иные выражения, составленные из элементов.
Пусть задана любая матрица А с m строк и n столбцов. Рангом системы строк (столбцов) матрицы А называется максимальное число линейно независимых строк(столбцов). Несколько строк (столбцов) называются линейно-независимыми, если ни одна из них не выражается линейно через другие. Ранг системы строк всегда равен рангу системы столбцов и это число называется рангом матрицы.
Ранг матрицы — наивысший из порядков миноров этой матрицы, отличных от нуля. Ранг матрицы равен наибольшему числу линейно независимых строк (или столбцов) матрицы.
Обычно ранг матрицы A обозначается rang A (rg A) или rank A. Оба обозначения пришли к нам из иностранных языков, потому и употребляться могут оба. Последний вариант свойственен для английского языка, в то время как первый — для немецкого, французского и ряда других языков.
Для нахождения определителя (детерминанта) и ранга матриц в MATLAB имеются следующие функции:
det(X) — возвращает определитель квадратной матрицы X. Если X содержит только целые элементы, то результат — тоже целое число. Использование det(X)=0 как теста на вырожденность матрицы действительно только для матрицы малого порядка с целыми элементами.
Пример:
» A=[2,3,6;1,8,4;3,6,7]
А =
2 3 6
1 8 4
3 6 7
» det(A)
ans =
-29
Детерминант матрицы вычисляется на основе треугольного разложения методом исключения Гаусса:
[L.U>lu(A): s=det(L): d=s*prod(diag(U)).
Ранг матрицы определяется количеством сингулярных чисел, превышающих порог
tol=max(size(A))*nprm(A)*eps.
При этом используется следующий алгоритм:
s=svd(A);tol=max(size(A))*npnri(A)*eps:r=sum(s>tol):
Для вычисления ранга используется функция rank:
rank (А) — возвращает количество сингулярных чисел, которые являются большими, чем заданный по умолчанию допуск;
rank(A,tol) — возвращает количество сингулярных чисел, которые превышают tol.
Пример:
» rank(hilb(10))
ans =
10
Определение нормы вектора
Норма вектора — скаляр, дающий представление о величине элементов вектора. Нужно различать норму матрицы и норму вектора. Функция norm определяет, является ли ее аргументом (входным аргументом в терминологии MATLAB) вектор или матрица, и измеряет несколько различных типов норм векторов:
norm(X)=norm(X,2) — вторая норма возвращает наибольшее сингулярное число X, max(svd(X));
norm(X,p) , где р — целое положительное число, — возвращает корень степени р из суммы абсолютных значений элементов вектора, возведенных в степень р. При р = 1 это может совпадать либо с первой нормой, либо с нормой неопределенности матриц;
norm(X, 'inf') возвращает максимальное из абсолютных значений элементов вектора; О norm(X, '-Inf') возвращает минимальное из абсолютных значений элементов вектора.
Пример:
A
A =
2 3 6
1 8 4
3 6 7
>> norm(A)
ans =
14.4652
>> norm(A,2)
ans =
14.4652
