Main Content

blkdiag

블록 대각 행렬(Block Diagonal Matrix)

설명

예제

B = blkdiag(A1,...,AN)B의 대각선을 따라 입력 행렬 A1,...,AN을 정렬하여 만든 블록 대각 행렬을 반환합니다.

예제

모두 축소

크기가 서로 다른 3개 행렬에서 블록 대각 행렬을 만듭니다.

A1 = ones(2,2);
A2 = 2*ones(3,2);
A3 = 3*ones(2,3);
B = blkdiag(A1,A2,A3)
B = 7×7

     1     1     0     0     0     0     0
     1     1     0     0     0     0     0
     0     0     2     2     0     0     0
     0     0     2     2     0     0     0
     0     0     2     2     0     0     0
     0     0     0     0     3     3     3
     0     0     0     0     3     3     3

입력 인수

모두 축소

입력 행렬로, 쉼표로 구분된 행렬의 목록으로 지정됩니다. 행렬은 정사각 행렬이나 직사각 행렬일 수 있고 크기가 다를 수 있습니다.

입력 행렬 중 희소 행렬이 하나라도 있으면 출력되는 블록 대각 행렬도 희소 행렬이 됩니다.

세부 정보

모두 축소

블록 대각 행렬(Block Diagonal Matrix)

블록 대각 행렬은 대각선을 따라 단일 요소들이 있는 일반적인 대각 행렬과 달리 대각선에 작은 행렬들이 포함된 행렬입니다. 블록 대각 행렬은 다음과 같은 형태를 갖습니다. 여기서 A1, A2,…, AN은 각각 행렬로, 서로 크기가 달라도 됩니다.

Illustration of a diagonal matrix with blocks A1, A2, and so on along the main diagonal.

확장 기능

C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.

GPU 코드 생성
GPU Coder™를 사용하여 NVIDIA® GPU용 CUDA® 코드를 생성할 수 있습니다.

버전 내역

R2006a 이전에 개발됨

참고 항목