Skip to content
Snippets Groups Projects
Commit 3c7e60b7 authored by Stéphane Adjemian's avatar Stéphane Adjemian
Browse files

Bug related to the steady state of aux. variables.

Appears in CMR's model where the steady state of the auxiliary variables
is not correct if set_auxiliary_variables routine is only called once.

Added a debug mode (false by default) to check that the mapping defined
by set_auxiliary_variables routine is invariant.
parent 34bc1ab9
Branches
Tags
No related merge requests found
......@@ -36,11 +36,14 @@ function [ys,params,info] = evaluate_steady_state_file(ys_init,exo_ss,M,options)
% You should have received a copy of the GNU General Public License
% along with Dynare. If not, see <http://www.gnu.org/licenses/>.
debug = false;
ys = [];
params = [];
info = 0;
params = M.params;
info = 0;
fname = M.fname;
if options.steadystate_flag == 1
% old format
assignin('base','tmp_00_',params);
......@@ -88,7 +91,40 @@ function [ys,params,info] = evaluate_steady_state_file(ys_init,exo_ss,M,options)
% adding values for auxiliary variables
if length(M.aux_vars) > 0 && ~options.ramsey_policy
if debug
ys0 = ys;
end
ys = h_set_auxiliary_variables(ys,exo_ss,params);
if debug
ys1 = ys;
end
ys = h_set_auxiliary_variables(ys,exo_ss,params);
if debug
ys2 = ys;
end
if debug
ys = h_set_auxiliary_variables(ys,exo_ss,params);
ys3 = ys;
idx = find(abs(ys0-ys1)>0);
if ~isempty(idx)
M.endo_names(idx,:)
else
disp('1-invariant')
end
idx = find(abs(ys2-ys1)>0);
if ~isempty(idx)
M.endo_names(idx,:)
else
disp('2-invariant')
end
idx = find(abs(ys3-ys3)>0);
if ~isempty(idx)
M.endo_names(idx,:)
else
disp('3-invariant')
end
pause
end
end
check1 = 0;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment