dynare/matlab/doc/mode_check.html

227 lines
15 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 mode_check</title>
<meta name="keywords" content="mode_check">
<meta name="description" content="">
<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; mode_check.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>mode_check
</h1>
<h2><a name="_name"></a>PURPOSE <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2>
<div class="box"><strong></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 mode_check(x,fval,hessian,gend,data,lb,ub) </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"></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="DsgeLikelihood.html" class="code" title="function [fval,cost_flag,ys,trend_coeff,info] = DsgeLikelihood(xparam1,gend,data)">DsgeLikelihood</a> stephane.adjemian@cepremap.cnrs.fr [09-07-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><li><a href="hessian.html" class="code" title="function hessian_mat = hessian(func,x,varargin)">hessian</a> Copyright (C) 2001 Michel Juillard</li><li><a href="pltorg.html" class="code" title="function [nbplt,nr,nc,lr,lc,nstar] = pltorg(number)">pltorg</a> stephane.adjemian@cepremap.cnrs.fr [06-07-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 mode_check(x,fval,hessian,gend,data,lb,ub)</a>
0002 <span class="keyword">global</span> bayestopt_ M_ options_
0003
0004 TeX = options_.TeX;
0005 [s_min,k] = min(diag(<a href="hessian.html" class="code" title="function hessian_mat = hessian(func,x,varargin)">hessian</a>))
0006
0007 disp(<span class="string">'\nMODE CHECK\n'</span>)
0008 disp(sprintf(<span class="string">'Fval obtained by fmincon: %f'</span>, fval))
0009 disp(bayestopt_.name)
0010 cname = bayestopt_.name{k};
0011 disp(sprintf(<span class="string">'Most negative variance %f for parameter %d (%s = %f)'</span>,s_min,k,cname,x(k)))
0012
0013 [nbplt,nr,nc,lr,lc,nstar] = <a href="pltorg.html" class="code" title="function [nbplt,nr,nc,lr,lc,nstar] = pltorg(number)">pltorg</a>(length(x));
0014
0015 <span class="keyword">if</span> TeX
0016 fidTeX = fopen([M_.fname <span class="string">'_CheckPlots.TeX'</span>],<span class="string">'w'</span>);
0017 fprintf(fidTeX,<span class="string">'%% TeX eps-loader file generated by mode_check.m (Dynare).\n'</span>);
0018 fprintf(fidTeX,[<span class="string">'%% '</span> datestr(now,0) <span class="string">'\n'</span>]);
0019 fprintf(fidTeX,<span class="string">' \n'</span>);
0020 <span class="keyword">end</span>
0021
0022
0023 <span class="keyword">if</span> nbplt == 1
0024 <span class="keyword">if</span> TeX
0025 NAMES = [];
0026 TeXNAMES = [];
0027 <span class="keyword">end</span>
0028 hh = figure(<span class="string">'Name'</span>,<span class="string">'Check plots'</span>);
0029 <span class="keyword">for</span> k=1:length(x)
0030 subplot(nr,nc,k)
0031 [name,texname] = <a href="get_the_name.html" class="code" title="function [nam,texnam] = get_the_name(k,TeX)">get_the_name</a>(k,TeX);
0032 <span class="keyword">if</span> TeX
0033 NAMES = strvcat(NAMES,name);
0034 TeXNAMES = strvcat(TeXNAMES,texname);
0035 <span class="keyword">end</span>
0036 xx = x;
0037 l1 = max(lb(k),0.8*x(k)); <span class="comment">% kk -&gt; k</span>
0038 l2 = min(ub(k),1.2*x(k)); <span class="comment">% kk -&gt; k</span>
0039 z = [l1:(l2-l1)/20:l2];
0040 y = zeros(length(z),1);
0041 <span class="keyword">for</span> i=1:length(z)
0042 xx(k) = z(i); <span class="comment">% kk -&gt; k</span>
0043 y(i) = <a href="DsgeLikelihood.html" class="code" title="function [fval,cost_flag,ys,trend_coeff,info] = DsgeLikelihood(xparam1,gend,data)">DsgeLikelihood</a>(xx,gend,data);
0044 <span class="keyword">end</span>
0045 plot(z,y)
0046 hold on
0047 yl=get(gca,<span class="string">'ylim'</span>);
0048 plot([x(k) x(k)],yl,<span class="string">'c'</span>,<span class="string">'LineWidth'</span>, 1);<span class="comment">% kk -&gt; k</span>
0049 title(name,<span class="string">'interpreter'</span>,<span class="string">'none'</span>);
0050 hold off
0051 drawnow
0052 <span class="keyword">end</span>
0053 eval([<span class="string">'print -depsc2 '</span> M_.fname <span class="string">'_CheckPlots'</span> int2str(1)]);
0054 eval([<span class="string">'print -dpdf '</span> M_.fname <span class="string">'_CheckPlots'</span> int2str(1)]);
0055 saveas(hh,[M_.fname <span class="string">'_CheckPlots'</span> int2str(1) <span class="string">'.fig'</span>]);
0056 <span class="keyword">if</span> options_.nograph, close(hh), <span class="keyword">end</span>
0057 <span class="comment">% TeX eps loader file</span>
0058 <span class="keyword">if</span> TeX
0059 fprintf(fidTeX,<span class="string">'\\begin{figure}[H]\n'</span>);
0060 <span class="keyword">for</span> jj = 1:length(x)
0061 fprintf(fidTeX,<span class="string">'\\psfrag{%s}[1][][0.5][0]{%s}\n'</span>,deblank(NAMES(jj,:)),deblank(TeXNAMES(jj,:)));
0062 <span class="keyword">end</span>
0063 fprintf(fidTeX,<span class="string">'\\centering \n'</span>);
0064 fprintf(fidTeX,<span class="string">'\\includegraphics[scale=0.5]{%s_CheckPlots%s}\n'</span>,M_.fname,int2str(1));
0065 fprintf(fidTeX,<span class="string">'\\caption{Priors.}'</span>);
0066 fprintf(fidTeX,<span class="string">'\\label{Fig:CheckPlots:%s}\n'</span>,int2str(1));
0067 fprintf(fidTeX,<span class="string">'\\end{figure}\n'</span>);
0068 fprintf(fidTeX,<span class="string">'\n'</span>);
0069 fprintf(fidTeX,<span class="string">'%% End of TeX file.\n'</span>);
0070 fclose(fidTeX);
0071 <span class="keyword">end</span>
0072 <span class="keyword">else</span>
0073 <span class="keyword">for</span> plt = 1:nbplt-1
0074 <span class="keyword">if</span> TeX
0075 NAMES = [];
0076 TeXNAMES = [];
0077 <span class="keyword">end</span>
0078 hh = figure(<span class="string">'Name'</span>,<span class="string">'Check plots'</span>);
0079 <span class="keyword">for</span> k=1:nstar
0080 subplot(nr,nc,k)
0081 kk = (plt-1)*nstar+k;
0082 [name,texname] = <a href="get_the_name.html" class="code" title="function [nam,texnam] = get_the_name(k,TeX)">get_the_name</a>(kk,TeX);
0083 <span class="keyword">if</span> TeX
0084 NAMES = strvcat(NAMES,name);
0085 TeXNAMES = strvcat(TeXNAMES,texname);
0086 <span class="keyword">end</span>
0087 xx = x;
0088 l1 = max(lb(kk),0.8*x(kk));
0089 l2 = min(ub(kk),1.2*x(kk));
0090 z = [l1:(l2-l1)/20:l2];
0091 y = zeros(length(z),1);
0092 <span class="keyword">for</span> i=1:length(z)
0093 xx(kk) = z(i);
0094 y(i) = <a href="DsgeLikelihood.html" class="code" title="function [fval,cost_flag,ys,trend_coeff,info] = DsgeLikelihood(xparam1,gend,data)">DsgeLikelihood</a>(xx,gend,data);
0095 <span class="keyword">end</span>
0096 plot(z,y);
0097 hold on
0098 yl=get(gca,<span class="string">'ylim'</span>);
0099 plot( [x(kk) x(kk)], yl, <span class="string">'c'</span>, <span class="string">'LineWidth'</span>, 1)
0100 title(name,<span class="string">'interpreter'</span>,<span class="string">'none'</span>)
0101 hold off
0102 drawnow
0103 <span class="keyword">end</span>
0104 eval([<span class="string">'print -depsc2 '</span> M_.fname <span class="string">'_CheckPlots'</span> int2str(plt)]);
0105 eval([<span class="string">'print -dpdf '</span> M_.fname <span class="string">'_CheckPlots'</span> int2str(plt)]);
0106 saveas(hh,[M_.fname <span class="string">'_CheckPlots'</span> int2str(plt) <span class="string">'.fig'</span>]);
0107 <span class="keyword">if</span> options_.nograph, close(hh), <span class="keyword">end</span>
0108 <span class="keyword">if</span> TeX
0109 <span class="comment">% TeX eps loader file</span>
0110 fprintf(fidTeX,<span class="string">'\\begin{figure}[H]\n'</span>);
0111 <span class="keyword">for</span> jj = 1:nstar
0112 fprintf(fidTeX,<span class="string">'\\psfrag{%s}[1][][0.5][0]{%s}\n'</span>,deblank(NAMES(jj,:)),deblank(TeXNAMES(jj,:)));
0113 <span class="keyword">end</span>
0114 fprintf(fidTeX,<span class="string">'\\centering \n'</span>);
0115 fprintf(fidTeX,<span class="string">'\\includegraphics[scale=0.5]{%s_CheckPlots%s}\n'</span>,M_.fname,int2str(plt));
0116 fprintf(fidTeX,<span class="string">'\\caption{Check plots.}'</span>);
0117 fprintf(fidTeX,<span class="string">'\\label{Fig:CheckPlots:%s}\n'</span>,int2str(plt));
0118 fprintf(fidTeX,<span class="string">'\\end{figure}\n'</span>);
0119 fprintf(fidTeX,<span class="string">' \n'</span>);
0120 <span class="keyword">end</span>
0121 <span class="keyword">end</span>
0122 hh = figure(<span class="string">'Name'</span>,<span class="string">'Check plots'</span>);
0123 k = 1;
0124 <span class="keyword">if</span> TeX
0125 NAMES = [];
0126 TeXNAMES = [];
0127 <span class="keyword">end</span>
0128 <span class="keyword">while</span> (nbplt-1)*nstar+k &lt;= length(x)
0129 kk = (nbplt-1)*nstar+k;
0130 [name,texname] = <a href="get_the_name.html" class="code" title="function [nam,texnam] = get_the_name(k,TeX)">get_the_name</a>(kk,TeX);
0131 <span class="keyword">if</span> TeX
0132 NAMES = strvcat(NAMES,name);
0133 TeXNAMES = strvcat(TeXNAMES,texname);
0134 <span class="keyword">end</span>
0135 <span class="keyword">if</span> lr ~= 0
0136 subplot(lr,lc,k)
0137 <span class="keyword">else</span>
0138 subplot(nr,nc,k)
0139 <span class="keyword">end</span>
0140 xx = x;
0141 l1 = max(lb(kk),0.8*x(kk));
0142 l2 = min(ub(kk),1.2*x(kk));
0143 z = [l1:(l2-l1)/20:l2];
0144 y = zeros(length(z),1);
0145 <span class="keyword">for</span> i=1:length(z)
0146 xx(kk) = z(i);
0147 y(i) = <a href="DsgeLikelihood.html" class="code" title="function [fval,cost_flag,ys,trend_coeff,info] = DsgeLikelihood(xparam1,gend,data)">DsgeLikelihood</a>(xx,gend,data);
0148 <span class="keyword">end</span>
0149 plot(z,y)
0150 hold on
0151 yl=get(gca,<span class="string">'ylim'</span>);
0152 plot( [x(kk) x(kk)], yl, <span class="string">'c'</span>, <span class="string">'LineWidth'</span>, 1)
0153 title(name,<span class="string">'interpreter'</span>,<span class="string">'none'</span>)
0154 hold off
0155 k = k + 1;
0156 drawnow
0157 <span class="keyword">end</span>
0158 eval([<span class="string">'print -depsc2 '</span> M_.fname <span class="string">'_CheckPlots'</span> int2str(nbplt)]);
0159 eval([<span class="string">'print -dpdf '</span> M_.fname <span class="string">'_CheckPlots'</span> int2str(nbplt)]);
0160 saveas(hh,[M_.fname <span class="string">'_CheckPlots'</span> int2str(nbplt) <span class="string">'.fig'</span>]);
0161 <span class="keyword">if</span> options_.nograph, close(hh), <span class="keyword">end</span>
0162 <span class="keyword">if</span> TeX
0163 fprintf(fidTeX,<span class="string">'\\begin{figure}[H]\n'</span>);
0164 <span class="keyword">for</span> jj = 1:lr*lc
0165 fprintf(fidTeX,<span class="string">'\\psfrag{%s}[1][][0.5][0]{%s}\n'</span>,deblank(NAMES(jj,:)),deblank(TeXNAMES(jj,:)));
0166 <span class="keyword">end</span>
0167 fprintf(fidTeX,<span class="string">'\\centering \n'</span>);
0168 fprintf(fidTeX,<span class="string">'\\includegraphics[scale=0.5]{%s_CheckPlots%s}\n'</span>,M_.fname,int2str(nbplt));
0169 fprintf(fidTeX,<span class="string">'\\caption{Check plots.}'</span>);
0170 fprintf(fidTeX,<span class="string">'\\label{Fig:CheckPlots:%s}\n'</span>,int2str(nbplt));
0171 fprintf(fidTeX,<span class="string">'\\end{figure}\n'</span>);
0172 fprintf(fidTeX,<span class="string">' \n'</span>);
0173 fprintf(fidTeX,<span class="string">'%% End of TeX file.\n'</span>);
0174 fclose(fidTeX);
0175 <span class="keyword">end</span>
0176 <span class="keyword">end</span>
0177
0178 <span class="comment">% SA 07-31-2004 * New default : no more than nine plots per figure.</span>
0179 <span class="comment">% * Figures are automatically saved in eps, pdf and fig formats.</span>
0180 <span class="comment">% * Figures are automatically closed (this should be an option).</span>
0181 <span class="comment">% * Creation of a TeX-loader file for the postcript file.</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>