Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

isdiag

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

설명

예제

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

예제

모두 축소

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

I = eye(4)
I =4×41 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1

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

isdiag(I)
ans =logical1

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

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

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

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

isdiag(A)
ans =logical0

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

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

B = diag(diag(A));

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

isdiag(B)
ans =logical1

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

입력 인수

모두 축소

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

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

세부 정보

모두 축소

대각 행렬

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

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

I 4 = ( 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 )

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

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

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

확장 기능

R2014a에 개발됨