From f57cf46df9590659da06b575e9570dd182c9ddbd Mon Sep 17 00:00:00 2001 From: Johannes Pfeifer Date: Sat, 4 Apr 2015 19:37:59 +0200 Subject: [PATCH] Make GetOneDraw.m only compute posterior for prior if needed Potentially saves a lot of time --- matlab/GetOneDraw.m | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/matlab/GetOneDraw.m b/matlab/GetOneDraw.m index 2a84e7b7d..1f3572745 100644 --- a/matlab/GetOneDraw.m +++ b/matlab/GetOneDraw.m @@ -1,20 +1,19 @@ function [xparams, logpost] = GetOneDraw(type) - % function [xparams, logpost] = GetOneDraw(type) -% draws one row from metropolis +% draws one parameter vector and its posterior from MCMC or the prior % % INPUTS -% type: posterior -% prior +% type: [string] 'posterior': draw from MCMC draws +% 'prior': draw from prior % % OUTPUTS -% xparams: vector of estimated parameters (drawn from posterior distribution) -% logpost: log of the posterior density relative to this row +% xparams: vector of estimated parameters (drawn from posterior or prior distribution) +% logpost: log of the posterior density of this parameter vector % % SPECIAL REQUIREMENTS % none -% Copyright (C) 2005-2011 Dynare Team +% Copyright (C) 2005-2015 Dynare Team % % This file is part of Dynare. % @@ -36,5 +35,7 @@ switch type [xparams, logpost] = metropolis_draw(0); case 'prior' xparams = prior_draw(0); - logpost = evaluate_posterior_kernel(xparams'); + if nargout>1 + logpost = evaluate_posterior_kernel(xparams'); + end end \ No newline at end of file