function int = treottavi (f,a,b,m) %TREOTTAVI Metodo dei 3/8 % % [int,h] = treottavi (f,a,b,m); % % Dati di ingresso: % f: funzione integranda (anonymous function) % a: estremo sinistro dell'intervallo di integrazione % b: estremo destro dell'intervallo di integrazione % m: numero di sottointervalli (intero, multiplo di 3) % % Dati di uscita: % int: valore di approssimazione dell'integrale definito % Controllo if mod(m,3)~= 0 error('Il numero dei sottointervallo non e'' multiplo di 3') end % Algoritmo h = (b-a)/m; int = f(a)+f(b); x = a:h:b; for i =2:3:m-1 int = int +3*f(x(i))+3*f(x(i+1)); end for i =4:3:m-2 int = int +2*f(x(i)); end int = 3*h*int/8;