rank

Синтаксис

Описание

пример

k = rank(A) возвращает ранг матрицы A.

Использовать sprank для определения структурного ранга разреженной матрицы.

пример

k = rank(A,tol) задает другой допуск для использования в ранговом расчете. Ранг вычисляется как число сингулярных значений A которые больше tol.

Примеры

свернуть все

Определите, является ли матрица полной рангом.

Создайте матрицу 3 на 3. Значения в третьем столбце в два раза больше значений во втором столбце.

A = [3 2 4; -1 1 2; 9 5 10]
A = 3×3

     3     2     4
    -1     1     2
     9     5    10

Вычислим ранг матрицы. Если матрица является полной рангом, то ранг равен количеству столбцов, size(A,2).

rank(A)
ans = 2
size(A,2)
ans = 3

Поскольку столбцы линейно зависимы, матрица имеет неполный ранг.

Вычислим ранг матрицы с помощью допуска.

Создайте диагональную матрицу 4 на 4. Диагональ имеет одно маленькое значение, равное 1e-15.

A = [10 0 0 0; 0 25 0 0; 0 0 34 0; 0 0 0 1e-15]
A = 4×4

   10.0000         0         0         0
         0   25.0000         0         0
         0         0   34.0000         0
         0         0         0    0.0000

Вычислим ранг матрицы.

rank(A)
ans = 3

Матрица не считается полной рангом, поскольку алгоритм по умолчанию вычисляет число сингулярных значений, больше max(size(A))*eps(norm(A)). Для этой матрицы маленькое значение на диагонали исключено, поскольку оно меньше допуска.

Снова вычислите ранг матрицы, но задайте допуск 1e-16.

rank(A,1e-16)
ans = 4

Входные параметры

свернуть все

Входная матрица.

Типы данных: single | double
Поддержка комплексного числа: Да

Допуск, заданный как скаляр. Смотрите раздел Алгоритмы для получения дополнительной информации.

Пример: rank(A,1e-5)

Подробнее о

свернуть все

Ранг

Количество линейно независимых столбцов в матрице является рангом матрицы. Ранг строки и столбца матрицы всегда равен.

Матрица является полным рангом, если ее ранг является максимально возможным для матрицы того же размера, и ранжировать дефектно, если она не имеет полного ранга. Ранг дает меру размерности области значений или пространства столбцов матрицы, которая является набором всех линейных комбинаций столбцов.

Алгоритмы

rank использует метод, основанный на сингулярном разложении значений, или SVD. Алгоритм SVD занимает больше времени, чем некоторые альтернативы, но он также является самым надежным.

Ранг матрицы A вычисляется как число сингулярных значений, которые больше допуска. По умолчанию допуск следующий max(size(A))*eps(norm(A)). Однако с помощью команды можно задать другой допуск rank(A,tol).

Расширенные возможности

..

См. также

| | |

Представлено до R2006a