update to ramsey_policy
parent
f5e453343f
commit
2de9113889
|
@ -128,7 +128,8 @@ if options_.ramsey_policy
|
||||||
[junk,junk,multbar] = dyn_ramsey_static_(oo_.steady_state(k_inst),M_,options_,oo_,it_);
|
[junk,junk,multbar] = dyn_ramsey_static_(oo_.steady_state(k_inst),M_,options_,oo_,it_);
|
||||||
oo_.steady_state = [x(1:M_.orig_endo_nbr); multbar];
|
oo_.steady_state = [x(1:M_.orig_endo_nbr); multbar];
|
||||||
else
|
else
|
||||||
xx = oo_.steady_state([1:M_.orig_endo_nbr (M_.orig_endo_nbr+M_.orig_eq_nbr+1):end]);
|
% xx = oo_.steady_state([1:M_.orig_endo_nbr (M_.orig_endo_nbr+M_.orig_eq_nbr+1):end]);
|
||||||
|
xx = oo_.steady_state(1:M_.orig_endo_nbr);
|
||||||
[xx,info1] = dynare_solve('dyn_ramsey_static_', ...
|
[xx,info1] = dynare_solve('dyn_ramsey_static_', ...
|
||||||
xx,0,M_,options_,oo_,it_);
|
xx,0,M_,options_,oo_,it_);
|
||||||
[junk,junk,multbar] = dyn_ramsey_static_(xx,M_,options_,oo_,it_);
|
[junk,junk,multbar] = dyn_ramsey_static_(xx,M_,options_,oo_,it_);
|
||||||
|
|
|
@ -77,22 +77,31 @@ if options_.steadystate_flag
|
||||||
end
|
end
|
||||||
|
|
||||||
else
|
else
|
||||||
x = [x(1:orig_endo_nbr); zeros(orig_eq_nbr,1); x(orig_endo_nbr+1:end)];
|
xx = zeros(endo_nbr,1);
|
||||||
|
xx(1:orig_endo_nbr) = x;
|
||||||
|
|
||||||
|
xx = feval([M_.fname '_set_auxiliary_variables'],xx,...
|
||||||
|
[oo.exo_steady_state,...
|
||||||
|
oo.exo_det_steady_state],...
|
||||||
|
M_.params);
|
||||||
|
|
||||||
|
% x = [x(1:orig_endo_nbr); zeros(orig_eq_nbr,1); x(orig_endo_nbr+1:end)];
|
||||||
end
|
end
|
||||||
|
|
||||||
% value and Jacobian of objective function
|
% value and Jacobian of objective function
|
||||||
ex = zeros(1,M.exo_nbr);
|
ex = zeros(1,M.exo_nbr);
|
||||||
[U,Uy,Uyy] = feval([fname '_objective_static'],x(i_endo),ex, M_.params);
|
[U,Uy,Uyy] = feval([fname '_objective_static'],xx,ex, M_.params);
|
||||||
Uy = Uy';
|
Uy = Uy';
|
||||||
Uyy = reshape(Uyy,endo_nbr,endo_nbr);
|
Uyy = reshape(Uyy,endo_nbr,endo_nbr);
|
||||||
|
|
||||||
% set multipliers to 0 to compute residuals
|
% set multipliers to 0 to compute residuals
|
||||||
it_ = 1;
|
it_ = 1;
|
||||||
[f,fJ] = feval([fname '_static'],x,[oo.exo_simul oo.exo_det_simul], ...
|
[f,fJ] = feval([fname '_static'],xx,[oo.exo_simul oo.exo_det_simul], ...
|
||||||
M_.params);
|
M_.params);
|
||||||
|
|
||||||
A = fJ(1:orig_endo_nbr,i_mult);
|
aux_eq = [1:orig_endo_nbr orig_endo_nbr+orig_eq_nbr+1:size(fJ,1)];
|
||||||
y = f(1:orig_endo_nbr);
|
A = fJ(aux_eq,orig_endo_nbr+1:end);
|
||||||
|
y = f(aux_eq);
|
||||||
mult = -A\y;
|
mult = -A\y;
|
||||||
|
|
||||||
resids1 = y+A*mult;
|
resids1 = y+A*mult;
|
||||||
|
|
Loading…
Reference in New Issue