function M0 = calcula_coluna_padrao_da_matriz_M(A0,metodo,NC,NP)
%supoe que A0 sao os valores do elemento padrao (na linha 1 e coluna 1 da
%grade de elementos) nos pontos p(i). Devolve a primeira coluna da matriz
%M do sistema supondo uma base uniforme completa com NC(1)*NC(2) elementos.

np_comp = prod(NP);
nb = prod(NC);
M0 = sparse(nb,1);
if (metodo == 1) || (metodo == 3) ||(metodo == 4)
    i = 0;
    for ix = 0:NC(1)-1
        for iy = 0:NC(2)-1
           i = i + 1; %indice do elemento (ix,iy) na base completa
            if mod(i,10) == 1
                fprintf(2,' %d',i);
            end
            M0i = calcula_produto_escalar_da_base_completa(A0,NC,NP,ix,iy);
            if M0i ~= 0
                M0(i,1) = M0i;
            end
        end
    end
    assert(i == nb)
    fprintf(2,'\n');
else
    assert(false,'metodo invalido')
end
