0001 function ReshapeMatFiles(type, type2)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042
0043
0044
0045 global M_ options_
0046
0047 if nargin==1,
0048 MhDirectoryName = [ CheckPath('metropolis',M_.dname) filesep ];
0049 else
0050 if strcmpi(type2,'posterior')
0051 MhDirectoryName = [CheckPath('metropolis',M_.dname) filesep ];
0052 elseif strcmpi(type2,'gsa')
0053 if options_.opt_gsa.morris==1,
0054 MhDirectoryName = [CheckPath('gsa/screen',M_.dname) filesep ];
0055 elseif options_.opt_gsa.morris==2,
0056 MhDirectoryName = [CheckPath('gsa/identif',M_.dname) filesep ];
0057 elseif options_.opt_gsa.pprior
0058 MhDirectoryName = [CheckPath(['gsa' filesep 'prior'],M_.dname) filesep ];
0059 else
0060 MhDirectoryName = [CheckPath(['gsa' filesep 'mc'],M_.dname) filesep ];
0061 end
0062 else
0063 MhDirectoryName = [CheckPath('prior',M_.dname) filesep ];
0064 end
0065 end
0066 switch type
0067 case 'irf_dsge'
0068 CAPtype = 'IRF_DSGE';
0069 TYPEsize = [ options_.irf , size(options_.varlist,1) , M_.exo_nbr ];
0070 TYPEarray = 4;
0071 case 'irf_bvardsge'
0072 CAPtype = 'IRF_BVARDSGE';
0073 TYPEsize = [ options_.irf , size(options_.varobs,1) , M_.exo_nbr ];
0074 TYPEarray = 4;
0075 case 'smooth'
0076 CAPtype = 'SMOOTH';
0077 TYPEsize = [ M_.endo_nbr , options_.nobs ];
0078 TYPEarray = 3;
0079 case 'filter'
0080 CAPtype = 'FILTER';
0081 TYPEsize = [ M_.endo_nbr , options_.nobs + 1 ];
0082 TYPEarray = 3;
0083 case 'error'
0084 CAPtype = 'ERROR';
0085 TYPEsize = [ size(options_.varobs,1) , options_.nobs ];
0086 TYPEarray = 3;
0087 case 'innov'
0088 CAPtype = 'INNOV';
0089 TYPEsize = [ M_.exo_nbr , options_.nobs ];
0090 TYPEarray = 3;
0091 case 'forcst'
0092 CAPtype = 'FORCST';
0093 TYPEsize = [ M_.endo_nbr , options_.forecast ];
0094 TYPEarray = 3;
0095 case 'forcst1'
0096 CAPtype = 'FORCST1';
0097 TYPEsize = [ M_.endo_nbr , options_.forecast ];
0098 TYPEarray = 3;
0099 otherwise
0100 disp('ReshapeMatFiles :: Unknown argument!')
0101 return
0102 end
0103
0104 TYPEfiles = dir([MhDirectoryName M_.fname '_' type '*.mat']);
0105 NumberOfTYPEfiles = length(TYPEfiles);
0106 B = options_.B;
0107
0108 switch TYPEarray
0109 case 4
0110 if NumberOfTYPEfiles > 1
0111 NumberOfPeriodsPerTYPEfiles = ceil(TYPEsize(1)/NumberOfTYPEfiles);
0112 foffset = NumberOfTYPEfiles-floor(TYPEsize(1)/NumberOfPeriodsPerTYPEfiles);
0113 reste = TYPEsize(1)-NumberOfPeriodsPerTYPEfiles*(NumberOfTYPEfiles-foffset);
0114 idx = 0;
0115 jdx = 0;
0116 for f1=1:NumberOfTYPEfiles-foffset
0117 eval(['STOCK_' CAPtype ' = zeros(NumberOfPeriodsPerTYPEfiles,TYPEsize(2),TYPEsize(3),B);'])
0118 for f2 = 1:NumberOfTYPEfiles
0119 load([MhDirectoryName M_.fname '_' type int2str(f2) '.mat']);
0120 eval(['STOCK_' CAPtype '(:,:,1:+size(stock_' type ',3),idx+1:idx+size(stock_' type ',4))=stock_' ...
0121 type '(jdx+1:jdx+NumberOfPeriodsPerTYPEfiles,:,:,:);'])
0122 eval(['idx = idx + size(stock_' type ',4);'])
0123 end
0124
0125 save([MhDirectoryName M_.fname '_' CAPtype 's' int2str(f1) '.mat'],['STOCK_' CAPtype]);
0126 jdx = jdx + NumberOfPeriodsPerTYPEfiles;
0127 idx = 0;
0128 end
0129 if reste
0130 eval(['STOCK_' CAPtype ' = zeros(reste,TYPEsize(2),TYPEsize(3),B);'])
0131 for f2 = 1:NumberOfTYPEfiles
0132 load([MhDirectoryName M_.fname '_' type int2str(f2) '.mat']);
0133 eval(['STOCK_' CAPtype '(:,:,:,idx+1:idx+size(stock_' type ',4))=stock_' type '(jdx+1:jdx+reste,:,:,:);'])
0134 eval(['idx = idx + size(stock_' type ',4);'])
0135 end
0136
0137 save([MhDirectoryName M_.fname '_' CAPtype 's' int2str(NumberOfTYPEfiles-foffset+1) '.mat'],['STOCK_' CAPtype]);
0138 end
0139 else
0140 load([MhDirectoryName M_.fname '_' type '1.mat']);
0141
0142 eval(['STOCK_' CAPtype ' = stock_' type ';'])
0143 save([MhDirectoryName M_.fname '_' CAPtype 's' int2str(1) '.mat'],['STOCK_' CAPtype ]);
0144 end
0145
0146
0147
0148
0149 case 3
0150 if NumberOfTYPEfiles>1
0151 NumberOfPeriodsPerTYPEfiles = ceil( TYPEsize(2)/NumberOfTYPEfiles );
0152 reste = TYPEsize(2)-NumberOfPeriodsPerTYPEfiles*(NumberOfTYPEfiles-1);
0153 idx = 0;
0154 jdx = 0;
0155 for f1=1:NumberOfTYPEfiles-1
0156 eval(['STOCK_' CAPtype ' = zeros(TYPEsize(1),NumberOfPeriodsPerTYPEfiles,B);'])
0157 for f2 = 1:NumberOfTYPEfiles
0158 load([MhDirectoryName M_.fname '_' type int2str(f2) '.mat']);
0159 eval(['STOCK_' CAPtype '(:,:,idx+1:idx+size(stock_ ' type ',3))=stock_' type '(:,jdx+1:jdx+NumberOfPeriodsPerTYPEfiles,:);'])
0160 eval(['idx = idx + size(stock_' type ',3);'])
0161 end
0162
0163 save([MhDirectoryName M_.fname '_' CAPtype 's' int2str(f1) '.mat'],['STOCK_' CAPtype]);
0164 jdx = jdx + NumberOfPeriodsPerTYPEfiles;
0165 idx = 0;
0166 end
0167 eval(['STOCK_' CAPtype ' = zeros(TYPEsize(1),reste,B);'])
0168 for f2 = 1:NumberOfTYPEfiles
0169 load([MhDirectoryName M_.fname '_' type int2str(f2) '.mat']);
0170 eval(['STOCK_' CAPtype '(:,:,idx+1:idx+size(stock_' type ',3))=stock_' type '(:,jdx+1:jdx+reste,:);'])
0171 eval(['idx = idx + size(stock_' type ',3);'])
0172 end
0173
0174 save([MhDirectoryName M_.fname '_' CAPtype 's' int2str(NumberOfTYPEfiles) '.mat'],['STOCK_' CAPtype]);
0175 else
0176 load([MhDirectoryName M_.fname '_' type '1.mat']);
0177
0178 eval(['STOCK_' CAPtype ' = stock_' type ';'])
0179 save([MhDirectoryName M_.fname '_' CAPtype 's' int2str(1) '.mat'],['STOCK_' CAPtype ]);
0180 end
0181
0182
0183
0184
0185 end