INTEGRAZIONE NUMERICA DI UNA FUNZIONE Prof.Daniele Attampato La valutazione di integrali definiti quando non è nota la primitiva della funzione integranda o quando il procedimento analitico risulta complesso richiede l’applicazione di metodi numerici. I metodi di integrazione numerica, chiamati anche “quadrature”, sono stati sviluppati molto prima dell’invenzione dei calcolatori elettronici. Infatti se la derivata di una funzione può sempre essere calcolata, in generale l’integrale di una funzione, se pur elementare, non è sempre ottenibile analiticamente. Per questo motivo già nel 18-esimo e 19-esimo secolo sono stati sviluppati metodi numerici per il calcolo degli integrali. Quasi tutti i metodi di quadratura numerici si basano, in un modo o nell’altro, sull’idea di dividere l’intervallo di integrazione in intervalli più piccoli, stimare l’integrale su ciascun intervallo sfruttando il fatto che sono piccoli e risommare il contributo di tutti gli intervalli. Chiaramente l’idea è quella di riuscire a stimare il più accuratamente possibile l’integrale con il numero minimo di intervallini. 1 Vantaggio: Le tecniche numeriche si basano sull’applicazione di una formula che usa i valori che la funzione integranda assume all’interno dell’intervallo di integrazione. Ogni formula di integrazione numerica ha un suo grado di precisione infatti: b n ∫ f ( x)dx =∑ c f ( x ) + R ( f ) a i =1 i i n il primo termine è detto parte approssimante e Rn (f) errore di troncamento. 2 La valutazione numerica dell’integrale avviene tramite la costruzione di una opportuna successione di valori {xi}, tale che risulti: n b i =1 a lim ∑ ci f ( xi ) = ∫ f ( x)dx n →∞ Rn ( f ) = 0 La successione {xi} dei valori procedimento iterativo applicato. considerati dipende dal particolare Nei successivi paragrafi saranno analizzati alcuni tra i metodi di integrazione numerica più semplici da realizzare: il metodo dei rettangoli, il metodo dei trapezi ed il metodo di Cavalieri-Simpson. 3 1. METODO DEI RETTANGOLI Il metodo dei rettangoli è il metodo iterativo più semplice per calcolare l’integrale definito di una funzione f(x) reale e continua in un intervallo chiuso e limitato [a,b]. Esso consiste nel: • suddividere l’intervallo di integrazione [a,b] in un certo numero n di sottointervalli di pari ampiezza; • approssimare la funzione, all’interno di ciascun sottointervallo, con il valore costante che questa assume nel suo punto medio. Pertanto il calcolo dell’integrale numerico viene quindi a corrispondere con la somma delle aree degli n rettangoli aventi come base l’ampiezza costante dei sottointervalli h = (b-a)/n e come altezza il valore che la funzione assume nel punto medio di ciascun intervallo (vedi Fig.1). 4 Fig.1 Interpretazione grafica dell’integrazione numerica secondo il metodo dei rettangoli (n=4). 5 La formula risultante, nel caso in cui si scelga n=1 risulta: b ∫ a h f ( x)dx ≈ I1 = h * f (a + ) 2 ove h=(b-a ) I=somma integrale Nel caso in cui n=2 risulta: b ∫ a h h f ( x)dx ≈ I 2 = h * f (a + ) + h * f ( a + + h) 2 2 ove h=(b-a)/2 Nel caso di n generico risulta: b ∫ a n −1 1 f ( x)dx ≈ I n = ∑ h * f (a + ( + i ) * h) 2 i =0 ove h=(b-a)/n Come implementare la Σ (calcolo della In): il procedimento di calcolo dell’integrale, può essere semplicemente realizzato prevedendo n iterazioni (da 0 a n-1) e incrementando, ad ogni passo i, la somma integrale (precedente) con il valore: h*f(a+(1/2+i)*h). 6 Infatti la x assume i valori: a+h/2, a+h/2+h, a+h/2+h+h...ovvero ad ogni iterazione x=a+(1/2+i)*h (i=0) (i=1) (i=2) Condizione di arresto: Non è noto a priori il valore che deve assumere n, perché tale valore dipende dalla precisione richiesta. Il programmatore deve quindi operare in tal modo: n=1 calcolo I1 n=2 calcolo I2 n=3 calcolo I3 ……. L’algoritmo si arresta quando la differenza, in modulo, tra due approssimazioni successive (somme integrali consecutive) è minore della precisione che si vuole raggiungere nel calcolo (errore assoluto). 7 NB: Nel metodo dei rettangoli, in conclusione, si approssima la funzione, in ogni sottointervallo, con la retta parallela all’asse x di equazione y = f(xi) e viene commesso un errore di approssimazione che in genere richiede un elevato numero di iterazioni prima di giungere ad un risultato accettabile. Esercizio 1) Produrre una relazione che illustri il “metodo numerico dei rettangoli”. 2) Dato il seguente problema: Integrare la funzione y=x2 nell’intervallo [a,b], mediante il metodo numerico dei rettangoli. Dati di input: Dati di output: - intervallo [a,b] - errore assoluto (es. e=0,001) - risultato approssimato dell’integrale definito - numero di rettangoli utilizzati realizzare l’algoritmo risolutivo e il relativo programma in ling.”C”. 8 2. METODO DEI TRAPEZI Il metodo dei trapezi consiste nel suddividere l’intervallo di integrazione [a,b] in un certo numero di sottointervalli n e nell’approssimare la funzione, all’interno di ciascun intervallo, con la spezzata che congiunge i punti per cui passa il grafico della funzione agli estremi di ogni intervallo. Il calcolo dell’integrale, pertanto, corrisponde alla somma delle aree dei trapezi aventi: come altezza l’ampiezza dei sottointervalli h = (b-a)/n; come base maggiore e minore i valori che la funzione assume agli estremi dei singoli sottointervalli (vedi Fig.2). 9 Per n=1, risulta: b ∫ a h f ( x)dx ≈ I1 = * ( f (a ) + f (b)) 2 dove h=(b-a) Per n=2, risulta: b ∫ a h f ( x)dx ≈ I 2 = * ( f ( a) + 2 f (a + h) + f (a + 2h)) 2 dove h=(b-a)/2 Per n generico: b ∫ a n −1 h f ( x)dx ≈ I n = ∑ * [ f (a + ih) + f ( a + (i + 1)h)] i =0 2 dove h=(b-a)/n 10 Come implementare la Σ (calcolo della In): Il procedimento di calcolo dell’integrale, può essere semplicemente realizzato prevedendo n iterazioni (da 0 a n-1) e incrementando, ad ogni passo i, la somma integrale (precedente) con il valore: h/2*[f(a+ih)+f(a+(i+1)h)]. Condizione di arresto: Non è noto a priori il valore che deve assumere n. Il programmatore deve quindi operare in tal modo: n=1 calcolo I1 n=2 calcolo I2 n=3 calcolo I3 ……. L’algoritmo si arresta quando la differenza, in modulo, tra due valori (somme integrali) successivamente calcolati è minore della precisione che si vuole raggiungere nel calcolo. 11 NB: Si può dimostrare che l’errore commesso usando la formula trapezoidale è molto minore rispetto a quello commesso usando la formula rettangolare, pertanto il risultato ottenuto a parità di sottointervalli risulta più corretto. Esercizio 1) Produrre una relazione che illustri il “metodo numerico dei trapezi”. 2) Dato il seguente problema: Integrare la funzione y=x2 nell’intervallo [a,b], mediante il metodo numerico dei trapezi. Dati di input: Dati di output: - intervallo [a,b] - errore assoluto (es. e=0,001) - risultato approssimato dell’integrale definito - numero di trapezi utilizzati realizzare l’algoritmo risolutivo e il relativo programma in ling.”C”. 12 3. METODO DI CAVALIERI-SIMPSON Il metodo di Cavalieri-Simpson consiste nel suddividere l’intevallo [a,b] in un certo numero di sottointervalli n e nell’approssimare la funzione, all’interno di ogni sottointervallo, con una parabola passante per tre punti equidistanti: due sono individuati dal valore che la f(x) assume nei due estremi del sottointervallo ed il terzo dal valore che la f(x) assume nel punto medio del sottointervallo. Calcolo dell’area sottesa ad una parabola passante per tre punti equidistanti. 13 Come è evidente dal grafico (ottenuto per n=2), ogni sottointervallo viene suddiviso a metà, per cui l’ampiezza di riferimento è stavolta pari a: s = h/2 14 Per n=1, risulta: b ∫ a s f ( x)dx ≈ I1 = * ( f (a ) + 4 f (a + s ) + f (a + 2 s )) 3 dove s=(b-a)/2 Per n=2, risulta: b ∫ a s s f ( x) dx ≈ I 2 = * [ f (a ) + 4 f (a + s ) + f (a + 2 s )] + * [ f (a + 2 s) + 4 f (a + 3s ) + f (a + 4 s)] 3 3 dove s=(b-a)/4 Per n generico: b ∫ a f ( x ) dx ≈ I n = n −1 ∑ i=0 s * [ f ( a + 2 is ) + 4 f ( a + ( 2 i + 1) s ) + f ( a + ( 2 i + 2 ) s )] 3 dove s=(b-a)/(2n) 15 Condizione di arresto: Non è noto a priori il valore che deve assumere n. Il programmatore deve quindi operare in tal modo: n=1 calcolo I1 n=2 calcolo I2 n=3 calcolo I3 ……. L’algoritmo si arresta quando la differenza, in modulo, tra due valori (somme integrali) successivamente calcolati è minore della precisione che si vuole raggiungere nel calcolo. 16 Esercizio 1) Produrre una relazione che illustri il “metodo numerico di C.Simpson”. 2) Dato il seguente problema: Integrare la funzione y=x4+1 nell’intervallo [1,4], mediante il metodo numerico di C.Simpson. Dati di input: Dati di output: - intervallo [a,b] - errore assoluto e=0.0001 - risultato approssimato dell’integrale definito - numero di parabole utilizzate realizzare l’algoritmo risolutivo e il relativo programma in ling.”C”. 3) Confrontare i risultati ottenuti utilizzando il metodo dei rettangoli ed il metodo dei trapezi. 17