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×71 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 はそれぞれサイズの異なる行列です。

拡張機能

C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。

GPU コード生成
GPU Coder™ を使用して NVIDIA® GPU のための CUDA® コードを生成します。

バージョン履歴

R2006a より前に導入

参考