ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

eye

単位行列

構文

E = eye(sz,arraytype)
E = eye(sz,datatype,arraytype)

E = eye(sz,'like',P)
E = eye(sz,datatype,'like',P)

C = eye(sz,codist)
C = eye(sz,datatype,codist)
C = eye(sz,___,codist,'noCommunication')
C = eye(sz,___,codist,'like',P)

説明

E = eye(sz,arraytype) は、基になるクラスが double で、主対角が 1、それ以外が 0 の arraytype 単位行列を作成します。

E = eye(sz,datatype,arraytype) は、基になるクラスが datatype で、主対角が 1、それ以外が 0 の arraytype 単位行列を作成します。

配列のサイズと型は、次表に示した引数オプションで指定されます。

引数説明
sznnn 列の行列として配列サイズを指定します。
m,nmn 列の行列として配列サイズを指定します。
[m n]
arraytype'distributed'分散配列を指定します。
'codistributed'既定の分散スキームを使用して対話型分散配列を指定します。
'gpuArray'gpuArray を指定します。
datatype'double' (既定値)、'single''int8''uint8''int16''uint16''int32''uint32''int64' または 'uint64'配列の基になるクラス、すなわち、要素のデータ型を指定します。

E = eye(sz,'like',P) は、配列 P と同じ型と基になるクラス (データ型) をもつ単位行列を作成します。

E = eye(sz,datatype,'like',P) は、指定された基になるクラス (datatype) をもち、配列 P と同じ型の単位行列を作成します。

C = eye(sz,codist) または C = eye(sz,datatype,codist) は、指定されたサイズと基になるクラスをもつ対話型分散単位行列を作成します (既定の datatype'double')。対話型分散オブジェクト codist は、対話型分散配列を作成するための分散スキームを指定します。対話型分散オブジェクトの作成についての詳細は、codistributor1d および codistributor2dbc のリファレンス ページを参照してください。既定の分散スキームを使用する際に、引数なしで対話型分散コンストラクターを指定することができます。以下に例を示します。

spmd
    C = eye(8,codistributor1d());
end

C = eye(sz,___,codist,'noCommunication') は配列の作成時にワーカー間の通信を行わないよう指定し、一部のエラー チェックの手順をスキップします。

C = eye(sz,___,codist,'like',P) は指定のサイズ、基になるクラス (datatype)、分散スキームのある対話型分散単位行列を作成します。datatype または対話型分散引数が省略された場合、特性は対話型分散配列 P から取得されます。

分散単位行列の作成

基になるクラスが double である 1000 行 1000 列の分散単位行列を作成します。

D = eye(1000,'distributed');

対話型分散単位行列の作成

これは、2 番目の次元 (列) で分散される 1000 行 1000 列で double 型の対話型分散単位行列を作成します。

spmd(4)
    C = eye(1000,'codistributed');
end

4 つのワーカーがある場合、各ワーカーには C の 1000 行 250 列のローカル ピースが格納されます。

これは、列により分割される 1000 行 1000 列の対話型分散 uint16 単位行列を作成します。

spmd(4)
    codist = codistributor('1d',2,100*[1:numlabs]);
    C = eye(1000,1000,'uint16',codist);
end

各ワーカーには、C の 100 行 labindex 列のローカル ピースが格納されます。

gpuArray 単位行列の作成

基になるクラスが uint32 である 1000 行 1000 列の gpuArray 単位行列を作成します。

G = eye(1000,'uint32','gpuArray');

R2006b で導入