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

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

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

Больше о

свернуть все

Ранг

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

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

Алгоритмы

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

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

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

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

| | |

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