trunk: removed useless global variable in sim1.m and simk.m (doesn't seem to affect performance)
git-svn-id: https://www.dynare.org/svn/dynare/trunk@2518 ac1d8469-bf42-47a9-8791-bf33cf982152time-shift
parent
5ee346e4fd
commit
b953c5cf31
|
@ -15,7 +15,7 @@ function sim1
|
||||||
% SPECIAL REQUIREMENTS
|
% SPECIAL REQUIREMENTS
|
||||||
% None.
|
% None.
|
||||||
|
|
||||||
% Copyright (C) 1996-2008 Dynare Team
|
% Copyright (C) 1996-2009 Dynare Team
|
||||||
%
|
%
|
||||||
% This file is part of Dynare.
|
% This file is part of Dynare.
|
||||||
%
|
%
|
||||||
|
@ -69,19 +69,19 @@ for iter = 1:options_.maxit
|
||||||
|
|
||||||
it_ = it_init ;
|
it_ = it_init ;
|
||||||
z = [oo_.endo_simul(iyp,it_-1) ; oo_.endo_simul(:,it_) ; oo_.endo_simul(iyf,it_+1)] ;
|
z = [oo_.endo_simul(iyp,it_-1) ; oo_.endo_simul(:,it_) ; oo_.endo_simul(iyf,it_+1)] ;
|
||||||
[d1,M_.jacobia] = feval([M_.fname '_dynamic'],z,oo_.exo_simul, M_.params, it_);
|
[d1,jacobian] = feval([M_.fname '_dynamic'],z,oo_.exo_simul, M_.params, it_);
|
||||||
M_.jacobia = [M_.jacobia(:,iz) -d1] ;
|
jacobian = [jacobian(:,iz) -d1] ;
|
||||||
ic = [1:ny] ;
|
ic = [1:ny] ;
|
||||||
icp = iyp ;
|
icp = iyp ;
|
||||||
c (ic,:) = M_.jacobia(:,is)\M_.jacobia(:,isf1) ;
|
c (ic,:) = jacobian(:,is)\jacobian(:,isf1) ;
|
||||||
for it_ = it_init+(1:options_.periods-1)
|
for it_ = it_init+(1:options_.periods-1)
|
||||||
z = [oo_.endo_simul(iyp,it_-1) ; oo_.endo_simul(:,it_) ; oo_.endo_simul(iyf,it_+1)] ;
|
z = [oo_.endo_simul(iyp,it_-1) ; oo_.endo_simul(:,it_) ; oo_.endo_simul(iyf,it_+1)] ;
|
||||||
[d1,M_.jacobia] = feval([M_.fname '_dynamic'],z,oo_.exo_simul, M_.params, it_);
|
[d1,jacobian] = feval([M_.fname '_dynamic'],z,oo_.exo_simul, M_.params, it_);
|
||||||
M_.jacobia = [M_.jacobia(:,iz) -d1] ;
|
jacobian = [jacobian(:,iz) -d1] ;
|
||||||
M_.jacobia(:,[isf nrs]) = M_.jacobia(:,[isf nrs])-M_.jacobia(:,isp)*c(icp,:) ;
|
jacobian(:,[isf nrs]) = jacobian(:,[isf nrs])-jacobian(:,isp)*c(icp,:) ;
|
||||||
ic = ic + ny ;
|
ic = ic + ny ;
|
||||||
icp = icp + ny ;
|
icp = icp + ny ;
|
||||||
c (ic,:) = M_.jacobia(:,is)\M_.jacobia(:,isf1) ;
|
c (ic,:) = jacobian(:,is)\jacobian(:,isf1) ;
|
||||||
end
|
end
|
||||||
|
|
||||||
if ct_ == 1
|
if ct_ == 1
|
||||||
|
|
|
@ -17,7 +17,7 @@ function simk
|
||||||
% None.
|
% None.
|
||||||
%
|
%
|
||||||
|
|
||||||
% Copyright (C) 1996-2007 Dynare Team
|
% Copyright (C) 1996-2009 Dynare Team
|
||||||
%
|
%
|
||||||
% This file is part of Dynare.
|
% This file is part of Dynare.
|
||||||
%
|
%
|
||||||
|
@ -144,20 +144,20 @@ for iter = 1:options_.maxit
|
||||||
d1 = -feval([M_.fname '_dynamic'],oo_.endo_simul(iyr),z,oo_.exo_simul, M_.params, it_);
|
d1 = -feval([M_.fname '_dynamic'],oo_.endo_simul(iyr),z,oo_.exo_simul, M_.params, it_);
|
||||||
else
|
else
|
||||||
%jacob(func_name,oo_.endo_simul(iyr)) ;
|
%jacob(func_name,oo_.endo_simul(iyr)) ;
|
||||||
[d1,M_.jacobia] = feval([M_.fname '_dynamic'],oo_.endo_simul(iyr),oo_.exo_simul, M_.params, it_);
|
[d1,jacobian] = feval([M_.fname '_dynamic'],oo_.endo_simul(iyr),oo_.exo_simul, M_.params, it_);
|
||||||
d1 = -d1 ;
|
d1 = -d1 ;
|
||||||
end
|
end
|
||||||
err_f = max(err_f,max(abs(d1)));
|
err_f = max(err_f,max(abs(d1)));
|
||||||
if lky(i) ~= 0
|
if lky(i) ~= 0
|
||||||
j1i = ky(1:lky(i),i) ;
|
j1i = ky(1:lky(i),i) ;
|
||||||
w0 = M_.jacobia(:,isc(i-1)+1:isc(i)) ;
|
w0 = jacobian(:,isc(i-1)+1:isc(i)) ;
|
||||||
else
|
else
|
||||||
w0 = [];
|
w0 = [];
|
||||||
end
|
end
|
||||||
ttemp = iy(i+1:i+M_.maximum_endo_lead,:)' ;
|
ttemp = iy(i+1:i+M_.maximum_endo_lead,:)' ;
|
||||||
jwci = find(ttemp) ;
|
jwci = find(ttemp) ;
|
||||||
if ~ isempty(jwci)
|
if ~ isempty(jwci)
|
||||||
w = M_.jacobia(:,isc(i)+1:isc(i+M_.maximum_endo_lead)) ;
|
w = jacobian(:,isc(i)+1:isc(i+M_.maximum_endo_lead)) ;
|
||||||
end
|
end
|
||||||
j = i ;
|
j = i ;
|
||||||
while j <= M_.maximum_endo_lag
|
while j <= M_.maximum_endo_lag
|
||||||
|
@ -189,7 +189,7 @@ for iter = 1:options_.maxit
|
||||||
j1i = [];
|
j1i = [];
|
||||||
if lky(j+M_.maximum_endo_lead) ~= 0
|
if lky(j+M_.maximum_endo_lead) ~= 0
|
||||||
jwci = ky(1:lky(j+M_.maximum_endo_lead),j+M_.maximum_endo_lead) + (M_.maximum_endo_lead-1)*ny ;
|
jwci = ky(1:lky(j+M_.maximum_endo_lead),j+M_.maximum_endo_lead) + (M_.maximum_endo_lead-1)*ny ;
|
||||||
w = M_.jacobia(:,isc(j+M_.maximum_endo_lead-1)+1:isc(j+M_.maximum_endo_lead)) ;
|
w = jacobian(:,isc(j+M_.maximum_endo_lead-1)+1:isc(j+M_.maximum_endo_lead)) ;
|
||||||
else
|
else
|
||||||
jwci = [] ;
|
jwci = [] ;
|
||||||
end
|
end
|
||||||
|
@ -199,7 +199,7 @@ for iter = 1:options_.maxit
|
||||||
if size(jwci,1) == size(j1i,1)
|
if size(jwci,1) == size(j1i,1)
|
||||||
if lky(j+M_.maximum_endo_lead) ~= 0
|
if lky(j+M_.maximum_endo_lead) ~= 0
|
||||||
jwci = ky(1:lky(j+M_.maximum_endo_lead),j+M_.maximum_endo_lead)+(M_.maximum_endo_lead-1)*ny ;
|
jwci = ky(1:lky(j+M_.maximum_endo_lead),j+M_.maximum_endo_lead)+(M_.maximum_endo_lead-1)*ny ;
|
||||||
w = M_.jacobia(:,isc(j+M_.maximum_endo_lead-1)+1:isc(j+M_.maximum_endo_lead)) ;
|
w = jacobian(:,isc(j+M_.maximum_endo_lead-1)+1:isc(j+M_.maximum_endo_lead)) ;
|
||||||
else
|
else
|
||||||
jwci = [] ;
|
jwci = [] ;
|
||||||
end
|
end
|
||||||
|
@ -208,7 +208,7 @@ for iter = 1:options_.maxit
|
||||||
w = w(:,size(j1i,1)+1:size(w,2)) ;
|
w = w(:,size(j1i,1)+1:size(w,2)) ;
|
||||||
if lky(j+M_.maximum_endo_lead) ~= 0
|
if lky(j+M_.maximum_endo_lead) ~= 0
|
||||||
jwci = [ jwci; ky(1: lky(j+M_.maximum_endo_lead),j+M_.maximum_endo_lead)+(M_.maximum_endo_lead-1)*ny] ;
|
jwci = [ jwci; ky(1: lky(j+M_.maximum_endo_lead),j+M_.maximum_endo_lead)+(M_.maximum_endo_lead-1)*ny] ;
|
||||||
w = [w M_.jacobia(:,isc(j+M_.maximum_endo_lead-1)+1:isc(j+M_.maximum_endo_lead))] ;
|
w = [w jacobian(:,isc(j+M_.maximum_endo_lead-1)+1:isc(j+M_.maximum_endo_lead))] ;
|
||||||
% else
|
% else
|
||||||
% jwci = [] ;
|
% jwci = [] ;
|
||||||
end
|
end
|
||||||
|
@ -237,12 +237,12 @@ for iter = 1:options_.maxit
|
||||||
d1 = -feval([M_.fname '_dynamic'],oo_.endo_simul(iyr),z,oo_.exo_simul, M_.params, it_);
|
d1 = -feval([M_.fname '_dynamic'],oo_.endo_simul(iyr),z,oo_.exo_simul, M_.params, it_);
|
||||||
else
|
else
|
||||||
%jacob(func_name,oo_.endo_simul(iyr)) ;
|
%jacob(func_name,oo_.endo_simul(iyr)) ;
|
||||||
[d1,M_.jacobia] = feval([M_.fname '_dynamic'],oo_.endo_simul(iyr),oo_.exo_simul, M_.params, it_);
|
[d1,jacobian] = feval([M_.fname '_dynamic'],oo_.endo_simul(iyr),oo_.exo_simul, M_.params, it_);
|
||||||
d1 = -d1 ;
|
d1 = -d1 ;
|
||||||
end
|
end
|
||||||
err_f = max(err_f,max(abs(d1)));
|
err_f = max(err_f,max(abs(d1)));
|
||||||
w0 = M_.jacobia(:,1:isc(1)) ;
|
w0 = jacobian(:,1:isc(1)) ;
|
||||||
w = M_.jacobia(:,isc(1)+1:isc(1+M_.maximum_endo_lead)) ;
|
w = jacobian(:,isc(1)+1:isc(1+M_.maximum_endo_lead)) ;
|
||||||
j = 1 ;
|
j = 1 ;
|
||||||
while j <= M_.maximum_endo_lag
|
while j <= M_.maximum_endo_lag
|
||||||
icr = j1(1:lj1(j),j)-(j-1)*ny ;
|
icr = j1(1:lj1(j),j)-(j-1)*ny ;
|
||||||
|
@ -263,12 +263,12 @@ for iter = 1:options_.maxit
|
||||||
j = j + 1 ;
|
j = j + 1 ;
|
||||||
w0 = w(:,1:lj1(j)) ;
|
w0 = w(:,1:lj1(j)) ;
|
||||||
if M_.maximum_endo_lead == 1
|
if M_.maximum_endo_lead == 1
|
||||||
w = M_.jacobia(:,isc(j+M_.maximum_endo_lead-1)+1:isc(j+M_.maximum_endo_lead)) ;
|
w = jacobian(:,isc(j+M_.maximum_endo_lead-1)+1:isc(j+M_.maximum_endo_lead)) ;
|
||||||
else
|
else
|
||||||
w = w(:,lj1(j)+1:size(w,2)) ;
|
w = w(:,lj1(j)+1:size(w,2)) ;
|
||||||
|
|
||||||
if lky(j+M_.maximum_endo_lead) > 0
|
if lky(j+M_.maximum_endo_lead) > 0
|
||||||
w = [w M_.jacobia(:,isc(j+M_.maximum_endo_lead-1)+1:isc(j+M_.maximum_endo_lead))] ;
|
w = [w jacobian(:,isc(j+M_.maximum_endo_lead-1)+1:isc(j+M_.maximum_endo_lead))] ;
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue