function [res,resgrp]=busca2(v,busquedas)

[inutil,L]=size(busquedas);
[inutil,N]=size(v);

dmin=zeros(1,L);
dmax=zeros(1,L);
condicion=cell(1,L);
comienzo=zeros(1,L);
final=zeros(1,L);

for i=1:L
    dmin(i)=busquedas{i}.dmin;
    dmax(i)=busquedas{i}.dmax;
    condicion{i}=busquedas{i}.condicion;
    comienzo(i)=busquedas{i}.comienzo;
    final(i)=busquedas{i}.final;


    if dmax(i)==0
        dmax(i)=1000000;
    end

    if dmin(i)==0
        dmin(i)=1;
    end

    if comienzo(i)==0
        comienzo(i)=1;
    end

    if final(i)==0
        final(i)=N;
    end

end

res=zeros(L,N);
resgrp=zeros(L,N);

contador=zeros(L,1);
sigue=1; %testigo para la última parte

for i=1:L

    try
    
        for k=comienzo(i):final(i)   
        
           if eval(condicion{i})

                res(i,k)=1;
                contador(i)=contador(i)+1;

                if contador(i)==dmax(i)
                    resgrp(i,k-contador(i)+1)=contador(i);
                    contador(i)=0;
                end

            else

                res(i,k)=0;

                if contador(i)~=0
                    if contador(i)>=dmin(i)                
                        resgrp(i,k-contador(i))=contador(i);
                        contador(i)=0;
                    else
                        contador(i)=0;
                    end
                end

            end
    
        end
    
    catch Error
   
%         Error
        res='error';
        resgrp=i;
        sigue=0;
        break
                
    end
           
end

if sigue==1
for i=1:L

        if contador(i)~=0
                if contador(i)>=dmin(i)                
                resgrp(i,k-contador(i)+1)=contador(i);
                contador(i)=0;
                end
        end
        

end
end