From e4986047aec70a44cebdbb7b70d1d68005d10ceb Mon Sep 17 00:00:00 2001 From: Michel Juillard Date: Wed, 11 Aug 2010 12:03:19 +0200 Subject: [PATCH] moments_varendo: compute variance decomposition only if there is more than one exogenous variable --- matlab/compute_moments_varendo.m | 36 +++++++++++++++++--------------- 1 file changed, 19 insertions(+), 17 deletions(-) diff --git a/matlab/compute_moments_varendo.m b/matlab/compute_moments_varendo.m index 77aa4484a..a9ee76959 100644 --- a/matlab/compute_moments_varendo.m +++ b/matlab/compute_moments_varendo.m @@ -94,31 +94,33 @@ else end end % VARIANCE DECOMPOSITION. -if posterior - for i=1:NumberOfEndogenousVariables - for j=1:NumberOfExogenousVariables - oo_ = posterior_analysis('decomposition',var_list_(i,:),M_.exo_names(j,:),[],options_,M_,oo_); - end - end -else - for i=1:NumberOfEndogenousVariables - for j=1:NumberOfExogenousVariables - oo_ = prior_analysis('decomposition',var_list_(i,:),M_.exo_names(j,:),[],options_,M_,oo_); - end - end -end -% CONDITIONAL VARIANCE DECOMPOSITION. -if Steps +if M_.exo_nbr > 1 if posterior for i=1:NumberOfEndogenousVariables for j=1:NumberOfExogenousVariables - oo_ = posterior_analysis('conditional decomposition',var_list_(i,:),M_.exo_names(j,:),Steps,options_,M_,oo_); + oo_ = posterior_analysis('decomposition',var_list_(i,:),M_.exo_names(j,:),[],options_,M_,oo_); end end else for i=1:NumberOfEndogenousVariables for j=1:NumberOfExogenousVariables - oo_ = prior_analysis('conditional decomposition',var_list_(i,:),M_.exo_names(j,:),Steps,options_,M_,oo_); + oo_ = prior_analysis('decomposition',var_list_(i,:),M_.exo_names(j,:),[],options_,M_,oo_); + end + end + end + % CONDITIONAL VARIANCE DECOMPOSITION. + if Steps + if posterior + for i=1:NumberOfEndogenousVariables + for j=1:NumberOfExogenousVariables + oo_ = posterior_analysis('conditional decomposition',var_list_(i,:),M_.exo_names(j,:),Steps,options_,M_,oo_); + end + end + else + for i=1:NumberOfEndogenousVariables + for j=1:NumberOfExogenousVariables + oo_ = prior_analysis('conditional decomposition',var_list_(i,:),M_.exo_names(j,:),Steps,options_,M_,oo_); + end end end end