% Funzione non integrabile analiticamente f = @(x) exp(-x .^ 2) ab = [ 0 1 ] ; n = 1000 ; I_med = integrale_approx( f , ab , n , 3 ) ; % punto medio fprintf( 'Integrale, punto medio: %.14e\n' , I_med ) ; I_trap = integrale_formula( f , ab , n , 1 ) ; % trapezi fprintf( 'Integrale, formula trapezi: %.14e\n' , I_trap ) ; I_Simpson = integrale_formula( f , ab , n , 2 ) ; % Simpson fprintf( 'Integrale, formula Simpson: %.14e\n' , I_Simpson ) ; I_adapt = integral( f , ab(1) , ab(2) , 'RelTol' , 1e-15 ) ; % integral fprintf( 'Integrale, MATLAB integral: %.14e\n' , I_adapt ) ; % Funzione 'facile' f = @(x) x .^ 2 ab = [ 0 3^(1/3) ] ; n = 1000 ; % Formula con somme di f valutate in un punto per ogni intervallo I_sx = integrale_approx( f , ab , n , 1 ) ; % estremo sx fprintf( 'Integrale, estremi sx: errore = %+.2e\n' , I_sx-1 ) ; I_dx = integrale_approx( f , ab , n , 2 ) ; % estremo dx fprintf( 'Integrale, estremi dx: errore = %+.2e\n' , I_dx-1 ) ; I_med = integrale_approx( f , ab , n , 3 ) ; % punto medio fprintf( 'Integrale, punto medio: errore = %+.2e\n' , I_med-1 ) ; I_inf = integrale_approx( f , ab , n , 5 ) ; % somma inferiore fprintf( 'Integrale, somma inferiore: errore = %+.2e\n' , I_inf-1 ) ; I_sup = integrale_approx( f , ab , n , 6 ) ; % somme superiori fprintf( 'Integrale, somma superiore: errore = %+.2e\n' , I_sup-1 ) ; % Formule con f valutata su più punti per ogni intervallo I_trap = integrale_formula( f , ab , n , 1 ) ; % trapezi fprintf( 'Integrale, formula trapezi: errore = %+.2e\n' , I_trap-1 ) ; I_Simpson = integrale_formula( f , ab , n , 2 ) ; % Simpson fprintf( 'Integrale, formula Simpson: errore = %+.2e\n' , I_Simpson-1 ) ;