dynare/matlab/doc/PlotPosteriorDistributions....

178 lines
12 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/REC-html40/loose.dtd">
<html>
<head>
<title>Description of PlotPosteriorDistributions</title>
<meta name="keywords" content="PlotPosteriorDistributions">
<meta name="description" content="stephane.adjemian@ens.fr [09-09-2005]">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="generator" content="m2html &copy; 2003 Guillaume Flandin">
<meta name="robots" content="index, follow">
<link type="text/css" rel="stylesheet" href="../m2html.css">
</head>
<body>
<a name="_top"></a>
<div><a href="../index.html">Home</a> &gt; <a href="index.html">.</a> &gt; PlotPosteriorDistributions.m</div>
<!--<table width="100%"><tr><td align="left"><a href="../index.html"><img alt="<" border="0" src="../left.png">&nbsp;Master index</a></td>
<td align="right"><a href="index.html">Index for .&nbsp;<img alt=">" border="0" src="../right.png"></a></td></tr></table>-->
<h1>PlotPosteriorDistributions
</h1>
<h2><a name="_name"></a>PURPOSE <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2>
<div class="box"><strong>stephane.adjemian@ens.fr [09-09-2005]</strong></div>
<h2><a name="_synopsis"></a>SYNOPSIS <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2>
<div class="box"><strong>function PlotPosteriorDistributions() </strong></div>
<h2><a name="_description"></a>DESCRIPTION <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2>
<div class="fragment"><pre class="comment"> stephane.adjemian@ens.fr [09-09-2005]</pre></div>
<!-- crossreference -->
<h2><a name="_cross"></a>CROSS-REFERENCE INFORMATION <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2>
This function calls:
<ul style="list-style-image:url(../matlabicon.gif)">
<li><a href="CheckPath.html" class="code" title="function DirectoryName = CheckPath(type)">CheckPath</a> 06-03-2005</li><li><a href="draw_prior_density.html" class="code" title="function [x,f,abscissa,dens,binf,bsup] = draw_prior_density(indx);">draw_prior_density</a> stephane.adjemian@ens.fr [07-15-2004]</li><li><a href="get_the_name.html" class="code" title="function [nam,texnam] = get_the_name(k,TeX)">get_the_name</a> stephane.adjemian@cepremap.cnrs.fr [07-13-2004]</li></ul>
This function is called by:
<ul style="list-style-image:url(../matlabicon.gif)">
<li><a href="dynare_estimation.html" class="code" title="function dynare_estimation(var_list_)">dynare_estimation</a> </li></ul>
<!-- crossreference -->
<h2><a name="_source"></a>SOURCE CODE <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2>
<div class="fragment"><pre>0001 <a name="_sub0" href="#_subfunctions" class="code">function PlotPosteriorDistributions()</a>
0002 <span class="comment">% stephane.adjemian@ens.fr [09-09-2005]</span>
0003 <span class="keyword">global</span> estim_params_ M_ options_ bayestopt_ oo_
0004
0005 OutputDirectoryName = <a href="CheckPath.html" class="code" title="function DirectoryName = CheckPath(type)">CheckPath</a>(<span class="string">'Output'</span>);
0006
0007 TeX = options_.TeX;
0008 nblck = options_.mh_nblck;
0009 nvx = estim_params_.nvx;
0010 nvn = estim_params_.nvn;
0011 ncx = estim_params_.ncx;
0012 ncn = estim_params_.ncn;
0013 np = estim_params_.np ;
0014 npar = nvx+nvn+ncx+ncn+np;
0015
0016 MaxNumberOfPlotPerFigure = 9;<span class="comment">% The square root must be an integer!</span>
0017 nn = sqrt(MaxNumberOfPlotPerFigure);
0018
0019 figurename = <span class="string">'Priors and posteriors'</span>;
0020
0021 <span class="keyword">if</span> TeX
0022 fidTeX = fopen([OutputDirectoryName <span class="string">'/'</span> M_.fname <span class="string">'_PriorsAndPosteriors.TeX'</span>],<span class="string">'w'</span>);
0023 fprintf(fidTeX,<span class="string">'%% TeX eps-loader file generated by PlotPosteriorDistributions.m (Dynare).\n'</span>);
0024 fprintf(fidTeX,[<span class="string">'%% '</span> datestr(now,0) <span class="string">'\n'</span>]);
0025 fprintf(fidTeX,<span class="string">' \n'</span>);
0026 <span class="keyword">end</span>
0027
0028 figunumber = 0;
0029 subplotnum = 0;
0030
0031 <span class="keyword">for</span> i=1:npar
0032 subplotnum = subplotnum+1;
0033 <span class="keyword">if</span> subplotnum == 1
0034 figunumber = figunumber+1;
0035 <span class="keyword">if</span> options_.nograph
0036 hfig = figure(<span class="string">'Name'</span>,figurename,<span class="string">'Visible'</span>,<span class="string">'off'</span>);
0037 <span class="keyword">else</span>
0038 hfig = figure(<span class="string">'Name'</span>,figurename);
0039 <span class="keyword">end</span>
0040 <span class="keyword">end</span>
0041 <span class="keyword">if</span> subplotnum == 1
0042 <span class="keyword">if</span> TeX
0043 TeXNAMES = [];
0044 <span class="keyword">end</span>
0045 NAMES = [];
0046 <span class="keyword">end</span>
0047 [nam,texnam] = <a href="get_the_name.html" class="code" title="function [nam,texnam] = get_the_name(k,TeX)">get_the_name</a>(i,TeX);
0048 NAMES = strvcat(NAMES,nam);
0049 <span class="keyword">if</span> TeX
0050 TeXNAMES = strvcat(TeXNAMES,texnam);
0051 <span class="keyword">end</span>
0052 [x2,f2,abscissa,dens,binf2,bsup2] = <a href="draw_prior_density.html" class="code" title="function [x,f,abscissa,dens,binf,bsup] = draw_prior_density(indx);">draw_prior_density</a>(i);
0053 top2 = max(f2);
0054 <span class="keyword">if</span> i &lt;= nvx
0055 name = deblank(M_.exo_names(estim_params_.var_exo(i,1),:));
0056 eval([<span class="string">'x1 = oo_.posterior_density.shocks_std.'</span> name <span class="string">'(:,1);'</span>])
0057 eval([<span class="string">'f1 = oo_.posterior_density.shocks_std.'</span> name <span class="string">'(:,2);'</span>])
0058 eval([<span class="string">'pmode = oo_.posterior_mode.shocks_std.'</span> name <span class="string">';'</span>])
0059 <span class="keyword">elseif</span> i &lt;= nvx+nvn
0060 name = deblank(options_.varobs(estim_params_.var_endo(i-nvx,1),:));
0061 eval([<span class="string">'x1 = oo_.posterior_density.measurement_errors_std.'</span> name <span class="string">'(:,1);'</span>])
0062 eval([<span class="string">'f1 = oo_.posterior_density.measurement_errors_std.'</span> name <span class="string">'(:,2);'</span>])
0063 eval([<span class="string">'pmode = oo_.posterior_mode.measurement_errors_std.'</span> name <span class="string">';'</span>])
0064 <span class="keyword">elseif</span> i &lt;= nvx+nvn+ncx
0065 j = i - (nvx+nvn)
0066 k1 = estim_params_.corrx(j,1);
0067 k2 = estim_params_.corrx(j,2);
0068 name = [deblank(M_.exo_names(k1,:)) <span class="string">'_'</span> deblank(M_.exo_names(k2,:))];
0069 eval([<span class="string">'x1 = oo_.posterior_density.shocks_corr.'</span> name <span class="string">'(:,1);'</span>])
0070 eval([<span class="string">'f1 = oo_.posterior_density.shocks_corr.'</span> name <span class="string">'(:,2);'</span>])
0071 eval([<span class="string">'pmode = oo_.posterior_mode.shocks_corr.'</span> name <span class="string">';'</span>])
0072 <span class="keyword">elseif</span> i &lt;= nvx+nvn+ncx+ncn
0073 j = i - (nvx+nvn+ncx);
0074 k1 = estim_params_.corrn(j,1);
0075 k2 = estim_params_.corrn(j,2);
0076 name = [deblank(M_.endo_names(k1,:)) <span class="string">'_'</span> deblank(M_.endo_names(k2,:))];
0077 eval([<span class="string">'x1 = oo_.posterior_density.measurement_errors_corr.'</span> name <span class="string">'(:,1);'</span>])
0078 eval([<span class="string">'f1 = oo_.posterior_density.measurement_errors_corr.'</span> name <span class="string">'(:,2);'</span>])
0079 eval([<span class="string">'pmode = oo_.posterior_mode.measurement_errors_corr.'</span> name <span class="string">';'</span>])
0080 <span class="keyword">else</span>
0081 j = i - (nvx+nvn+ncx+ncn);
0082 name = deblank(M_.param_names(estim_params_.param_vals(j,1),:));
0083 eval([<span class="string">'x1 = oo_.posterior_density.'</span> name <span class="string">'(:,1);'</span>])
0084 eval([<span class="string">'f1 = oo_.posterior_density.'</span> name <span class="string">'(:,2);'</span>])
0085 eval([<span class="string">'pmode = oo_.posterior_mode.parameters.'</span> name <span class="string">';'</span>])
0086 <span class="keyword">end</span>
0087 top1 = max(f1);
0088 top0 = max([top1;top2]);
0089 binf1 = x1(1);
0090 bsup1 = x1(end);
0091 borneinf = min(binf1,binf2);
0092 bornesup = max(bsup1,bsup2);
0093 subplot(nn,nn,subplotnum)
0094 hh = plot(x2,f2,<span class="string">'-k'</span>,<span class="string">'linewidth'</span>,2);
0095 set(hh,<span class="string">'color'</span>,[0.7 0.7 0.7]);
0096 hold on;
0097 plot(x1,f1,<span class="string">'-k'</span>,<span class="string">'linewidth'</span>,2);
0098 plot( [pmode pmode], [0.0 1.1*top0], <span class="string">'--g'</span>, <span class="string">'linewidth'</span>, 2);
0099 box on;
0100 axis([borneinf bornesup 0 1.1*top0]);
0101 title(nam,<span class="string">'Interpreter'</span>,<span class="string">'none'</span>);
0102 hold off;
0103 drawnow
0104 <span class="keyword">if</span> subplotnum == MaxNumberOfPlotPerFigure | i == npar;
0105 eval([<span class="string">'print -depsc2 '</span> OutputDirectoryName <span class="string">'/'</span> M_.fname <span class="string">'_PriorsAndPosteriors'</span> int2str(figunumber)]);
0106 eval([<span class="string">'print -dpdf '</span> OutputDirectoryName <span class="string">'/'</span> M_.fname <span class="string">'_PriorsAndPosteriors'</span> int2str(figunumber)]);
0107 <span class="keyword">if</span> options_.nograph,
0108 set(hfig,<span class="string">'Visible'</span>,<span class="string">'on'</span>);
0109 <span class="keyword">end</span>
0110 saveas(hfig,[OutputDirectoryName <span class="string">'/'</span> M_.fname <span class="string">'_PriorsAndPosteriors'</span> int2str(figunumber) <span class="string">'.fig'</span>]);
0111 <span class="keyword">if</span> TeX
0112 fprintf(fidTeX,<span class="string">'\\begin{figure}[H]\n'</span>);
0113 <span class="keyword">for</span> j = 1:size(NAMES,1)
0114 fprintf(fidTeX,<span class="string">'\\psfrag{%s}[1][][0.5][0]{%s}\n'</span>,deblank(NAMES(j,:)),deblank(TeXNAMES(j,:)));
0115 <span class="keyword">end</span>
0116 fprintf(fidTeX,<span class="string">'\\centering\n'</span>);
0117 fprintf(fidTeX,<span class="string">'\\includegraphics[scale=0.5]{%s_PriorsAndPosteriors%s}\n'</span>,M_.fname,int2str(figunumber));
0118 fprintf(fidTeX,<span class="string">'\\caption{Priors and posteriors.}'</span>);
0119 fprintf(fidTeX,<span class="string">'\\label{Fig:PriorsAndPosteriors:%s}\n'</span>,int2str(figunumber));
0120 fprintf(fidTeX,<span class="string">'\\end{figure}\n'</span>);
0121 fprintf(fidTeX,<span class="string">' \n'</span>);
0122 <span class="keyword">if</span> i == npar
0123 fprintf(fidTeX,<span class="string">'%% End of TeX file.\n'</span>);
0124 fclose(fidTeX);
0125 <span class="keyword">end</span>
0126 <span class="keyword">end</span>
0127 <span class="keyword">if</span> options_.nograph,
0128 close(hfig),
0129 <span class="keyword">end</span>
0130 subplotnum = 0;
0131 <span class="keyword">end</span>
0132 <span class="keyword">end</span></pre></div>
<hr><address>Generated on Fri 16-Jun-2006 09:09:06 by <strong><a href="http://www.artefact.tk/software/matlab/m2html/">m2html</a></strong> &copy; 2003</address>
</body>
</html>