dynare/matlab/doc/ReshapeMatFiles.html

170 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 ReshapeMatFiles</title>
<meta name="keywords" content="ReshapeMatFiles">
<meta name="description" content="Reshape and sort (along the mcmc simulations) the mat files generated">
<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; ReshapeMatFiles.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>ReshapeMatFiles
</h1>
<h2><a name="_name"></a>PURPOSE <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2>
<div class="box"><strong>Reshape and sort (along the mcmc simulations) the mat files generated</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 ReshapeMatFiles(type) </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"> Reshape and sort (along the mcmc simulations) the mat files generated
by DYNARE.
4D-arrays are splitted along the first dimension.
3D-arrays are splitted along the second dimension.</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></ul>
This function is called by:
<ul style="list-style-image:url(../matlabicon.gif)">
<li><a href="PosteriorIRF.html" class="code" title="function PosteriorIRF(type)">PosteriorIRF</a> stephane.adjemian@ens.fr [09-25-2005]</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 ReshapeMatFiles(type)</a>
0002 <span class="comment">% Reshape and sort (along the mcmc simulations) the mat files generated</span>
0003 <span class="comment">% by DYNARE.</span>
0004 <span class="comment">%</span>
0005 <span class="comment">% 4D-arrays are splitted along the first dimension.</span>
0006 <span class="comment">% 3D-arrays are splitted along the second dimension.</span>
0007 <span class="comment">%</span>
0008 <span class="comment">%</span>
0009 <span class="keyword">global</span> M_ options_
0010
0011 MhDirectoryName = [ <a href="CheckPath.html" class="code" title="function DirectoryName = CheckPath(type)">CheckPath</a>(<span class="string">'metropolis'</span>) <span class="string">'/'</span> ];
0012
0013 <span class="keyword">switch</span> type
0014 <span class="keyword">case</span> <span class="string">'irf'</span>
0015 CAPtype = <span class="string">'IRF'</span>;
0016 TYPEsize = [ options_.irf , M_.endo_nbr , M_.exo_nbr ];
0017 TYPEarray = 4;
0018 <span class="keyword">case</span> <span class="string">'smooth'</span>
0019 CAPtype = <span class="string">'SMOOTH'</span>;
0020 TYPEsize = [ M_.endo_nbr , options_.nobs ];
0021 TYPEarray = 3;
0022 <span class="keyword">case</span> <span class="string">'filter'</span>
0023 CAPtype = <span class="string">'FILTER'</span>;
0024 TYPEsize = [ M_.endo_nbr , options_.nobs + 1 ];<span class="comment">% TO BE CHECKED!</span>
0025 TYPEarray = 3;
0026 <span class="keyword">case</span> <span class="string">'error'</span>
0027 CAPtype = <span class="string">'ERROR'</span>;
0028 TYPEsize = [ size(options_.varobs,1) , options_.nobs ];
0029 TYPEarray = 3;
0030 <span class="keyword">case</span> <span class="string">'innov'</span>
0031 CAPtype = <span class="string">'INNOV'</span>;
0032 TYPEsize = [ M_.exo_nbr , options_.nobs ];
0033 TYPEarray = 3;
0034 <span class="keyword">case</span> <span class="string">'forcst'</span>
0035 CAPtype = <span class="string">'FORCST'</span>;
0036 TYPEsize = [ M_.endo_nbr , options_.forecast ];
0037 TYPEarray = 3;
0038 <span class="keyword">case</span> <span class="string">'forcst1'</span>
0039 CAPtype = <span class="string">'FORCST1'</span>;
0040 TYPEsize = [ M_.endo_nbr , options_.forecast ];
0041 TYPEarray = 3;
0042 <span class="keyword">otherwise</span>
0043 disp(<span class="string">'ReshapeMatFiles :: Unknown argument!'</span>)
0044 <span class="keyword">return</span>
0045 <span class="keyword">end</span>
0046
0047 TYPEfiles = dir([MhDirectoryName M_.fname <span class="string">'_'</span> type <span class="string">'*'</span>]);
0048 NumberOfTYPEfiles = length(TYPEfiles);
0049 B = options_.B;
0050
0051 <span class="keyword">switch</span> TYPEarray
0052 <span class="keyword">case</span> 4
0053 <span class="keyword">if</span> NumberOfTYPEfiles &gt; 1
0054 NumberOfPeriodsPerTYPEfiles = ceil(TYPEsize(1)/NumberOfTYPEfiles);
0055 reste = TYPEsize(1)-NumberOfPeriodsPerTYPEfiles*(NumberOfTYPEfiles-1);
0056 idx = 0;
0057 jdx = 0;
0058 <span class="keyword">for</span> f1=1:NumberOfTYPEfiles-1
0059 eval([<span class="string">'STOCK_'</span> CAPtype <span class="string">' = zeros(NumberOfPeriodsPerTYPEfiles,TYPEsize(2),TYPEsize(3),B);'</span>])
0060 <span class="keyword">for</span> f2 = 1:NumberOfTYPEfiles
0061 load([MhDirectoryName M_.fname <span class="string">'_'</span> type int2str(f2)]);
0062 eval([<span class="string">'STOCK_'</span> CAPtype <span class="string">'(:,:,:,idx+1:idx+size(stock_'</span> type <span class="string">',4))=stock_'</span> type <span class="string">'(jdx+1:jdx+NumberOfPeriodsPerTYPEfiles,:,:,:);'</span>])
0063 eval([<span class="string">'idx = idx + size(stock_'</span> type <span class="string">',4);'</span>])
0064 <span class="keyword">end</span>
0065 eval([<span class="string">'STOCK_'</span> CAPtype <span class="string">' = sort(STOCK_'</span> CAPtype <span class="string">',4);'</span>])
0066 save([MhDirectoryName M_.fname <span class="string">'_'</span> CAPtype <span class="string">'s'</span> int2str(f1)],[<span class="string">'STOCK_'</span> CAPtype]);
0067 jdx = jdx + NumberOfPeriodsPerTYPEfiles;
0068 idx = 0;
0069 <span class="keyword">end</span>
0070 eval([<span class="string">'STOCK_'</span> CAPtype <span class="string">' = zeros(reste,TYPEsize(2),TYPEsize(3),B);'</span>])
0071 <span class="keyword">for</span> f2 = 1:NumberOfTYPEfiles
0072 load([MhDirectoryName M_.fname <span class="string">'_'</span> type int2str(f2)]);
0073 eval([<span class="string">'STOCK_'</span> CAPtype <span class="string">'(:,:,:,idx+1:idx+size(stock_'</span> type <span class="string">',4))=stock_'</span> type <span class="string">'(jdx+1:jdx+reste,:,:,:);'</span>])
0074 eval([<span class="string">'idx = idx + size(stock_'</span> type <span class="string">',4);'</span>])
0075 <span class="keyword">end</span>
0076 eval([<span class="string">'STOCK_'</span> CAPtype <span class="string">' = sort(STOCK_'</span> CAPtype <span class="string">',4);'</span>])
0077 save([MhDirectoryName M_.fname <span class="string">'_'</span> CAPtype <span class="string">'s'</span> int2str(NumberOfTYPEfiles)],[<span class="string">'STOCK_'</span> CAPtype]);
0078 <span class="keyword">else</span>
0079 load([MhDirectoryName M_.fname <span class="string">'_'</span> type <span class="string">'1'</span>]);
0080 eval([<span class="string">'STOCK_'</span> CAPtype <span class="string">' = sort(stock_'</span> type <span class="string">',4);'</span>])
0081 save([MhDirectoryName M_.fname <span class="string">'_'</span> CAPtype <span class="string">'s'</span> int2str(1)],[<span class="string">'STOCK_'</span> CAPtype ]);
0082 <span class="keyword">end</span>
0083 <span class="keyword">for</span> file = 1:NumberOfTYPEfiles
0084 delete([MhDirectoryName M_.fname <span class="string">'_'</span> type int2str(file) <span class="string">'.mat'</span>])
0085 <span class="keyword">end</span>
0086 <span class="keyword">case</span> 3
0087 <span class="keyword">if</span> NumberOfTYPEfiles&gt;1
0088 NumberOfPeriodsPerTYPEfiles = ceil( TYPEsize(2)/NumberOfTYPEfiles );
0089 reste = TYPEsize(2)-NumberOfPeriodsPerTYPEfiles*(NumberOfTYPEfiles-1);
0090 idx = 0;
0091 jdx = 0;
0092 <span class="keyword">for</span> f1=1:NumberOfTYPEfiles-1
0093 eval([<span class="string">'STOCK_'</span> CAPtype <span class="string">' = zeros(TYPEsize(1),NumberOfPeriodsPerTYPEfiles,B);'</span>])
0094 <span class="keyword">for</span> f2 = 1:NumberOfTYPEfiles
0095 load([MhDirectoryName M_.fname <span class="string">'_'</span> type int2str(f2)]);
0096 eval([<span class="string">'STOCK_'</span> CAPtype <span class="string">'(:,:,idx+1:idx+size(stock_ '</span> type <span class="string">',3))=stock_'</span> type <span class="string">'(:,jdx+1:jdx+NumberOfPeriodsPerTYPEfiles,:);'</span>])
0097 eval([<span class="string">'idx = idx + size(stock_'</span> type <span class="string">',3);'</span>])
0098 <span class="keyword">end</span>
0099 eval([<span class="string">'STOCK_'</span> CAPtype <span class="string">' = sort(STOCK_'</span> CAPtype <span class="string">',3);'</span>])
0100 save([MhDirectoryName M_.fname <span class="string">'_'</span> CAPtype <span class="string">'s'</span> int2str(f1)],[<span class="string">'STOCK_'</span> CAPtype]);
0101 jdx = jdx + NumberOfPeriodsPerTYPEfiles;
0102 idx = 0;
0103 <span class="keyword">end</span>
0104 eval([<span class="string">'STOCK_'</span> CAPtype <span class="string">' = zeros(TYPEsize(1),reste,B);'</span>])
0105 <span class="keyword">for</span> f2 = 1:NumberOfTYPEfiles
0106 load([MhDirectoryName M_.fname <span class="string">'_'</span> type int2str(f2)]);
0107 eval([<span class="string">'STOCK_'</span> CAPtype <span class="string">'(:,:,idx+1:idx+size(stock_'</span> type <span class="string">',3))=stock_'</span> type <span class="string">'(:,jdx+1:jdx+reste,:);'</span>])
0108 eval([<span class="string">'idx = idx + size(stock_'</span> type <span class="string">',3);'</span>])
0109 <span class="keyword">end</span>
0110 eval([<span class="string">'STOCK_'</span> CAPtype <span class="string">' = sort(STOCK_'</span> CAPtype <span class="string">',3);'</span>])
0111 save([MhDirectoryName M_.fname <span class="string">'_'</span> CAPtype <span class="string">'s'</span> int2str(NumberOfTYPEfiles)],[<span class="string">'STOCK_'</span> CAPtype]);
0112 <span class="keyword">else</span>
0113 load([MhDirectoryName M_.fname <span class="string">'_'</span> type <span class="string">'1'</span>]);
0114 eval([<span class="string">'STOCK_'</span> CAPtype <span class="string">' = sort(stock_'</span> type <span class="string">',3);'</span>])
0115 save([MhDirectoryName M_.fname <span class="string">'_'</span> CAPtype <span class="string">'s'</span> int2str(1)],[<span class="string">'STOCK_'</span> CAPtype ]);
0116 <span class="keyword">end</span>
0117 <span class="keyword">for</span> file = 1:NumberOfTYPEfiles
0118 delete([MhDirectoryName M_.fname <span class="string">'_'</span> type int2str(file) <span class="string">'.mat'</span>])
0119 <span class="keyword">end</span>
0120 <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>