exponenta event banner

разряд

Описание

пример

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