Main Content

blkdiag

説明

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

入力引数

すべて折りたたむ

入力行列。行列のコンマ区切りリストとして指定します。これらの行列は正方または方形のいずれかにすることができ、異なるサイズでもかまいません。

いずれかの入力行列がスパースである場合、出力ブロック対角行列もスパースになります。

詳細

すべて折りたたむ

ブロック対角行列

通常の対角行列は対角上に単一要素を含みます。これに対し、ブロック対角行列は対角に小さい行列のブロックを含む行列です。ブロック対角行列は次の形式をとります。ここで、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 より前に導入

参考