function integr = integrale_approx( f , ab , n , S ) x = linspace( ab(1) , ab(2) , n+1 ) ; x_sx = x(1:end-1) ; x_dx = x(2:end ) ; switch S case 1 % estremo sx x_segnato = x_sx ; case 2 % estremo dx x_segnato = x_dx ; case 3 % punto medio x_segnato = ( x_sx + x_dx ) / 2 ; case 4 % punto parametrizzato alfa = rand( size(x_sx) ) ; x_segnato = alfa .* x_sx + (1-alfa) .* x_dx ; otherwise % somme inferiori o superiori f_x = f( x ) ; f_sx = f_x(1:end-1) ; f_dx = f_x(2:end ) ; if S == 5 f_x_segnato = min( f_sx , f_dx ) ; else f_x_segnato = max( f_sx , f_dx ) ; end end if S <= 4 f_x_segnato = f( x_segnato ) ; end dx = x(2) - x(1) ; integr = dx * sum( f_x_segnato ) ; end