isdiag

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

Синтаксис

tf = isdiag(A)

Описание

пример

tf = isdiag(A) возвращает логический 1 (true), если A является диагональной матрицей; в противном случае возвращается логический 0 (false).

Примеры

свернуть все

Создайте единичную матрицу 4 на 4.

I = eye(4)
I = 4×4

     1     0     0     0
     0     1     0     0
     0     0     1     0
     0     0     0     1

Протестируйте, чтобы видеть, является ли матрица диагональной.

isdiag(I)
ans = logical
   1

Результатом является логический 1 (true), потому что все ненулевые элементы в I находятся на основной диагонали.

Создайте матрицу с ненулевыми элементами на основных и первых диагоналях.

A = 3*eye(4) + diag([2 2 2],1)
A = 4×4

     3     2     0     0
     0     3     2     0
     0     0     3     2
     0     0     0     3

Протестируйте, чтобы видеть, является ли матрица диагональной.

isdiag(A)
ans = logical
   0

Матрица не является диагональной, поскольку существуют ненулевые элементы выше основной диагонали.

Создайте новую матрицу, B, от основных диагональных элементов A.

B = diag(diag(A));

Протестируйте, чтобы видеть, является ли B диагональной матрицей.

isdiag(B)
ans = logical
   1

Результатом является логический 1 (true), потому что нет никаких ненулевых элементов выше или ниже основной диагонали B.

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

свернуть все

Входной массив, заданный как числовой массив. isdiag возвращает логический 0 (false), если A имеет больше чем две размерности.

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

Больше о

свернуть все

Диагональная матрица

Матрица является диагональной, если все элементы выше и ниже основной диагонали являются нулем. Любое количество элементов на основной диагонали может также быть нулем.

Например, единичная матрица 4 на 4,

I4=(1000010000100001)

диагональная матрица. Диагональные матрицы обычно, но не всегда, квадрат.

Советы

  • Используйте функцию diag, чтобы произвести диагональные матрицы, для которых isdiag возвращает логический 1 (true).

  • isdiag функций, istriu и istril являются особыми случаями функционального isbanded, который может выполнить все те же тесты с соответственно заданной верхней и более низкой пропускной способностью. Например, isdiag(A) == isbanded(A,0,0).

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

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

| | | | | |

Введенный в R2014a

Для просмотра документации необходимо авторизоваться на сайте