From 6a1c5fbd709ed553339c5f97a06ff9004a24122e Mon Sep 17 00:00:00 2001 From: michel Date: Mon, 1 Dec 2008 12:49:17 +0000 Subject: [PATCH] adding report at the end of Lagrange multipliers elimination testing shows a mistake in the procedure git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@2277 ac1d8469-bf42-47a9-8791-bf33cf982152 --- matlab/mult_elimination.m | 32 ++++++++++++++++++++++++++++---- 1 file changed, 28 insertions(+), 4 deletions(-) diff --git a/matlab/mult_elimination.m b/matlab/mult_elimination.m index c9e20d867..81338dda0 100644 --- a/matlab/mult_elimination.m +++ b/matlab/mult_elimination.m @@ -1,4 +1,4 @@ -function dr=mult_elimination(void) +function dr=mult_elimination(varlist,M_, options_, oo_) % function mult_elimination() % replaces Lagrange multipliers in Ramsey policy by lagged value of state % and shock variables @@ -29,8 +29,6 @@ function dr=mult_elimination(void) % You should have received a copy of the GNU General Public License % along with Dynare. If not, see . - global M_ options_ oo_ - dr = oo_.dr; nstatic = dr.nstatic; @@ -94,4 +92,30 @@ function dr=mult_elimination(void) dr.M1 = M1; dr.M2 = M2; dr.M3 = M3; - dr.M4 = M4; \ No newline at end of file + dr.M4 = M4; + + nvar = length(varlist); + nspred = dr.nspred; + nspred = 6; + if nvar > 0 + res_table = zeros(2*(nspred+M_.exo_nbr),nvar); + headers = 'Variables'; + for i=1:length(varlist) + k = strmatch(varlist{i},M_.endo_names(dr.order_var,:),'exact'); + headers = strvcat(headers,varlist{i}); + + res_table(1:nspred,i) = M1(k,:)'; + res_table(nspred+(1:nspred),i) = M2(k,:)'; + res_table(2*nspred+(1:M_.exo_nbr),i) = M3(k,:)'; + res_table(2*nspred+M_.exo_nbr+(1:M_.exo_nbr),i) = M4(k,:)'; + end + + my_title='ELIMINATION OF THE MULTIPLIERS'; + lab1 = M_.endo_names(dr.order_var(dr.nstatic+[ 1 2 5:8]),:); + labels = strvcat(lab1,lab1,M_.exo_names,M_.exo_names); + lh = size(labels,2)+2; + table(my_title,headers,labels,res_table,lh,10,6); + disp(' ') + end + + \ No newline at end of file