質問者様のモデルでは、状態変数ブロックの数がひとつであり、その値は非スカラーと推察しますが、
下記の例では、状態変数ブロックの数が複数で、その値はすべてスカラーであると仮定して作成しました。
もし、状態変数ブロックの数が複数で、その値が非スカラーも含むのであれば、もう少しtmpのデータ構造を工夫する必要があると思いますが、とりあえず。
openExample("sldemo_househeat");% 適当な実行モデルサンプル
simin = Simulink.SimulationInput("sldemo_househeat");
% モデルコンフィグレーション設定 [最終状態]:「ON」 [最終の操作点を保存]: 「ON」 [形式]: 「構造体」
simin = simin.setModelParameter("SaveFinalState","on","SaveOperatingPoint","on","SaveFormat","structure");
simin = repmat(simin,2,1); % サンプルとして、とりあえず2回実行
out = parsim(simin);
%zeros(モデル内の状態変数ブロック数(ただし、各ブロックの値はスカラー), 並列sim数)
tmp = zeros(length(out(1).xFinal.loggedStates), length(out));
%何らかの方法で、tmpの値を書き換える----
% tmpの値を書き換える処理?
%-------------------------------------
init = Simulink.SimulationInput("sldemo_househeat");
init = repmat(init, length(out),1);
for i = 1 : length(out)
initSignals = struct('signals', num2cell(out(i).xFinal.loggedStates));% 構造体配列をsignalsフィールドの配列に変換
for j = 1 : length(initSignals)
initSignals(j).values = tmp(j,i); % valuesへの代入は、おそらく1つずつ代入していくしかないかと思います。
end
init(i) = init(i).setInitialState(initSignals);
end
parsim(init);% 更新した初期値で再実行