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번째 대각선을 반환합니다.

예제

모두 축소

주대각선이 벡터 v로 지정된 기호 행렬을 만듭니다.

syms a b c
v = [a b c];
diag(v)
ans =
[ a, 0, 0]
[ 0, b, 0]
[ 0, 0, c]

주대각선 아래의 두 번째 대각선이 벡터 v로 지정된 기호 행렬을 만듭니다.

syms a b c
v = [a b c];
diag(v,-2)
ans =
[ 0, 0, 0, 0, 0]
[ 0, 0, 0, 0, 0]
[ a, 0, 0, 0, 0]
[ 0, b, 0, 0, 0]
[ 0, 0, c, 0, 0]

정사각 행렬에서 주대각선을 추출합니다.

syms x y z
A = magic(3).*[x, y, z];
diag(A)
ans =
 8*x
 5*y
 2*z

주대각선 위의 첫 번째 대각선을 추출합니다.

syms x y z
A = magic(3).*[x, y, z];
diag(A,1)
ans =
   y
 7*z

입력 인수

모두 축소

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

입력 행렬로, 기호 행렬로 지정됩니다.

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

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

버전 내역

R2006a 이전에 개발됨

참고 항목

|