ранг

Синтаксис

k = rank(A)
k = rank(A,tol)

Описание

пример

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
Поддержка комплексного числа: Да

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

Пример: ранг (A, 1e-5)

Больше о

свернуть все

Ранг

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

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

Алгоритмы

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

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

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

Смотрите также

| | |

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

Была ли эта тема полезной?