From 0107e083002fb17f62e491522aaa4115767d2fe1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?D=C3=B3ra=20Kocsis?= <dora@dynare.org> Date: Mon, 16 Mar 2020 15:00:53 +0100 Subject: [PATCH] fix bug in sensitivity analysis: wrong initialization of options_gsa --- .../dynare_command_options_sensitivity.m | 4 +-- src/gui_sensitivity_analysis.m | 36 ++++++++++++++----- 2 files changed, 29 insertions(+), 11 deletions(-) diff --git a/src/+gui_auxiliary/dynare_command_options_sensitivity.m b/src/+gui_auxiliary/dynare_command_options_sensitivity.m index b13c19d..691a17f 100644 --- a/src/+gui_auxiliary/dynare_command_options_sensitivity.m +++ b/src/+gui_auxiliary/dynare_command_options_sensitivity.m @@ -14,7 +14,7 @@ function dynare_command_options_sensitivity() % SPECIAL REQUIREMENTS % none -% Copyright (C) 2019 Dynare Team +% Copyright (C) 2019-2020 Dynare Team % % This file is part of Dynare. % @@ -92,7 +92,7 @@ dynare_gui_.sensitivity.sampling{num,4} = 'When pprior=0 and ppost=0, allows for %% Group 2: stability mapping num = 1; dynare_gui_.sensitivity.stability_mapping{num,1} = 'stab'; -dynare_gui_.sensitivity.stability_mapping{num,2} = 0; +dynare_gui_.sensitivity.stability_mapping{num,2} = 1; dynare_gui_.sensitivity.stability_mapping{num,3} = 'check_option'; dynare_gui_.sensitivity.stability_mapping{num,4} = 'If equal to 1, perform stability mapping. If equal to 0, do not perform stability mapping.'; diff --git a/src/gui_sensitivity_analysis.m b/src/gui_sensitivity_analysis.m index 23a2b78..a703bbc 100644 --- a/src/gui_sensitivity_analysis.m +++ b/src/gui_sensitivity_analysis.m @@ -11,7 +11,7 @@ function gui_sensitivity_analysis(tabId) % SPECIAL REQUIREMENTS % none -% Copyright (C) 2019 Dynare Team +% Copyright (C) 2019-2020 Dynare Team % % This file is part of Dynare. % @@ -68,20 +68,38 @@ handles.pushbuttonSensitivity = uicontrol( ... old_oo_ = oo_; old_options_ = options_; try - options_ = struct(); if ~isempty(model_settings.sensitivity) names = fieldnames(model_settings.sensitivity); + options_gsa = model_settings.sensitivity; + options_ = old_options_; for ii = 1:size(names, 1) - if isempty(model_settings.sensitivity.(names{ii})) - gui_auxiliary.set_command_option(names{ii}, 1, 'check_option'); - else - gui_auxiliary.set_command_option(names{ii}, model_settings.sensitivity.(names{ii})); + switch names{ii} + case 'namendo' + if contains(options_gsa.(names{ii}), ',') + namendo_ = strsplit(options_gsa.(names{ii}), ','); + options_gsa.namendo = namendo_; + else + options_gsa.namendo = {options_gsa.(names{ii})}; + end + case 'namlagendo' + if contains(options_gsa.(names{ii}), ',') + namlagendo_ = strsplit(options_gsa.(names{ii}), ','); + options_gsa.namlagendo = namlagendo_; + else + options_gsa.namlagendo = {options_gsa.(names{ii})}; + end + case 'namexo' + if contains(options_gsa.(names{ii}), ',') + namexo_ = strsplit(options_gsa.(names{ii}), ','); + options_gsa.namexo = namexo_; + else + options_gsa.namexo = {options_gsa.(names{ii})}; + end + case 'threshold_redform' + options_gsa.threshold_redform = str2num(options_gsa.(names{ii})); end end end - options_gsa = options_; - options_ = old_options_; - gui_tools.project_log_entry('Running stochastic sensitivity','...'); [jObj, guiObj] = gui_tools.create_animated_screen('Running stochastic sensitivity, please wait...', tabId); handles.pushbuttonResults.Enable = 'off'; -- GitLab