diff --git a/matlab/evaluate_steady_state.m b/matlab/evaluate_steady_state.m index 0f83e14c0e087ad2f493cd4d8b071314c82b4b72..3379704ac2015ad91382cf003ea413cfd5cd2462 100644 --- a/matlab/evaluate_steady_state.m +++ b/matlab/evaluate_steady_state.m @@ -67,8 +67,8 @@ if options.ramsey_policy else [resids, ~ , jacob]= evaluate_static_model(ys,exo_ss,params,M,options); end - n_multipliers=M.ramsey_eq_nbr; - nan_indices=find(isnan(resids(n_multipliers+1:end))); + n_ramsey_equations=M.ramsey_eq_nbr; + nan_indices=find(isnan(resids(n_ramsey_equations+1:n_ramsey_equations+M.orig_eq_nbr))); % if ~isempty(nan_indices) if options.debug @@ -91,7 +91,7 @@ if options.ramsey_policy return end - if any(imag(ys(n_multipliers+1:end))) + if any(imag(ys(n_ramsey_equations+1:n_ramsey_equations+M.orig_eq_nbr))) if options.debug fprintf('\nevaluate_steady_state: The steady state file computation for the Ramsey problem resulted in complex numbers.\n') fprintf('evaluate_steady_state: The steady state was computed conditional on the following initial instrument values: \n') @@ -106,7 +106,7 @@ if options.ramsey_policy return end - if max(abs(resids(n_multipliers+1:end))) > options.solve_tolf %does it solve for all variables except for the Lagrange multipliers + if max(abs(resids(n_ramsey_equations+1:n_ramsey_equations+M.orig_eq_nbr))) > options.solve_tolf %does it solve for all variables except for the Lagrange multipliers if options.debug fprintf('\nevaluate_steady_state: The steady state file does not solve the steady state for the Ramsey problem.\n') fprintf('evaluate_steady_state: Conditional on the following instrument values: \n') @@ -114,9 +114,9 @@ if options.ramsey_policy fprintf('\t %s \t %f \n',options.instruments{ii},ys_init(strmatch(options.instruments{ii},M.endo_names,'exact'))) end fprintf('evaluate_steady_state: the following equations have non-zero residuals: \n') - for ii=n_multipliers+1:M.endo_nbr + for ii=n_ramsey_equations+1:M.endo_nbr if abs(resids(ii)) > options.solve_tolf - fprintf('\t Equation number %d: %f\n',ii-n_multipliers, resids(ii)) + fprintf('\t Equation number %d: %f\n',ii-n_ramsey_equations, resids(ii)) end end skipline(2) @@ -150,7 +150,7 @@ if options.ramsey_policy end end if steadystate_flag - nan_indices_mult=find(isnan(resids(1:n_multipliers))); + nan_indices_mult=find(isnan(resids(1:n_ramsey_equations))); if any(nan_indices_mult) fprintf('evaluate_steady_state: The steady state results NaN for auxiliary equation %u.\n',nan_indices_mult); fprintf('evaluate_steady_state: This is often a sign of problems.\n'); @@ -185,9 +185,9 @@ if options.ramsey_policy %check whether steady state really solves the model resids = evaluate_static_model(ys,exo_ss,params,M,options); - n_multipliers=M.ramsey_eq_nbr; - nan_indices_multiplier=find(isnan(resids(1:n_multipliers))); - nan_indices=find(isnan(resids(n_multipliers+1:end))); + n_ramsey_equations=M.ramsey_eq_nbr; + nan_indices_multiplier=find(isnan(resids(1:n_ramsey_equations))); + nan_indices=find(isnan(resids(n_ramsey_equations+1:end))); if ~isempty(nan_indices) if options.debug @@ -233,14 +233,14 @@ if options.ramsey_policy fprintf('\t %s \t %f \n',options.instruments{i},ys(strmatch(options.instruments{i},M.endo_names,'exact'))) end fprintf('evaluate_steady_state: The following equations have non-zero residuals: \n') - for ii=1:n_multipliers + for ii=1:n_ramsey_equations if abs(resids(ii)) > options.solve_tolf/100 fprintf('\t Auxiliary Ramsey equation number %d: %f\n',ii, resids(ii)) end end - for ii=n_multipliers+1:M.endo_nbr + for ii=n_ramsey_equations+1:M.endo_nbr if abs(resids(ii)) > options.solve_tolf/100 - fprintf('\t Equation number %d: %f\n',ii-n_multipliers, resids(ii)) + fprintf('\t Equation number %d: %f\n',ii-n_ramsey_equations, resids(ii)) end end skipline(2)