Formule di quadratura - trapezi, Cavalieri-Simpson ed estrapolazione di Richardson
In questa pagina 9
Molti integrali che servono in ingegneria non hanno una primitiva elementare: , , la lunghezza di un'ellisse. Altre volte la funzione non è nemmeno nota in forma chiusa: si hanno solo valori misurati (la forza di una molla a diversi allungamenti, la pressione di un cilindro a diverse posizioni dello stantuffo), e il lavoro o si può stimare solo con una somma pesata di quei valori. Questa nota costruisce le formule più semplici, ne calcola l'errore e mostra come migliorarle senza calcolare nuovi coefficienti.
Prerequisiti: l'integrale come limite di somme in Integrale definito di RiemannL'integrale definito di f limitata su [a,b] è il limite delle somme di Cauchy-Riemann (somme di aree di rettangoli), se esiste finito e uguale per ogni scelta dei punti; equivale a sup delle somme inferiori = inf delle somme superiori. Se f ≥ 0 è l'area del trapezoide, in generale area sopra l'asse meno area sotto. Sono integrabili le funzioni continue, monotone, continue a tratti; la funzione di Dirichlet no.Integrale definito di Riemann →, il teorema della media in Proprietà dell'integrale definito e teorema della mediaL'integrale definito è lineare, monotono (f ≤ g implica ∫f ≤ ∫g), additivo rispetto all'intervallo (con ∫ da a ad a = 0 e ∫ da b ad a = −∫ da a a b) e verifica |∫f| ≤ ∫|f|. Teorema della media integrale: se f è continua su [a,b] esiste c con f(c) = (1/(b−a))∫f, cioè un rettangolo di altezza f(c) ha la stessa area del trapezoide.Proprietà dell'integrale definito e teorema della media →, l'errore di interpolazione in Interpolazione polinomiale - forma di Lagrange, differenze divise ed erroreDati n+1 punti con ascisse distinte esiste un unico polinomio p_n di grado ≤ n che passa per tutti. Forma di Lagrange p = Σ y_i L_i(x) (L_i(x_j) = δ_ij); forma di Newton p = Σ f[x_0..x_k] Π_{j<k}(x − x_j) con le differenze divise (si aggiunge un nodo senza rifare tutto). Errore f(x) − p_n(x) = f^(n+1)(ξ)/(n+1)! · ω(x), ω(x) = Π(x − x_i): dipende da f e dalla scelta dei nodi. Nodi equispaziati con n grande danno il fenomeno di Runge; i nodi di Chebyshev minimizzano max|ω| = 2^(−n) su [−1,1].Interpolazione polinomiale - forma di Lagrange, differenze divise ed errore → e il resto di Lagrange in Formula di Taylor con resto di LagrangeSe f ha n+1 derivate continue su [a,b], l'errore tra f e il suo polinomio di Taylor si scrive esattamente come f^(n+1)(c)(x-x0)^(n+1)/(n+1)! per un c opportuno: serve a stimare l'errore su tutto un intervallo e a scegliere il grado del polinomio.Formula di Taylor con resto di Lagrange →.
1. Idea generale: integrare il polinomio interpolante
Si scelgono nodi in , si costruisce il polinomio di grado che interpola nei nodi e si pone dove è l'-esimo polinomio di Lagrange (vale 1 nel nodo e 0 negli altri). I pesi dipendono solo dai nodi e dall'intervallo, non da : per questo, una volta calcolati, la formula si applica a qualsiasi funzione. Si chiama la formula e l'errore (positivo se la formula sottostima).
Definizione (grado di esattezza). Una formula di quadratura ha grado di esattezza se per ogni polinomio di grado ed .
Basta controllare le potenze , perché sia sia sono lineari in . Il grado di esattezza dice quanti termini del polinomio di Taylor di sono integrati senza errore, quindi quanto la formula è precisa per funzioni regolari.
2. Le tre formule semplici
Sia l'intervallo, il punto medio, .
Formula del punto medio. (un nodo, costante). Formula del trapezio. (due nodi, retta per e : l'integrale è l'area del trapezio). Formula di Cavalieri-Simpson. (tre nodi , parabola).
Grafico interattivo: Integrale di e^x su [0,1]: la corda del trapezio (tratteggiata) sta sopra la curva, perché e^x è convessa, e il trapezio sovrastima l'area (E < 0)
Perché i pesi di Simpson sono . Si cercano tali che la formula sia esatta su . Per semplicità , nodi , :
- : ;
- : , quindi ;
- : , quindi e .
I pesi sono con . Con un cambio di variabile lineare si ottiene la formula su .
Grado di esattezza. Per la simmetria rispetto al punto medio, tutte le formule viste integrano esattamente le funzioni dispari rispetto a . Per il punto medio: esatta su e su (dispari), non su ( contro ): grado 1. Trapezio: esatto su e (la retta coincide col suo interpolante), non su : grado 1. Simpson: esatto su per costruzione, ma anche su perché è dispari rispetto a (sia sia danno 0); non su : grado 3, un grado in più di quello che ci si aspetta da una parabola.
Esempio. Su Simpson dà (esatto) e .
3. L'errore delle formule semplici
Teorema (errore del trapezio). Se esiste con
Dimostrazione. L'errore di interpolazione della retta è . Il polinomio è su (non cambia segno), quindi per il teorema della media integrale esiste con (l'integrale si calcola con : ).
Con lo stesso metodo (e un po' più di lavoro per Simpson, dove il polinomio dei nodi non ha segno costante) si ottengono:
Che cosa dicono: se ( convessa) il trapezio sovrastima (: la corda sta sopra il grafico) e il punto medio sottostima; l'errore del punto medio è la metà di quello del trapezio e di segno opposto. Per Simpson l'errore dipende dalla derivata quarta: si annulla per i cubici, coerente col grado 3.
Procedura (limite superiore dell'errore). Per maggiorare si cerca (o per Simpson) e si scrive , .
Esempio. . Con , su .
- Trapezio: , ; la stima dà ✓.
- Simpson: , ; la stima dà ✓.
Simpson è precisa di circa 240 volte il trapezio con soli tre valori della funzione. Per un solo intervallo grande, però, nessuna delle due è affidabile: si suddivide.
4. Formule composite
Si divide in sottointervalli di ampiezza , nodi , e si applica la formula semplice a ciascuno. Sommando i trapezi: (I nodi interni compaiono due volte, una per intervallo adiacente, ciascuna con peso : in totale .) Per Simpson si prendono gli intervalli a coppie ( pari): ogni coppia ha punto medio e contribuisce : I pesi alternano con sui nodi di indice dispari e su quelli pari interni, e agli estremi.
Teorema (errore delle formule composite). Se (rispettivamente ) esistono con
Perché. Si sommano gli errori dei sottointervalli (ampiezza ): per il trapezio con media degli , che per il teorema dei valori intermedi è un valore ; e . Per Simpson ci sono coppie di ampiezza , ciascuna con errore : la somma dà .
Il trapezio è di ordine 2 (errore ), Simpson di ordine 4 (). Dimezzando (cioè raddoppiando le valutazioni di ) l'errore del trapezio si divide per , quello di Simpson per .
Procedura (scelta del numero di intervalli). Per avere :
- si calcola (o );
- si impone (o ) e si ricava ;
- si prende intero (per Simpson anche pari).
Esempio. con : . Trapezi: . Simpson: , cioè (pari). Simpson richiede 13 valutazioni contro 477.
Tabella di convergenza. Per su (), con l'errore e il rapporto con l'errore precedente (il passo si dimezza a ogni riga):
| errore | rapporto | errore | rapporto | |||
|---|---|---|---|---|---|---|
| 2 | 1,75393109 | - | 1,71886115 | - | ||
| 4 | 1,72722190 | 3,99 | 1,71831884 | 15,65 | ||
| 8 | 1,72051859 | 4,00 | 1,71828415 | 15,91 | ||
| 16 | 1,71884113 | 4,00 | 1,71828197 | 15,98 |
I rapporti tendono a e : è la verifica sperimentale dell'ordine. In generale, se il rapporto è l'ordine è .
5. Estrapolazione di Richardson
Per abbastanza regolare vale uno sviluppo dell'errore del trapezio in potenze pari di (formula di Eulero-Maclaurin): con costanti che dipendono da ma non da . Si scrive la stessa relazione con : Moltiplicando la seconda per e sottraendo la prima, il termine in scompare:
Estrapolazione di Richardson. Se una quantità calcolata con passo si comporta come con noto, la combinazione elimina il termine dominante dell'errore e ha ordine più alto.
Fatto notevole. Per i trapezi (), coincide con Simpson . Verifica con un solo intervallo: (passo , estremi ), ; allora ✓. Quindi Simpson è «due trapezi estrapolati», e il suo ordine 4 si spiega con l'eliminazione del termine in .
Tabella di Romberg. Si può ripetere: dopo aver eliminato resta , che si elimina con fattore , poi con e così via. Con : Per con (valore esatto ):
| (trapezi) | (Simpson) | |||
|---|---|---|---|---|
| 0 | 1,859140914 | |||
| 1 | 1,753931092 | 1,718861152 | ||
| 2 | 1,727221905 | 1,718318842 | 1,718282688 | |
| 3 | 1,720518592 | 1,718284155 | 1,718281842 | 1,718281829 |
Con soli 9 valutazioni di () l'ultima cella ha errore (il trapezio con lo stesso ha ): nessun nuovo coefficiente da calcolare, solo combinazioni di numeri già disponibili.
Stima dell'errore a posteriori. Dalla relazione si ricava . L'errore del valore con passo è , cioè Non serve conoscere : basta confrontare due risultati. Per : , , contro l'errore vero ✓.
Ordine ignoto. Con tre valori si stima da
6. Implementazione
import numpy as np
def trapezi(f, a, b, n):
x = np.linspace(a, b, n + 1)
y = f(x)
h = (b - a) / n
return h * (y.sum() - (y[0] + y[-1]) / 2)
def simpson(f, a, b, n): # n deve essere pari
x = np.linspace(a, b, n + 1)
y = f(x)
h = (b - a) / n
return h / 3 * (y[0] + y[-1] + 4 * y[1:-1:2].sum() + 2 * y[2:-1:2].sum())
f, I = np.exp, np.e - 1 # integrale di e^x tra 0 e 1
print(" n trapezi errore rapp. Simpson errore rapp.")
et_old = es_old = None
for n in [2, 4, 8, 16]:
T, S = trapezi(f, 0, 1, n), simpson(f, 0, 1, n)
et, es = I - T, I - S
rt = f"{et_old / et:6.2f}" if et_old else " -"
rs = f"{es_old / es:6.2f}" if es_old else " -"
print(f"{n:3d} {T:.8f} {et:9.2e} {rt} {S:.8f} {es:9.2e} {rs}")
et_old, es_old = et, es
# Richardson ripetuto (tabella di Romberg): R[k][j]
R = [[trapezi(f, 0, 1, 2**k)] for k in range(4)]
for k in range(1, 4):
for j in range(1, k + 1):
R[k].append((4**j * R[k][j - 1] - R[k - 1][j - 1]) / (4**j - 1))
for riga in R:
print(" ".join(f"{v:.9f}" for v in riga))Output (le due tabelle di sopra):
n trapezi errore rapp. Simpson errore rapp.
2 1.75393109 -3.56e-02 - 1.71886115 -5.79e-04 -
4 1.72722190 -8.94e-03 3.99 1.71831884 -3.70e-05 15.65
8 1.72051859 -2.24e-03 4.00 1.71828415 -2.33e-06 15.91
16 1.71884113 -5.59e-04 4.00 1.71828197 -1.46e-07 15.98
1.859140914
1.753931092 1.718861152
1.727221905 1.718318842 1.718282688
1.720518592 1.718284155 1.718281842 1.718281829Equivalenti MATLAB: trapz(x, y) per i trapezi su dati tabulati (anche con nodi non equispaziati), integral(@(x) exp(x), 0, 1) per un integrale con controllo automatico dell'errore. In Python np.trapz (np.trapezoid nelle versioni recenti di numpy) fa lo stesso di trapz.
7. Dati tabulati
Quando è nota solo in punti equispaziati, si usa direttamente o sui valori misurati. Il lavoro di una forza lungo un percorso è (in joule se è in newton e in metri); il lavoro di un gas che espande è . L'errore non si può maggiorare con o (non si conoscono le derivate): si usa il confronto tra due passi, cioè la stima a posteriori di §5. Se i punti sono in numero dispari ( pari) si può usare Simpson, altrimenti Simpson sui primi intervalli e trapezio sull'ultimo (o Simpson , non trattata qui).
Errori da evitare
- Usare Simpson con dispari: la formula composta lavora su coppie di intervalli.
- Pesi sbagliati: sui nodi di indice dispari, su quelli pari interni, sugli estremi; la somma dei pesi (dentro la parentesi) deve essere .
- Dimenticare il fattore agli estremi nei trapezi.
- Scambiare e nell'errore: la formula semplice usa (o ), la composita usa (o ).
- Credere che dimezzare dimezzi l'errore: dimezza di (trapezi) o di (Simpson); se il rapporto osservato è diverso, la funzione non è abbastanza regolare (derivata che esplode in un estremo) o il passo è troppo grande.
- Applicare Richardson con l'esponente sbagliato: con per i trapezi, per Simpson; usare dove l'errore è peggiora il risultato.
Esercizi svolti: Esercizio - trapezio, punto medio e Simpson semplici su 1 su x, Esercizio - numero di sottointervalli per una tolleranza assegnata, Esercizio - lavoro di una forza da dati misurati con trapezi, Simpson e Richardson, Esercizio - tabella di Romberg e stima dell'ordine di convergenza.
Domande d'esame
- Che cos'è il grado di esattezza? Qual è quello di trapezio, punto medio e Simpson, e perché? Traccia. Massimo per cui si integrano esattamente tutti i polinomi di grado ; 1, 1, 3. Per Simpson, è dispari rispetto a e quindi .
- Dimostrare che . Traccia. Errore di interpolazione lineare, di segno costante, teorema della media integrale, .
- Quanti intervalli servono per avere errore con i trapezi e con Simpson? Traccia. Si maggiora (o ) e si risolve (o ); , pari per Simpson.
- Mostrare che è la formula di Simpson. Traccia. Su un intervallo: ; è Richardson con .
Versione ripasso
(Interpolazione polinomiale - forma di Lagrange, differenze divise ed erroreDati n+1 punti con ascisse distinte esiste un unico polinomio p_n di grado ≤ n che passa per tutti. Forma di Lagrange p = Σ y_i L_i(x) (L_i(x_j) = δ_ij); forma di Newton p = Σ f[x_0..x_k] Π_{j<k}(x − x_j) con le differenze divise (si aggiunge un nodo senza rifare tutto). Errore f(x) − p_n(x) = f^(n+1)(ξ)/(n+1)! · ω(x), ω(x) = Π(x − x_i): dipende da f e dalla scelta dei nodi. Nodi equispaziati con n grande danno il fenomeno di Runge; i nodi di Chebyshev minimizzano max|ω| = 2^(−n) su [−1,1].Interpolazione polinomiale - forma di Lagrange, differenze divise ed errore →, Formula di Taylor con resto di LagrangeSe f ha n+1 derivate continue su [a,b], l'errore tra f e il suo polinomio di Taylor si scrive esattamente come f^(n+1)(c)(x-x0)^(n+1)/(n+1)! per un c opportuno: serve a stimare l'errore su tutto un intervallo e a scegliere il grado del polinomio.Formula di Taylor con resto di Lagrange →)
Idea. , . Errore . Grado di esattezza : esatta su ma non su .
Formule semplici (, punto medio):
- punto medio , grado 1, ;
- trapezio , grado 1, (D: errore di interpolazione, , media integrale, );
- Simpson , grado 3 ( dispari), . Pesi da esattezza su : su .
Composite (): , , ordine 2, rapporto 4. , pari, , ordine 4, rapporto 16.
Scelta di : (o ), (pari per Simpson). Esempio , : (trapezi) contro (Simpson).
Richardson. ; errore stimato . Trapezi: , (prova su un intervallo). Romberg: . Ordine ignoto: .
Esempio : (), (). Rapporti degli errori (trapezi) e (Simpson). Romberg con : .
Dati tabulati: o direttamente; errore dal confronto tra due passi (le derivate non sono note). MATLAB trapz, integral.
Passaggi principali.
- Pesi di Simpson: su con nodi si impone l'esattezza su : , , , da cui con .
- Grado 3 di Simpson: è dispari rispetto a , quindi ; invece su .
- Errore del trapezio: ; il prodotto non cambia segno, quindi e .
- Composita: si sommano gli errori locali; per il trapezio; per Simpson coppie con errore danno .
- Richardson: , ; per un solo intervallo .
- Errore a posteriori: e , quindi .
Procedure.
- Maggiorare l'errore: , con .
- Numero di intervalli: si ricava dalla disuguaglianza, , pari per Simpson.
- Ordine sperimentale: del rapporto tra errori successivi (si dimezza ).
- Segno: implica trapezio per eccesso e punto medio per difetto; punto medio e trapezio hanno errori e , quindi .
- Pesi positivi: un errore di misura sui dati produce , la quadratura è ben condizionata.
Tabelle numeriche per : , , ; con : ; Romberg a : . Rapporti e .
Errori tipici.
- Simpson con dispari.
- Pesi o agli estremi sbagliati.
- al posto di nell'errore composito.
- Esponente di Richardson sbagliato ( per i trapezi, per Simpson).
Esercizi su questo argomento
- Esercizio - Gauss a due e tre punti su 1 su x e confronto con Simpson
- Esercizio - lavoro di una forza da dati misurati con trapezi, Simpson e Richardson
- Esercizio - nodi e pesi di Gauss a due punti, composita e numero di intervalli
- Esercizio - numero di sottointervalli per una tolleranza assegnata
- Esercizio - ordine di convergenza dalla tabella degli errori e stima del passo
- Esercizio - periodo del pendolo con grande ampiezza e quadratura gaussiana
- Esercizio - Simpson adattiva a mano e confronto con il passo uniforme
- Esercizio - tabella di Romberg e stima dell'ordine di convergenza
- Esercizio - trapezio, punto medio e Simpson semplici su 1 su x