0001 function formdata(fname,date)
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 global M_ oo_
0032 fid = fopen([fname '_endo.frm'],'w');
0033 n=size(oo_.endo_simul,1);
0034 t=size(oo_.endo_simul,2);
0035 SN=upper(cellstr(M_.endo_names));
0036 for i=1:n
0037 str=char(SN(i));
0038 fprintf(fid,'USER: x x DATAFILE: x %s\n',str);
0039 fprintf(fid,'PER: 1 YEAR: %s FRAC: 1 NOBS: %d CLINES: 0 DLINES: ???\n',date,t);
0040 fprintf(fid,'%10.5f %10.5f %10.5f %10.5f\n',reshape(oo_.endo_simul(i,1:floor(t/4)*4),floor(t/4),4));
0041 if(floor(t/4)*4<t)
0042 switch(t-floor(t/4)*4)
0043 case 1
0044 fprintf(fid,'%10.5f\n',oo_.endo_simul(i,floor(t/4)*4+1:t));
0045 case 2
0046 fprintf(fid,'%10.5f %10.5f\n',oo_.endo_simul(i,floor(t/4)*4+1:t));
0047 case 3
0048 fprintf(fid,'%10.5f %10.5f %10.5f\n',oo_.endo_simul(i,floor(t/4)*4+1:t));
0049 end;
0050
0051
0052 end;
0053 end;
0054 fclose(fid);
0055
0056 fid = fopen([fname '_exo.frm'],'w');
0057 n=size(oo_.exo_simul,2);
0058 t=size(oo_.exo_simul,1);
0059 SN=upper(cellstr(M_.exo_names));
0060 for i=1:n
0061 str=char(SN(i));
0062 fprintf(fid,'USER: x x DATAFILE: x %s\n',str);
0063 fprintf(fid,'PER: 1 YEAR: %s FRAC: 1 NOBS: %d CLINES: 0 DLINES: ???\n',date,t);
0064 fprintf(fid,'%10.5f %10.5f %10.5f %10.5f\n',reshape(oo_.exo_simul(1:floor(t/4)*4,i),floor(t/4),4));
0065 if(floor(t/4)*4<t)
0066 switch(t-floor(t/4)*4)
0067 case 1
0068 fprintf(fid,'%10.5f\n',oo_.exo_simul(floor(t/4)*4+1:t,i)');
0069 case 2
0070 fprintf(fid,'%10.5f %10.5f\n',oo_.exo_simul(floor(t/4)*4+1:t,i)');
0071 case 3
0072 fprintf(fid,'%10.5f %10.5f %10.5f\n',oo_.exo_simul(floor(t/4)*4+1:t,i)');
0073 end;
0074
0075
0076 end;
0077 end;
0078 fclose(fid);
0079 return;