27 lines
1.3 KiB
Matlab
27 lines
1.3 KiB
Matlab
function [LoadingRateArray, StandardErrorArray, ConfidenceIntervalArray] = doOneParameter(ovenObj, MOTobj, BeamName, BeamParameter, ParameterArray)
|
|
|
|
Beams = MOTobj.Beams;
|
|
Beam = Beams{cellfun(@(x) strcmpi(x.Alias, BeamName), Beams)};
|
|
NumberOfPointsForParam = length(ParameterArray);
|
|
LoadingRateArray = zeros(1,NumberOfPointsForParam);
|
|
StandardErrorArray = zeros(1,NumberOfPointsForParam);
|
|
ConfidenceIntervalArray = zeros(NumberOfPointsForParam, 2);
|
|
|
|
for i=1:NumberOfPointsForParam
|
|
eval(sprintf('Beam.%s = %d;', BeamParameter, ParameterArray(i)));
|
|
[LoadingRateArray(i), StandardErrorArray(i), ConfidenceIntervalArray(i,:)] = MOTobj.runSimulation(ovenObj);
|
|
end
|
|
|
|
if MOTobj.DoSave
|
|
LoadingRate = struct;
|
|
LoadingRate.Values = LoadingRateArray;
|
|
LoadingRate.Errors = StandardErrorArray;
|
|
LoadingRate.CI = ConfidenceIntervalArray;
|
|
MOTobj.Results = LoadingRate;
|
|
SaveFolder = [MOTobj.SaveDirectory filesep 'Results'];
|
|
Filename = ['OneParameterScan_' datestr(now,'yyyymmdd_HHMM')];
|
|
eval([sprintf('%s_Object', Filename) ' = MOTobj;']);
|
|
mkdir(SaveFolder);
|
|
save([SaveFolder filesep Filename], sprintf('%s_Object', Filename));
|
|
end
|
|
end |