numParamSets = 10000;
K1 = Simulink.Parameter;
K2 = Simulink.Parameter;
K3 = Simulink.Parameter;
K4 = Simulink.Parameter;
K5 = Simulink.Parameter;
K6 = Simulink.Parameter;
K7 = Simulink.Parameter;
K8 = Simulink.Parameter;
K9 = Simulink.Parameter;
K1.CoderInfo.StorageClass = 'SimulinkGlobal';
K2.CoderInfo.StorageClass = 'SimulinkGlobal';
K3.CoderInfo.StorageClass = 'SimulinkGlobal';
K4.CoderInfo.StorageClass = 'SimulinkGlobal';
K5.CoderInfo.StorageClass = 'SimulinkGlobal';
K6.CoderInfo.StorageClass = 'SimulinkGlobal';
K7.CoderInfo.StorageClass = 'SimulinkGlobal';
K8.CoderInfo.StorageClass = 'SimulinkGlobal';
K9.CoderInfo.StorageClass = 'SimulinkGlobal';
K1.Value=1;
K2.Value=1;
K3.Value=1;
K4.Value=1;
K5.Value=1;
K6.Value=1;
K7.Value=1;
K8.Value=1;
K9.Value=1;
paramSets = cell(1, numParamSets);
idx = 1;
rtp = Simulink.BlockDiagram.buildRapidAcceleratorTarget(mdl);
close_system(mdl, 0);
for page = 1:10000
paramSets{idx} = Simulink.BlockDiagram.modifyTunableParameters(...
rtp,...
'K1',PartialArray(1,1,page),...
'K2' ,PartialArray(1,2,page),...
'K3',PartialArray(1,3,page),...
'K4' ,PartialArray(2,1,page),...
'K5',PartialArray(2,2,page),...
'K6',PartialArray(2,3,page),...
'K7',PartialArray(3,1,page),...
'K8' ,PartialArray(3,2,page),...
'K9' ,PartialArray(3,3,page));
idx = idx+1;
end
numSimCmdArgStructs = numParamSets;
simCmdParamValStructs = cell(1, numSimCmdArgStructs);
paramValStruct.SaveTime = 'on';
paramValStruct.SaveOutput = 'on';
paramValStruct.SimulationMode = 'rapid';
paramValStruct.RapidAcceleratorUpToDateCheck = 'off';
paramValStruct.RapidAcceleratorParameterSets = [];
paramValStruct.LimitDataPoints = 'off';
idx = 1;
for paramSetsIdx = 1:numParamSets
simCmdParamValStructs{idx} = paramValStruct;
simCmdParamValStructs{idx}.RapidAcceleratorParameterSets = paramSets{paramSetsIdx};
idx = idx + 1;
end
out = cell(1, numSimCmdArgStructs);
parfor(i = 1:numSimCmdArgStructs)
out{i} = sim(mdl, simCmdParamValStructs{i});
close_system(mdl, 0);
end
0 Comments
Sign in to comment.