이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

isdiag

행렬이 대각 행렬(Diagonal Matrix)인지 확인

설명

예제

tf = isdiag(A)A대각 행렬이면 논리값 1(true)을 반환하고, 그렇지 않으면 논리값 0(false)을 반환합니다.

예제

모두 축소

4x4 단위 행렬을 만듭니다.

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

I의 0이 아닌 요소가 모두 주대각선에 있으므로 결과는 논리값 1(true)입니다.

주대각선과 첫 번째 대각선에 0이 아닌 요소가 있는 행렬을 만듭니다.

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

주대각선 위에 0이 아닌 요소가 있으므로 이 행렬은 대각 행렬이 아닙니다.

A의 주대각선 요소로 새 행렬 B를 만듭니다.

B = diag(diag(A));

B가 대각 행렬인지를 테스트합니다.

isdiag(B)
ans = logical
   1

B의 주대각선 위 또는 아래에 0이 아닌 요소가 없기 때문에 결과는 논리값 1(true)입니다.

입력 인수

모두 축소

입력 배열로, 숫자형 배열로 지정됩니다. isdiagA의 차원이 2차원을 넘을 경우 논리값 0(false)을 반환합니다.

데이터형: single | double
복소수 지원 여부:

세부 정보

모두 축소

대각 행렬

주대각선 위와 아래에 있는 모든 요소가 0인 경우 행렬은 대각 행렬이 됩니다. 주대각선에 있는 요소도 개수에 상관 없이 0이 될 수 있습니다.

예를 들어, 다음 4x4 단위 행렬은

I4=(1000010000100001)

대각 행렬입니다. 대각 행렬은 항상 그렇지는 않지만 일반적으로 정사각 행렬입니다.

  • isdiag가 논리값 1(true)을 반환하는 대각 행렬을 만들려면 diag 함수를 사용하십시오.

  • 함수 isdiag, istriu, istril은 함수 isbanded의 특별한 경우로서, 적절히 정의된 상부 대역폭과 하부 대역폭을 사용하여 모든 동일한 테스트를 수행할 수 있습니다. 예를 들면 isdiag(A) == isbanded(A,0,0)과 같습니다.

확장 기능

참고 항목

| | | | | |

R2014a에 개발됨