Main Content

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

diag

대각 행렬을 생성하거나 행렬의 대각선 요소 가져오기

설명

예제

D = diag(v)는 주대각선에 벡터v의 요소를 가진 정사각 대각 행렬을 반환합니다.

예제

D = diag(v,k)k번째 대각선에 벡터v의 요소를 배치합니다.k=0은 주대각선을 나타내고k>0은 주대각선 위쪽이고k<0은 주대각선 아래쪽입니다.

예제

x = diag(A)A의 주대각선 요소로 구성된 열 벡터를 반환합니다.

예제

x = diag(A,k)Ak번째 대각선 요소로 구성된 열 벡터를 반환합니다.

예제

모두 축소

1×5 벡터를 생성합니다.

v = [2 1 -1 -2 -5];

diag를 사용하여 주대각선에v요소를 가진 행렬을 만듭니다.

D = diag(v)
D =5×52 0 0 0 0 0 1 0 0 0 0 0 -1 0 0 0 0 0 -2 0 0 0 0 0 -5

첫 번째 상부 대각선(k=1)에v의 요소를 가지는 행렬을 만듭니다.

D1 =诊断接头(v, 1)
D1 =6×60 2 0 0 0 0 0 0 1 0 0 0 0 0 0 -1 0 0 0 0 0 0 -2 0 0 0 0 0 0 -5 0 0 0 0 0 0

그 결과로 6×6 행렬이 생성됩니다. 입력값으로 길이가n인 벡터를 지정하는 경우diag는 크기가n+abs(k)인 정사각 행렬을 반환합니다.

6×6 확률 행렬의 주대각선 요소를 가져옵니다.

A = randi(10,6)
A =6×69 3 10 8 7 8 10 6 5 10 8 1 2 10 9 7 8 3 10 10 2 1 4 1 7 2 5 9 7 1 1 10 10 10 2 9
x = diag(A)
x =6×19 6 9 1 7 9

A의 첫 번째 하부대각선(k=-1)상의 요소를 가져옵니다. 그 결과로 주대각선보다 요소가 한 개 더 적어집니다.

x1 = diag(A,-1)
x1 =5×110 10 2 9 2

diag를 두 번 호출하면 원본 행렬의 대각선 요소로 구성된 대각 행렬이 반환됩니다.

A1 = diag(diag(A))
A1 =6×69 0 0 0 0 0 0 6 0 0 0 0 0 0 9 0 0 0 0 0 0 1 0 0 0 0 0 0 7 0 0 0 0 0 0 9

입력 인수

모두 축소

대각선 요소로, 벡터로 지정됩니다.vN개 요소를 가진 벡터인 경우diag(v,k)는 차수N+abs(k)의 정사각 행렬입니다.

diag([])는 빈 행렬[]을 반환합니다.

데이터형:single|double|int8|int16|int32|int64|uint8|uint16|uint32|uint64|logical|char
복소수 지원 여부:

입력 행렬입니다.ndims(A) > 2인 경우diag는 오류를 반환합니다.

diag([])는 빈 행렬[]을 반환합니다.

데이터형:single|double|int8|int16|int32|int64|uint8|uint16|uint32|uint64|logical|char
복소수 지원 여부:

대각선 번호로, 정수로 지정됩니다.k=0은 주대각선을 나타내고k>0은 주대각선 위쪽이고k<0은 주대각선 아래쪽입니다.

m×n 행렬의 경우k는 범위 ( m + 1 ) k ( n 1 ) . 내에 있습니다.

  • 행렬의tracesum(diag(A))와 동일합니다.

확장 기능

R2006a 이전에 개발됨