function [int, st]=mtc(func, range, nbpt);
%MTC mthode de MonteCarlo de calcul d'intgrales multiples
% [int, st]=mtc(func, range, nbpt)
%
% func : fonction d'un vecteur x y = func(x)
% range : matrice nx2 n nombre de variables de func (dimension de x)
% nbpt : nombre de points d'valuation : dfaut 10000
%
% int : intgrale de func sur l'hyper volume dfini par range
% st : cart type de la moyenne, indiquant l'erreur commise
if nargin <= 2
nbpt = 10000;
end;
vol = prod(range(:,2)-range(:,1));
z = feval(func, random(range, nbpt));
if nargout == 2
st = vol*std(z)./sqrt(nbpt);
end;
int = vol.*mean(z);