function malha = encolhe_malha(malha,U)
NC = malha.NC;
nc = nnz(malha.ixc);
ixc_n = sparse(NC(1),NC(2));
nu = size(U,1);
for i = 1:nu
    posi = U(i,:);
    icel = malha.ixc(posi(1)+1,posi(2)+1);
    assert(icel > 0,'celula inexistente')
    assert(icel <= nc)
    ixc_n(posi(1)+1,posi(2)+1) = i;
    celulas_n(i) = malha.celulas(icel);
end

if nu == 0
    %cria uma celula so para nao ficar vazia
    celulas_n(1) = constroi_celula([0, 0],NC); 
end

malha.ixc = ixc_n;
malha.celulas = celulas_n;