Main Content

put

キーと値のペアを ValueStore オブジェクトに追加する

R2022a 以降

説明

put(store,keySet,valueSet) は、キーと値のペアを ValueStore オブジェクト store に追加します。valueSet は、対応するキー keySet を使用して store に追加される値の cell 配列です。キーが既に store に存在する場合、put は指定されたキーに対応する値を置き換えます。

すべて折りたたむ

ワーカー上でシミュレーションを実行し、クライアント上でジョブのデータ ストレージを取得します。データ ストレージは、キーと値のエントリをもつ ValueStore オブジェクトです。このオブジェクトに、対応するキーでの指定どおりにエントリを追加します。

次のシミュレーションでは、乱数行列の逆行列を求め、結果を ValueStore オブジェクトに保存します。

type workerInvCode
function workerInvCode(models)
% Get the ValueStore of the current job
store = getCurrentValueStore;
for i = 1:numel(models)
    % Store simulation results in the ValueStore object
    pause(1);
    key = strcat("result_",num2str(i));
    store(key) = inv(rand(models(i)));
end
end

既定のクラスター プロファイルを使用して、ワーカー上でバッチ ジョブを実行します。

models = [4,8,32,20];
c = parcluster;
job = batch(c,@workerInvCode,0,{models});
wait(job);

クライアント上の ValueStore オブジェクトを取得します。オブジェクトのキーを表示します。

store = job.ValueStore;
keys(store)
ans = 4×1 string
    "result_1"
    "result_2"
    "result_3"
    "result_4"

キー "matrix_2" および "result_2" で指定された、キーと値の複数のエントリをオブジェクトに追加します。更新後のオブジェクトのキーを表示します。

put(store,["matrix_2","result_2"],{rand(4),inv(rand(4))})
keys(store)
ans = 5×1 string
    "matrix_2"
    "result_1"
    "result_2"
    "result_3"
    "result_4"

入力引数

すべて折りたたむ

MATLAB クライアントとワーカーで共有されるデータ ストレージ。ValueStore オブジェクトとして指定します。

追加するキー。文字ベクトル、string スカラー、string 配列、もしくは文字ベクトルまたは string の cell 配列として指定します。keySetvalueSet の要素数は同じでなければなりません。

追加する値。cell 配列として指定します。keySetvalueSet の要素数は同じでなければなりません。

ヒント

  • key で指定された 1 つのキーと値のエントリのみを追加するには、構文 store(key) = value を使用することもできます。

バージョン履歴

R2022a で導入