% Esempio di calcolo di integrale

% mostriamo il grafico della funzione fra 0 e 5
dx = 0.001;
x = 0:dx:5;
y = foscill(x);
plot(x,y);
axis([0 5 -10 10])
pause

% Calcolo dell'integrale
tol = 1e-4;

% quadl usa una formula di Lobatto adattativa
% quad  usa una formula di Simpson adattativa 

[Q1,FCNT1] = quadl('foscill',0,5,tol);

[Q2,FCNT2] = quad('foscill',0,5,tol);

format long
disp([Q1,Q2]);
disp([FCNT1,FCNT2]);

% Osserviamo che il metodo meno accurato richiede un numero
% inferiore di valutazioni, poiché la funzione integranda 
% è poco regolare
pause

% adesso consideriamo una funzione più regolare
y = cos(exp(x/2));
plot(x,y);

% Calcolo dell'integrale
tol = 1e-10;
[Q1,FCNT1] = quadl('cos(exp(x/2))',0,5,tol);

[Q2,FCNT2] = quad('cos(exp(x/2))',0,5,tol);

format long
disp([Q1,Q2]);
disp([FCNT1,FCNT2]);
% Adesso che la funzione è regolare e la tolleranza 
% molto restrittiva si osserva il comportamento opposto