clear
clc
M{1}= 'Enero';
M{2}= 'Febrero';
M{3}= 'Marzo';
M{4}= 'Abril';
M{5}= 'Mayo';
M{6}= 'Junio';
M{7}= 'Julio';
M{8}= 'Agosto';
M{9}= 'Septiembre';
M{10}= 'Octubre';
M{11}= 'Noviembre';
M{12}= 'Diciembre';

 mes1=3; dia1=25; dia2=21;
 mes2=5; dia3=23;
 mes3=10;dia4=28; 
 mes4=11;dia5=12;
 dm = [ 31 29 31 30 31 30 31 31 30 31 30 31 ]';
 DP=[];
Pmedio=[];
Dif_Prec=[];
Medmes=[];
Gs_c=[];
Q=[];
raiz = '\Users\Nazaret\Desktop\PFC\';
nh = 24;
m=1;
%d=1;
tabla=[];
flistado=[raiz 'listado_generadores.txt'];
fid=fopen(flistado,'a');
%for m = 1:12
    if m < 10
        nm = [ '0' num2str(m) ];
    else
        nm = num2str(m);
    end
   
    for d = 1:dm(m);
      %Salto de los dias que no tenemos----------------------------
        
 
        if (m==mes1 && d==dia1) || (m==mes1 && d==dia2) || (m==mes2 && d==dia3) || (m==mes3 && d==dia4)|| (m==mes4 && d==dia5)
            pause(3)
            continue;
        end
      %-----------------------------------------------------------  
       carp_fichero = [ 'DATOS\' num2str(m) ' ' M{m} ' 2012\' num2str(d) '\' ]; 
       fvc = [ raiz carp_fichero 'Ventas_Cas.txt' ];
       fvcs = [ raiz carp_fichero 'Ventas_CasS.txt' ];
       fr=[ raiz carp_fichero 'Resumen.txt' ];
       frs=[ raiz carp_fichero 'ResumenS.txt' ];
       pause(0.2)
       
       if d < 10
           nd = [ '0' num2str(d) ];
       else
           nd = num2str(d);
       end
         
       
           
       %% Lee datos
       fid1 = fopen(fvc,'r');
       fid2 = fopen(fvcs,'r');
       
       [ RE, RP ] = lee_fichero(fid1,nh);
       [ RES, RPS ] = lee_fichero(fid2,nh);
        %% Lee resumen
              
        f1 = fopen(fr,'r');
        f2 = fopen(frs,'r');
        
        Pcas = lee_resumen(f1);
        PcasS = lee_resumen(f2);
        
        % Media del aumento de precio que se produce con la condicion IM
       Dif_Prec=[Dif_Prec;(Pcas-PcasS)'];
       Meddiaria=sum(Dif_Prec')/24;
       

       %% Lee fichero entrada(Ingresos mínimos)
       fe = [ raiz  'ENTRADAS\VENTA_2012' nm nd '.1.txt' ];
       fid3 = fopen(fe,'r');

       [IM nombre ng] = lee_entrada(fid3,nh);
       
       F = find(IM(:,2)>0.001);
       SumaS=sum(RES');
       Suma=sum(RE');
       
   % Vector de diferencia de horas
       %for n=1:size(F)
           %g=F(n);
          %if SumaS(g)>0.001 %Fue casada en la simple
              % if Suma(g)<0.001 %no fue casada en la compleja
               %   dif = Pcas'- RPS(g,:) ;
              %    A=find(dif(:)<Pcas);
                  
             %     for a=A
            %        diferencia= dif(a);%para poner solamente la hora casada
           %         DP=[DP,diferencia];
          %        end
                 
                  
         %      end
             
        %  end
     
       %end
    
       %crea un archivo con los generadores casados simples y sus IM
         flistado=[raiz 'listado_generadores.txt'];
         fid=fopen(flistado,'a');
       for i=1:ng
            if SumaS(i)>0.001 
               fprintf(fid,'%s',nombre{i});
               fprintf(fid,'\t');
               fprintf(fid,'%f\t',IM(i,:));  
               fprintf(fid,'\n');
            end
       
       end


               
     
        
       % -----------------------------------
    
       %diferencia de ingresos entre la simple y la compleja

     fprecmed=[raiz 'Tabla_precmed.txt'];
     fid=fopen(fprecmed,'a');
     Pmedof=mean(RPS,2);
     maxPof=max(RPS,[],2);
     Phmax=max(Pcas);
     Pmedcas=mean(Pcas);
     PmedcasS=mean(PcasS);
     
                     
    for z=1:size(F)
        q=F(z);
          if SumaS(q)>0.001 %Fue casada en la simple
               if Suma(q)>0.001 %fue casada en la compleja
                  ganancias =RE(q,:)*Pcas-RES(q,:)*PcasS;
                  Gs_c=[Gs_c;ganancias];
                  Q=[Q,q];
                  
               end
               %----------------------------------
                  Pmedio=(IM(q,1)+IM(q,2)*SumaS(q))/SumaS(q);
                 
                  fprintf(fid,'%s',nombre{q});
                  fprintf(fid,'\t');
                  fprintf(fid,'%s',num2str(d));
                  fprintf(fid,'%s','\');
                  fprintf(fid,'%s',num2str(m));
                  fprintf(fid,'\t');
                  fprintf(fid,'%5.2f',Pmedio);  
                  fprintf(fid,'\t');
                  %fprintf(fid,'%f',Pmedof(q));
                  fprintf(fid,'%f',maxPof(q));
                  fprintf(fid,'\t');
                  fprintf(fid,'%5.2f',Pmedcas); 
                  fprintf(fid,'\t');
                  fprintf(fid,'%5.2f',PmedcasS); 
                  fprintf(fid,'\t');
                  fprintf(fid,'%f\t',IM(q,:));
                  fprintf(fid,'\n');
                  
                         
                  
          end
        
    end
    
         
     
   

       fclose all;
       
    end
    Medmes=[Medmes;sum(Meddiaria)/dm(m)];
    
    %end