メインコンテンツ

put

R2026b

キーと値のペアを 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 array
    "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 array
    "matrix_2"
    "result_1"
    "result_2"
    "result_3"
    "result_4"

入力引数

すべて折りたたむ

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

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

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

ヒント

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

バージョン履歴

R2022a で導入