function It=trapezc(fun,a,b,M,varargin)
%TRAPEZC Formula composita dei trapezi.
%   IT = TRAPEZC(FUN,A,B,M) calcola una
%   approssimazione dell'integrale della funzione
%   tramite la formula composita dei trapezi
%   (su M intervalli equispaziati). FUN e' una
%   function che riceve in ingresso un vettore x
%   e restituisce  un vettore reale. FUN puo'
%   essere una inline function, una anonymous
%   function o una function definita in un M-file.
%   IT = TRAPEZC(FUN,A,B,M,P1,P2,...) passa alla
%   function FUN i parametri opzionali
%   P1,P2,... come FUN(X,P1,P2,...).
H=(b-a)/M;
x = linspace(a,b,M+1);
f=fun(x,varargin{:}).*ones(1,M+1);
It=H*sum(f(2:end-1))+H*0.5*(f(1)+f(end));
return
