0001
0002
0003 function make_y_
0004 global M_ options_ oo_ ys0_
0005
0006 options_ = set_default_option(options_,'periods',0);
0007
0008 if isempty(oo_.steady_state)
0009 oo_.steady_state = ones(M_.endo_nbr,1);
0010 end
0011
0012
0013 if isempty(oo_.y_simul)
0014 if isempty(ys0_)
0015 oo_.y_simul = [oo_.steady_state*ones(1,M_.maximum_lag+options_.periods+M_.maximum_lead)];
0016 else
0017 oo_.y_simul = [ys0_*ones(1,M_.maximum_lag);oo_.steady_state*ones(1,options_.periods+M_.maximum_lead)];
0018 end
0019 elseif size(oo_.y_simul,1) < length(oo_.steady_state)
0020 k = size(oo_.y_simul,1)+1:length(oo_.steady_state)
0021 if isempty(ys0_)
0022 oo_.y_simul = [oo_.y_simul; oo_.steady_state(k)*ones(1,M_.maximum_lag+size(oo_.y_simul,1)+M_.maximum_lead)];
0023 else
0024 oo_.y_simul = [oo_.y_simul; [ys0_(k)*ones(1,M_.maximum_lag); oo_.steady_state(k)*ones(1,size(oo_.y_simul,2)-M_.maximum_lag+ ...
0025 M_.maximum_lead)]];
0026 end
0027 elseif size(oo_.y_simul,2) < M_.maximum_lag+M_.maximum_lead+options_.periods
0028 if isempty(ys0_)
0029 oo_.y_simul = [oo_.y_simul oo_.steady_state*ones(1,M_.maximum_lag+options_.periods+M_.maximum_lead-size(oo_.y_simul,2),1)];
0030 else
0031 oo_.y_simul = [ys0_*ones(1,M_.maximum_lag) oo_.y_simul oo_.steady_state*ones(1,options_.periods+M_.maximum_lead-size(oo_.y_simul, ...
0032 2))];
0033 end
0034 end
0035
0036