ドキュメンテーション

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

codistributed.sprand

一様分布する疑似乱数値からなるスパース対話型分散配列を作成する

構文

CS = codistributed.sprand(m,n,density)
CS = sprand(n,codist)

説明

CS = codistributed.sprand(m,n,density) は、約 density*m*n 個の一様分布する double の非ゼロ要素をもつ mn 列のスパース対話型分散配列を作成します。

codistributed.sprand のオプションの引数は、必須の引数の後に以下の順序で指定しなければなりません。

  • codist — 作成する配列の分散スキームを指定する対話型分散オブジェクト。省略した場合、配列は既定の分散スキームを使用して分散されます。対話型分散オブジェクトの作成についての詳細は、codistributor1d および codistributor2dbc のリファレンス ページを参照してください。

  • 'noCommunication' — 配列の作成時にワーカー間の通信を行わないよう指定し、一部のエラー チェックの手順をスキップします。

CS = sprand(n,codist)CS = codistributed.sprand(n, codist) と同じ結果になります。また、この構文でオプションの引数を使用することもできます。既定の分散スキームを使用するには、引数なしで対話型分散コンストラクターを指定します。以下に例を示します。

spmd
    CS = codistributed.sprand(8,8,0.2,codistributor1d());
end

ワーカーを 4 つ使用する場合

spmd(4)
    CS = codistributed.sprand(1000,1000,0.001);
end

これは、約 1000 個の非ゼロ要素をもつ 1000 行 1000 列で double 型のスパース対話型分散配列 CS を作成します。CS は 2 番目の次元 (列) により分散され、各ワーカーには CS の 1000 行 250 列のローカル ピースが格納されます。

spmd(4)
    codist = codistributor1d(2,1:numlabs);
    CS = sprand(10,10,0.1,codist);
end

これは、約 10 個の非ゼロ要素をもつ 10 行 10 列で double 型の対話型分散配列 CS を作成します。CS は列によって分散され、各ワーカーには CS の 10 行 labindex 列のローカル ピースが格納されます。

ヒント

並列プールのワーカーで、つまり、独立ジョブや通信ジョブ (pmode を含む) で sprand を使用すると、各ワーカーで乱数発生器のシードが labindex またはタスク ID のみによって決まる値に設定されます。このため、各ワーカーの配列はそのジョブで一意となります。ただし、ジョブを繰り返すと同じ乱数データが得られます。

R2009b で導入