Complementi di Matematica e Calcolo Numerico A.A. 20010-2011 Laboratorio 10 - Integrazione numerica Data una funzione f a valori reali per calcolare fornisce la funzione predefinita quad Sintassi: q=quad(f,a,b,tol) input: f Rb a f (x) dx, Matlab funzione integranda a, b estremi di integrazione tol tolleranza per l’errore ( default : 1e − 6) output: q approssimazione dell’integrale Esercizio 1 R5 1 Approssimare l’ integrale −5 1+x2 dx con la funzione quad di Matlab: prima con la precisione di default poi richiedendo una precisione di 1e-10; in ogni caso calcolare l’errore assoluto e verificare che corrisponda all’ordine di precisione imposta. Formule dei rettangoli a sinistra e a destra composite Rb Per approssimare a f (x) dx con le formule dei rettangoli a sinistra e a destra composite, si considerano i punti di coordinate (xk , yk ), x1 = a ≤ x2 ≤ · · · ≤ xm+1 = b, yk = f (xk ) e si calcolano rispettivamente le quantità: c IRs = m X c IRd hk f (xk ), = m X hk f (xk+1 ) k=1 k=1 dove hk = (xk+1 − xk ), k = 1, . . . m Esempio Assegnata per punti la seguente funzione x -5 -4 -1.5 0 1.5 3 6 y 1.5 2 -1 2.5 1 -2 3 utilizzando Matlab approssimiamo l’integrale definito tra −5 e 6 con i metodi dei rettangoli a sinistra e a destra: >> >> >> >> >> x=[-5 -4 -1.5 0 1.5 3 y=[1.5 2 -1 2.5 1 -2 3] H=diff(x); IRS=sum(H.*y(1:end-1)); IRD=sum(H.*y(2:end)); 2 6]; Formula dei trapezi composita Rb Per approssimare a f (x) dx con la formula dei trapezi composita, si considerano ancora i punti di coordinate (xk , yk ), x1 = a ≤ x2 ≤ · · · ≤ xm+1 = b, yk = f (xk ) e si calcola la quantità: ITc = m X hk k=1 2 (f (xk ) + f (xk+1)) dove hk = (xk+1 − xk ), k = 1, . . . m Matlab fornisce la funzione di libreria trapz che implementa tale metodo. Sintassi: int=trapz(x,y) input: x nodi di quadratura y = f (x) output: int funzione integranda nei nodi di quadratura approssimazione dell’integrale Esercizio 2 Si approssimino i seguenti integrali (tra parentesi i valori esatti): R π/2 (= 1) • 0 sin(x) dx R 10 • −10 cos(x) esin(x) dx (= esin(10) − e− sin(10)) R2 1 x • 1 x + e dx (= log(2) + e2 − e) R5 1 • 0 1+x (= arctan(5)) 2 dx 3 A tal scopo si consideri una suddivisione dell’intervallo di integrazione [a, b] in m sottontervalli di uguale ampiezza H = b−a m e si utilizzino i metodi dei rettangoli a sinistra e a destra e dei trapezi compositi per diversi valori di m = 10, 100, 1000, 10000. Si calcoli l’errore assoluto e si compili per ciascun metodo la seguente tabella m Errore assoluto 10 100 1000 10000 Si verifichi che l’errore è O(H) per i rettangoli e O(H 2) per i trapezi. Esercizio 3 Rb Per approssimare I = a f (x) dx si scriva una function che calcoli ripetutamente l’integrale approssimato con la formula dei trapezi composita utilizzando suddivisioni dell’intervallo di integrazione in sottointervalli di uguale ampiezza sempre più fitte. Più precisamente a partire da m = 1 suddivisioni di [a, b] (e quindi a partire dalla formula semplice) si raddoppi iterativamente il numero di sottointervalli (m → 2m) si calcoli l’approssimazione I2m di I con il metodo dei trapezi composito su 2m sottointervalli, fintanto che l’errore stimato err ≈ |I2m − Im| non sia sceso al di sotto di una tolleranza fissata toll=1e-6. Si testi il codice sull’ultimo integra4 le dell’esercizio precedente e si verifichi che l’errore risulti inferiore alla precisione richiesta. Formula del punto R b medio composito Per approssimare a f (x) dx con la formula del punto medio composita, possiamo suddividere l’intervallo di integrazione [a, b] in m sottointervalli di uguale ampiezza H = b−a m individuati dai punti xk = a + (k − 1) H, k = 1, . . . , m + 1 e calcolare la quantità: IPc M = H m X f (xk + k=1 H ), 2 (Si osservi che la funzione integranda va valutata nei punti medi dei sottointervalli di ampiezza H). Esercizio Si scriva una funzione che, ricevuti in ingresso la funzione f , gli estremi di integrazione a, b, e il numero di sottointervalli m ≥ 1, Rb approssimi a f (x) dx con la formula del punto medio composito Metodo di Simpson composito Rb Per approssimare a f (x) dx con la formula di Cavalieri-Simpson composita, possiamo suddividere l’intervallo di integrazione [a, b] in m sottointervalli di uguale ampiezza H = b−a m individuati dai punti xk = a+(k−1) H, k = 1, . . . , m+1 e calcolare la quantità: " # m m X X H H c ISIM = f (x1) + 2 f (xk ) + 4 f (xk + ) + f (xm+1) 6 2 k=2 k=1 5 (Si osservi che la funzione integranda va valutata sia negli estremi che nei punti medi dei sottointervalli di ampiezza H). Esercizio Si scriva una funzione che, ricevuti in ingresso la funzione f , gli estermi di integrazione a, b, e il numero di sottointervalli m ≥ 1, Rb approssimi a f (x) dx con la formula di Simpson composito. Esercizio 4 Si approssimino gli integrali nell’Esercizio 2 ripetendo quanto richiesto ma con i codici sviluppati per i metodi del punto medio e di Simpson compositi. Si calcoli il valore assoluto dell’errore commesso e si compili la seguente tabella m Errore assoluto 10 100 1000 10000 Si verifichi che l’errore è O(H 2) per il metodo del punto medio e b−a che l’errore è O(H 4) per il metodo di Simpson, con H = . m Esercizio 5 Assegnati i seguenti integrali: Z 5 Z 5 Z 5 3x3 − 2x2 + 5x − 1 dx 5x2 − 3x + 8 dx; 7x − 5, dx; −2 −2 −2 6 scegliere in maniera appropriata una tra le seguenti formule di quadratura semlici: rettangoli, punto medio, trapezi e Simpson e calcolare gli integrali indicati. Confrontare il risultato con la soluzione esatta calcolata utilizzando il comando polyint. 7