私は 2 つのハイパーパラメーター (x と y としましょう) を通過する非常に大規模なメタ シミュレーションを実行しており、ハイパーパラメーターの各セット (x_i & y_j) に対して適度なサイズのサブシミュレーションを実行しています。したがって:
for x=1:I
for y=1:j
subsimulation(x,y)
end
end
ただし、各サブシミュレーションでは、データの約 50% が他のすべてのサブシミュレーション、つまり subsimulation(x_1,y_1).commondata=subsimulation(x_2,y_2).commondata に共通しています。
これまでのところ、シミュレーション結果の合計ファイル サイズは ~10Gb であるため、これは非常に重要です! 明らかに、スペースを節約するために、共通のサブシミュレーション データを 1 回保存したいと考えています。しかし、それを 1 か所に保存するという明白な解決策は、subsimulation(x,y).commondata を直接呼び出すため、私のプロット関数を台無しにしてしまいます。
subsimulation(x,y).commondata=% pointer to 1 location in memory % のようなことができるかどうか疑問に思っていました
それがうまくいかない場合は、次のエレガントではないソリューションはどうですか:
subsimulation(x,y).commondata='variable name' %string
そして追加
if(~isstruct(subsimulation(x,y).commondata)),
subsimulation(x,y).commondata=eval(subsimulation(x,y).commondata)
end
皆さんは、どのような解決策が最善だと思いますか?
ありがとうダンクマスターダン