extended path: fixed boundaries for linear problem
parent
5024af0099
commit
0ce2834281
|
@ -1,4 +1,5 @@
|
||||||
function [options, y0, yT, z, i_cols, i_cols_J1, i_cols_T, i_cols_j, i_cols_1, dynamicmodel] = initialize_stack_solve_algo_7(endogenousvariables, options, M)
|
function [options, y0, yT, z, i_cols, i_cols_J1, i_cols_T, i_cols_j, i_cols_1, ...
|
||||||
|
dynamicmodel] = initialize_stack_solve_algo_7(endogenousvariables, options, M, steadystate_y)
|
||||||
|
|
||||||
% Copyright (C) 2015 Dynare Team
|
% Copyright (C) 2015 Dynare Team
|
||||||
%
|
%
|
||||||
|
@ -21,12 +22,20 @@ periods = options.periods;
|
||||||
if (options.solve_algo == 10)
|
if (options.solve_algo == 10)
|
||||||
if ~isfield(options.lmmcp,'lb')
|
if ~isfield(options.lmmcp,'lb')
|
||||||
[lb,ub,pfm.eq_index] = get_complementarity_conditions(M,options.ramsey_policy);
|
[lb,ub,pfm.eq_index] = get_complementarity_conditions(M,options.ramsey_policy);
|
||||||
|
if options.linear_approximation
|
||||||
|
lb = lb - steadystate_y;
|
||||||
|
ub = ub - steadystate_y;
|
||||||
|
end
|
||||||
options.lmmcp.lb = repmat(lb,periods,1);
|
options.lmmcp.lb = repmat(lb,periods,1);
|
||||||
options.lmmcp.ub = repmat(ub,periods,1);
|
options.lmmcp.ub = repmat(ub,periods,1);
|
||||||
end
|
end
|
||||||
elseif (options.solve_algo == 11)
|
elseif (options.solve_algo == 11)
|
||||||
if ~isfield(options.mcppath,'lb')
|
if ~isfield(options.mcppath,'lb')
|
||||||
[lb,ub,pfm.eq_index] = get_complementarity_conditions(M,options.ramsey_policy);
|
[lb,ub,pfm.eq_index] = get_complementarity_conditions(M,options.ramsey_policy);
|
||||||
|
if options.linear_approximation
|
||||||
|
lb = lb - steadystate_y;
|
||||||
|
ub = ub - steadystate_y;
|
||||||
|
end
|
||||||
options.mcppath.lb = repmat(lb,periods,1);
|
options.mcppath.lb = repmat(lb,periods,1);
|
||||||
options.mcppath.ub = repmat(ub,periods,1);
|
options.mcppath.ub = repmat(ub,periods,1);
|
||||||
end
|
end
|
||||||
|
|
|
@ -18,7 +18,7 @@ function [endogenousvariables, info] = solve_stacked_linear_problem(endogenousva
|
||||||
% along with Dynare. If not, see <http://www.gnu.org/licenses/>.
|
% along with Dynare. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
[options, y0, yT, z, i_cols, i_cols_J1, i_cols_T, i_cols_j, i_cols_1, dynamicmodel] = ...
|
[options, y0, yT, z, i_cols, i_cols_J1, i_cols_T, i_cols_j, i_cols_1, dynamicmodel] = ...
|
||||||
initialize_stacked_problem(endogenousvariables, options, M);
|
initialize_stacked_problem(endogenousvariables, options, M, steadystate_y);
|
||||||
|
|
||||||
ip = find(M.lead_lag_incidence(1,:)');
|
ip = find(M.lead_lag_incidence(1,:)');
|
||||||
ic = find(M.lead_lag_incidence(2,:)');
|
ic = find(M.lead_lag_incidence(2,:)');
|
||||||
|
|
|
@ -18,7 +18,7 @@ function [endogenousvariables, info] = solve_stacked_problem(endogenousvariables
|
||||||
% along with Dynare. If not, see <http://www.gnu.org/licenses/>.
|
% along with Dynare. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
[options, y0, yT, z, i_cols, i_cols_J1, i_cols_T, i_cols_j, i_cols_1, dynamicmodel] = ...
|
[options, y0, yT, z, i_cols, i_cols_J1, i_cols_T, i_cols_j, i_cols_1, dynamicmodel] = ...
|
||||||
initialize_stacked_problem(endogenousvariables, options, M);
|
initialize_stacked_problem(endogenousvariables, options, M, steadystate);
|
||||||
|
|
||||||
[y, check] = dynare_solve(@perfect_foresight_problem,z(:),options, ...
|
[y, check] = dynare_solve(@perfect_foresight_problem,z(:),options, ...
|
||||||
dynamicmodel, y0, yT, ...
|
dynamicmodel, y0, yT, ...
|
||||||
|
|
Loading…
Reference in New Issue