Put back M_.maximum_lag.

time-shift
Stéphane Adjemian (Charybdis) 2010-11-19 16:30:55 +01:00
parent dfbbc415cd
commit 9d4385da5d
1 changed files with 7 additions and 7 deletions

View File

@ -36,7 +36,7 @@ global M_ options_
iter = size(ex_,1);
y_ = zeros(size(y0,1),iter+1);
y_ = zeros(size(y0,1),iter+M_.maximum_lag);
y_(:,1) = y0;
if ~options_.k_order_solver
@ -67,18 +67,18 @@ if options_.k_order_solver% Call dynare++ routines.
mexErrCheck('dynare_simul_', err);
y_(dr.order_var,:) = y_;
else
k2 = dr.kstate(find(dr.kstate(:,2) <= 1+1),[1 2]);
k2 = k2(:,1)+(1+1-k2(:,2))*M_.endo_nbr;
k2 = dr.kstate(find(dr.kstate(:,2) <= 1+M_.maximum_lag),[1 2]);
k2 = k2(:,1)+(M_.maximum_lag+1-k2(:,2))*M_.endo_nbr;
switch iorder
case 1
if isempty(dr.ghu)
for i = 2:iter+1
for i = 2:iter+M_.maximum_lag
yhat = y_(dr.order_var(k2),i-1);
y_(dr.order_var,i) = dr.ghx*yhat;
end
else
epsilon = dr.ghu*transpose(ex_); clear('ex_');
for i = 2:iter+1
for i = 2:iter+M_.maximum_lag
yhat = y_(dr.order_var(k2),i-1);
y_(dr.order_var,i) = dr.ghx*yhat + epsilon(:,i-1);
end
@ -88,7 +88,7 @@ else
constant = dr.ys(dr.order_var)+.5*dr.ghs2;
if options_.pruning
y__ = y0;
for i = 2:iter+1
for i = 2:iter+M_.maximum_lag
yhat1 = y__(dr.order_var(k2))-dr.ys(dr.order_var(k2));
yhat2 = y_(dr.order_var(k2),i-1)-dr.ys(dr.order_var(k2));
epsilon = ex_(i-1,:)';
@ -103,7 +103,7 @@ else
y__(dr.order_var) = dr.ys(dr.order_var) + dr.ghx*yhat1 + dr.ghu*epsilon;
end
else
for i = 2:iter+1
for i = 2:iter+M_.maximum_lag
yhat = y_(dr.order_var(k2),i-1)-dr.ys(dr.order_var(k2));
epsilon = ex_(i-1,:)';
[err, abcOut1] = A_times_B_kronecker_C(.5*dr.ghxx,yhat,options_.threads.kronecker.A_times_B_kronecker_C);