function [Ifm] = integrar_2D(m);
%
% Integracao de uma funcao de duas variaveis em [0,1]x[0,1].
%
% Input:  m = numero de subintervalos verticais (numero par).
%
% Output: Ifm = valor aproximado de int_0^1 f(x,y) dxdy.
%
% Funcoes chamadas: funcao.
%
% L. N. Vicente, Outubro de 2005.
%
%
H = 1 / m;
%
for i = 1:m+1
    for j = 1:m+1
        f_grelha(i,j) = funcao((i-1)*H,(j-1)*H);
    end
end
%
Ifxm = H * ( f_grelha(1,1:m+1)/2 + sum(f_grelha(2:m,1:m+1),1) + ...
             f_grelha(m+1,1:m+1)/2 );
%
mm = m / 2;
%
Ifm  = ((2*H) / 6) * ( Ifxm(1) + 2*sum(Ifxm(3:2:2*mm-1),2) + ...
                       4*sum(Ifxm(2:2:2*mm),2) + Ifxm(2*mm+1) );
%
% Fim.
