Changed the initialization of the persistent variables in perfect_foresight_simulation.
parent
83521c384f
commit
913ef20078
|
@ -86,6 +86,8 @@ verbose = 0;
|
||||||
t = 0;
|
t = 0;
|
||||||
new_draw = 1;
|
new_draw = 1;
|
||||||
|
|
||||||
|
perfect_foresight_simulation([],[],[]);
|
||||||
|
|
||||||
while (t<=sample_size)
|
while (t<=sample_size)
|
||||||
t = t+1;
|
t = t+1;
|
||||||
if new_draw
|
if new_draw
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
function info = perfect_foresight_simulation(compute_linear_solution,steady_state)
|
function info = perfect_foresight_simulation(compute_linear_solution,steady_state, init_flag)
|
||||||
% Performs deterministic simulations with lead or lag on one period
|
% Performs deterministic simulations with lead or lag on one period
|
||||||
%
|
%
|
||||||
% INPUTS
|
% INPUTS
|
||||||
|
@ -37,19 +37,15 @@ function info = perfect_foresight_simulation(compute_linear_solution,steady_stat
|
||||||
|
|
||||||
global M_ options_ it_ oo_
|
global M_ options_ it_ oo_
|
||||||
|
|
||||||
persistent flag_init
|
persistent lead_lag_incidence dynamic_model ny nyp nyf nrs nrc iyf iyp isp is isf isf1 iz icf ghx
|
||||||
persistent lead_lag_incidence dynamic_model ny nyp nyf nrs nrc iyf iyp isp is isf isf1 iz icf
|
|
||||||
persistent ghx
|
|
||||||
|
|
||||||
initial_endo_simul = oo_.endo_simul;
|
if nargin==3% Initialization of the persistent variables.
|
||||||
|
|
||||||
if isempty(flag_init)
|
|
||||||
lead_lag_incidence = M_.lead_lag_incidence;
|
lead_lag_incidence = M_.lead_lag_incidence;
|
||||||
dynamic_model = [M_.fname '_dynamic'];
|
dynamic_model = [M_.fname '_dynamic'];
|
||||||
ny = size(oo_.endo_simul,1);
|
ny = size(oo_.endo_simul,1);
|
||||||
nyp = nnz(lead_lag_incidence(1,:));% number of lagged variables.
|
nyp = nnz(lead_lag_incidence(1,:));% number of lagged variables.
|
||||||
nyf = nnz(lead_lag_incidence(3,:));% number of leaded variables.
|
nyf = nnz(lead_lag_incidence(3,:));% number of leaded variables.
|
||||||
nrs = ny+nyp+nyf+1;
|
nrs = ny+nyp+nyf+1;
|
||||||
nrc = nyf+1;
|
nrc = nyf+1;
|
||||||
iyf = find(lead_lag_incidence(3,:)>0);% indices for leaded variables.
|
iyf = find(lead_lag_incidence(3,:)>0);% indices for leaded variables.
|
||||||
iyp = find(lead_lag_incidence(1,:)>0);% indices for lagged variables.
|
iyp = find(lead_lag_incidence(1,:)>0);% indices for lagged variables.
|
||||||
|
@ -58,10 +54,13 @@ if isempty(flag_init)
|
||||||
isf = iyf+nyp;
|
isf = iyf+nyp;
|
||||||
isf1 = (nyp+ny+1):(nyf+nyp+ny+1);
|
isf1 = (nyp+ny+1):(nyf+nyp+ny+1);
|
||||||
iz = 1:(ny+nyp+nyf);
|
iz = 1:(ny+nyp+nyf);
|
||||||
icf = 1:size(iyf,2);
|
icf = 1:size(iyf,2);
|
||||||
flag_init = 1;
|
info = [];
|
||||||
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
|
initial_endo_simul = oo_.endo_simul;
|
||||||
|
|
||||||
warning off all
|
warning off all
|
||||||
|
|
||||||
if nargin<1
|
if nargin<1
|
||||||
|
|
Loading…
Reference in New Issue