Salta al contenuto
Note per Studenti Formule di quadratura - trapezi, Cavalieri-Simpson ed estrapolazione di Richardson

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: ∫e−x2dx\int e^{-x^2}dx, ∫sin⁡xxdx\int\frac{\sin x}{x}dx, la lunghezza di un'ellisse. Altre volte la funzione non è nemmeno nota in forma chiusa: si hanno solo valori misurati (la forza FF di una molla a diversi allungamenti, la pressione pp di un cilindro a diverse posizioni dello stantuffo), e il lavoro W=∫F dxW=\int F\,dx o ∫p dV\int p\,dV 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 n+1n+1 nodi x0,…,xnx_0,\dots,x_n in [a,b][a,b], si costruisce il polinomio pnp_n di grado ≤n\le n che interpola ff nei nodi e si pone I(f)=∫abf(x) dx ≈ ∫abpn(x) dx=∑i=0nwi f(xi),wi=∫abℓi(x) dx,I(f)=\int_a^bf(x)\,dx\ \approx\ \int_a^bp_n(x)\,dx=\sum_{i=0}^nw_i\,f(x_i),\qquad w_i=\int_a^b\ell_i(x)\,dx , dove ℓi\ell_i è l'ii-esimo polinomio di Lagrange (vale 1 nel nodo xix_i e 0 negli altri). I pesi wiw_i dipendono solo dai nodi e dall'intervallo, non da ff: per questo, una volta calcolati, la formula si applica a qualsiasi funzione. Si chiama Q(f)=∑wif(xi)Q(f)=\sum w_if(x_i) la formula e E(f)=I(f)−Q(f)E(f)=I(f)-Q(f) l'errore (positivo se la formula sottostima).

Definizione (grado di esattezza). Una formula di quadratura ha grado di esattezza rr se E(p)=0E(p)=0 per ogni polinomio di grado ≤r\le r ed E(xr+1)≠0E(x^{r+1})\ne0.

Basta controllare le potenze 1,x,x2,…,xr1,x,x^2,\dots,x^r, perché sia II sia QQ sono lineari in ff. Il grado di esattezza dice quanti termini del polinomio di Taylor di ff sono integrati senza errore, quindi quanto la formula è precisa per funzioni regolari.

2. Le tre formule semplici

Sia [a,b][a,b] l'intervallo, m=a+b2m=\frac{a+b}2 il punto medio, H=b−aH=b-a.

Formula del punto medio. QPM=H f(m)Q_{PM}=H\,f(m) (un nodo, p0p_0 costante). Formula del trapezio. QT=H2[f(a)+f(b)]Q_T=\dfrac H2\big[f(a)+f(b)\big] (due nodi, p1p_1 retta per (a,f(a))(a,f(a)) e (b,f(b))(b,f(b)): l'integrale è l'area del trapezio). Formula di Cavalieri-Simpson. QS=H6[f(a)+4f(m)+f(b)]Q_S=\dfrac H6\big[f(a)+4f(m)+f(b)\big] (tre nodi a,m,ba,m,b, p2p_2 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 H6,4H6,H6\frac H6,\frac{4H}6,\frac H6. Si cercano w0,w1,w2w_0,w_1,w_2 tali che la formula sia esatta su 1,x,x21,x,x^2. Per semplicità [a,b]=[−1,1][a,b]=[-1,1], nodi −1,0,1-1,0,1, H=2H=2:

  • f=1f=1: w0+w1+w2=∫−111 dx=2w_0+w_1+w_2=\int_{-1}^11\,dx=2;
  • f=xf=x: −w0+w2=∫−11x dx=0-w_0+w_2=\int_{-1}^1x\,dx=0, quindi w0=w2w_0=w_2;
  • f=x2f=x^2: w0+w2=∫−11x2dx=23w_0+w_2=\int_{-1}^1x^2dx=\frac23, quindi w0=w2=13w_0=w_2=\frac13 e w1=2−23=43w_1=2-\frac23=\frac43.

I pesi 13,43,13\frac13,\frac43,\frac13 sono H6⋅(1,4,1)\frac H6\cdot(1,4,1) con H=2H=2. Con un cambio di variabile lineare si ottiene la formula su [a,b][a,b].

Grado di esattezza. Per la simmetria rispetto al punto medio, tutte le formule viste integrano esattamente le funzioni dispari rispetto a mm. Per il punto medio: esatta su 11 e su x−mx-m (dispari), non su (x−m)2(x-m)^2 (∫=H312\int=\frac{H^3}{12} contro Q=0Q=0): grado 1. Trapezio: esatto su 11 e xx (la retta coincide col suo interpolante), non su x2x^2: grado 1. Simpson: esatto su 1,x,x21,x,x^2 per costruzione, ma anche su x3x^3 perché (x−m)3(x-m)^3 è dispari rispetto a mm (sia II sia QQ danno 0); non su x4x^4: grado 3, un grado in più di quello che ci si aspetta da una parabola.

Esempio. Su [0,1][0,1] Simpson dà QS(x3)=16[0+4⋅18+1]=16⋅32=14=∫01x3dxQ_S(x^3)=\frac16\big[0+4\cdot\frac18+1\big]=\frac16\cdot\frac32=\frac14=\int_0^1x^3dx (esatto) e QS(x4)=16[0+4⋅116+1]=524=0,20833≠15Q_S(x^4)=\frac16\big[0+4\cdot\frac1{16}+1\big]=\frac{5}{24}=0{,}20833\ne\frac15.

3. L'errore delle formule semplici

Teorema (errore del trapezio). Se f∈C2([a,b])f\in C^2([a,b]) esiste ξ∈(a,b)\xi\in(a,b) con ET=I−QT=−(b−a)312 f′′(ξ).E_T=I-Q_T=-\frac{(b-a)^3}{12}\,f''(\xi).

Dimostrazione. L'errore di interpolazione della retta p1p_1 è f(x)−p1(x)=f′′(ξx)2(x−a)(x−b)f(x)-p_1(x)=\frac{f''(\xi_x)}2(x-a)(x-b). Il polinomio (x−a)(x−b)(x-a)(x-b) è ≤0\le0 su [a,b][a,b] (non cambia segno), quindi per il teorema della media integrale esiste ξ\xi con ET=∫abf′′(ξx)2(x−a)(x−b) dx=f′′(ξ)2∫ab(x−a)(x−b) dx=f′′(ξ)2⋅(−(b−a)36)E_T=\int_a^b\frac{f''(\xi_x)}2(x-a)(x-b)\,dx=\frac{f''(\xi)}2\int_a^b(x-a)(x-b)\,dx=\frac{f''(\xi)}2\cdot\Big(-\frac{(b-a)^3}6\Big) (l'integrale si calcola con t=x−at=x-a: ∫0Ht(t−H)dt=H33−H32=−H36\int_0^H t(t-H)dt=\frac{H^3}3-\frac{H^3}2=-\frac{H^3}6). ■\blacksquare

Con lo stesso metodo (e un po' più di lavoro per Simpson, dove il polinomio dei nodi non ha segno costante) si ottengono: EPM=+(b−a)324f′′(ξ),ES=−(b−a)52880f(4)(ξ).E_{PM}=+\frac{(b-a)^3}{24}f''(\xi),\qquad E_S=-\frac{(b-a)^5}{2880}f^{(4)}(\xi).

Che cosa dicono: se f′′>0f''>0 (ff convessa) il trapezio sovrastima (ET<0E_T<0: 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 ∣E∣|E| si cerca M2=max⁡[a,b]∣f′′∣M_2=\max_{[a,b]}|f''| (o M4M_4 per Simpson) e si scrive ∣ET∣≤(b−a)312M2|E_T|\le\frac{(b-a)^3}{12}M_2, ∣ES∣≤(b−a)52880M4|E_S|\le\frac{(b-a)^5}{2880}M_4.

Esempio. I=∫01exdx=e−1=1,718282I=\int_0^1e^xdx=e-1=1{,}718282. Con f=exf=e^x, f′′=f(4)=ex≤ef''=f^{(4)}=e^x\le e su [0,1][0,1].

  • Trapezio: QT=1+e2=1,859141Q_T=\frac{1+e}2=1{,}859141, ET=−0,140859E_T=-0{,}140859; la stima dà ∣ET∣≤e12=0,2265|E_T|\le\frac e{12}=0{,}2265 ✓.
  • Simpson: QS=16[1+4e0,5+e]=16[1+6,594885+2,718282]=1,718861Q_S=\frac16\big[1+4e^{0{,}5}+e\big]=\frac16[1+6{,}594885+2{,}718282]=1{,}718861, ES=−0,000579E_S=-0{,}000579; la stima dà ∣ES∣≤e2880=0,000944|E_S|\le\frac e{2880}=0{,}000944 ✓.

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 [a,b][a,b] in nn sottointervalli di ampiezza h=b−anh=\frac{b-a}n, nodi xk=a+khx_k=a+kh, e si applica la formula semplice a ciascuno. Sommando i trapezi: Th=h[12f(x0)+f(x1)+⋯+f(xn−1)+12f(xn)].T_h=h\Big[\tfrac12f(x_0)+f(x_1)+\dots+f(x_{n-1})+\tfrac12f(x_n)\Big]. (I nodi interni compaiono due volte, una per intervallo adiacente, ciascuna con peso h2\frac h2: in totale hh.) Per Simpson si prendono gli intervalli a coppie (nn pari): ogni coppia [x2j,x2j+2][x_{2j},x_{2j+2}] ha punto medio x2j+1x_{2j+1} e contribuisce 2h6[f(x2j)+4f(x2j+1)+f(x2j+2)]\frac{2h}6[f(x_{2j})+4f(x_{2j+1})+f(x_{2j+2})]: Sh=h3[f(x0)+4f(x1)+2f(x2)+4f(x3)+⋯+2f(xn−2)+4f(xn−1)+f(xn)].S_h=\frac h3\Big[f(x_0)+4f(x_1)+2f(x_2)+4f(x_3)+\dots+2f(x_{n-2})+4f(x_{n-1})+f(x_n)\Big]. I pesi alternano 4,2,4,2,…4,2,4,2,\dots con 44 sui nodi di indice dispari e 22 su quelli pari interni, e 11 agli estremi.

Teorema (errore delle formule composite). Se f∈C2f\in C^2 (rispettivamente C4C^4) esistono ξ,η∈(a,b)\xi,\eta\in(a,b) con I−Th=−(b−a) h212f′′(ξ),I−Sh=−(b−a) h4180f(4)(η).I-T_h=-\frac{(b-a)\,h^2}{12}f''(\xi),\qquad I-S_h=-\frac{(b-a)\,h^4}{180}f^{(4)}(\eta).

Perché. Si sommano gli errori dei nn sottointervalli (ampiezza hh): per il trapezio −h312∑kf′′(ξk)=−h312 n⋅f′′‾-\frac{h^3}{12}\sum_{k}f''(\xi_k)=-\frac{h^3}{12}\,n\cdot\overline{f''} con f′′‾\overline{f''} media degli f′′(ξk)f''(\xi_k), che per il teorema dei valori intermedi è un valore f′′(ξ)f''(\xi); e nh3=(b−a)h2nh^3=(b-a)h^2. Per Simpson ci sono n2\frac n2 coppie di ampiezza 2h2h, ciascuna con errore (2h)52880=h590\frac{(2h)^5}{2880}=\frac{h^5}{90}: la somma dà n2⋅h590f(4)=(b−a)h4180f(4)\frac n2\cdot\frac{h^5}{90}f^{(4)}=\frac{(b-a)h^4}{180}f^{(4)}.

Il trapezio è di ordine 2 (errore ∝h2\propto h^2), Simpson di ordine 4 (∝h4\propto h^4). Dimezzando hh (cioè raddoppiando le valutazioni di ff) l'errore del trapezio si divide per 22=42^2=4, quello di Simpson per 24=162^4=16.

Procedura (scelta del numero di intervalli). Per avere ∣I−Q∣≤ε|I-Q|\le\varepsilon:

  1. si calcola M2=max⁡∣f′′∣M_2=\max|f''| (o M4M_4);
  2. si impone (b−a)h212M2≤ε\frac{(b-a)h^2}{12}M_2\le\varepsilon (o (b−a)h4180M4≤ε\frac{(b-a)h^4}{180}M_4\le\varepsilon) e si ricava hh;
  3. si prende n≥b−ahn\ge\frac{b-a}h intero (per Simpson anche pari).

Esempio. ∫01exdx\int_0^1e^xdx con ε=10−6\varepsilon=10^{-6}: M2=M4=eM_2=M_4=e. Trapezi: h212e≤10−6⇒h≤12⋅10−6/e=0,00210⇒n≥476\frac{h^2}{12}e\le10^{-6}\Rightarrow h\le\sqrt{12\cdot10^{-6}/e}=0{,}00210\Rightarrow n\ge476. Simpson: h4180e≤10−6⇒h≤(180⋅10−6/e)1/4=0,0902⇒n≥11,08\frac{h^4}{180}e\le10^{-6}\Rightarrow h\le\big(180\cdot10^{-6}/e\big)^{1/4}=0{,}0902\Rightarrow n\ge11{,}08, cioè n=12n=12 (pari). Simpson richiede 13 valutazioni contro 477.

Tabella di convergenza. Per f=exf=e^x su [0,1][0,1] (I=1,7182818I=1{,}7182818), con l'errore I−QI-Q e il rapporto con l'errore precedente (il passo si dimezza a ogni riga):

nn ThT_h errore rapporto ShS_h errore rapporto
2 1,75393109 −3,56⋅10−2-3{,}56\cdot10^{-2} - 1,71886115 −5,79⋅10−4-5{,}79\cdot10^{-4} -
4 1,72722190 −8,94⋅10−3-8{,}94\cdot10^{-3} 3,99 1,71831884 −3,70⋅10−5-3{,}70\cdot10^{-5} 15,65
8 1,72051859 −2,24⋅10−3-2{,}24\cdot10^{-3} 4,00 1,71828415 −2,33⋅10−6-2{,}33\cdot10^{-6} 15,91
16 1,71884113 −5,59⋅10−4-5{,}59\cdot10^{-4} 4,00 1,71828197 −1,46⋅10−7-1{,}46\cdot10^{-7} 15,98

I rapporti tendono a 44 e 1616: è la verifica sperimentale dell'ordine. In generale, se il rapporto è ≈2p\approx2^p l'ordine è p=log⁡2(rapporto)p=\log_2(\text{rapporto}).

5. Estrapolazione di Richardson

Per ff abbastanza regolare vale uno sviluppo dell'errore del trapezio in potenze pari di hh (formula di Eulero-Maclaurin): Th=I+c2h2+c4h4+c6h6+⋯ ,T_h=I+c_2h^2+c_4h^4+c_6h^6+\cdots, con costanti c2,c4,…c_2,c_4,\dots che dipendono da ff ma non da hh. Si scrive la stessa relazione con h2\frac h2: Th/2=I+c2h24+c4h416+⋯ .T_{h/2}=I+\frac{c_2h^2}4+\frac{c_4h^4}{16}+\cdots . Moltiplicando la seconda per 44 e sottraendo la prima, il termine in h2h^2 scompare: 4Th/2−Th=3I−3c4h44+⋯⟹Rh=4Th/2−Th3=I−c4h44+⋯ .4T_{h/2}-T_h=3I-\frac{3c_4h^4}{4}+\cdots\quad\Longrightarrow\quad R_h=\frac{4T_{h/2}-T_h}3=I-\frac{c_4h^4}4+\cdots .

Estrapolazione di Richardson. Se una quantità calcolata con passo hh si comporta come Q(h)=I+Chp+O(hp+1)Q(h)=I+Ch^p+O(h^{p+1}) con pp noto, la combinazione  I≈2pQ(h/2)−Q(h)2p−1 \boxed{\,I\approx\frac{2^pQ(h/2)-Q(h)}{2^p-1}\,} elimina il termine dominante dell'errore e ha ordine più alto.

Fatto notevole. Per i trapezi (p=2p=2), 4Th/2−Th3\frac{4T_{h/2}-T_h}3 coincide con Simpson Sh/2S_{h/2}. Verifica con un solo intervallo: Th=f0+f22T_h=\frac{f_0+f_2}2 (passo hh, estremi f0,f2f_0,f_2), Th/2=f0+2f1+f24T_{h/2}=\frac{f_0+2f_1+f_2}4; allora 4Th/2−Th3=13[f0+2f1+f2−f0+f22]=f0+4f1+f26\frac{4T_{h/2}-T_h}3=\frac13\big[f_0+2f_1+f_2-\frac{f_0+f_2}2\big]=\frac{f_0+4f_1+f_2}6 ✓. Quindi Simpson è «due trapezi estrapolati», e il suo ordine 4 si spiega con l'eliminazione del termine in h2h^2.

Tabella di Romberg. Si può ripetere: dopo aver eliminato h2h^2 resta h4h^4, che si elimina con fattore 24=162^4=16, poi h6h^6 con 26=642^6=64 e così via. Con Rk,0=Th/2kR_{k,0}=T_{h/2^k}: Rk,j=4jRk,j−1−Rk−1,j−14j−1(j=1,…,k).R_{k,j}=\frac{4^jR_{k,j-1}-R_{k-1,j-1}}{4^j-1}\qquad(j=1,\dots,k). Per ∫01exdx\int_0^1e^xdx con h=1h=1 (valore esatto 1,7182818281{,}718281828):

kk Rk,0R_{k,0} (trapezi) Rk,1R_{k,1} (Simpson) Rk,2R_{k,2} Rk,3R_{k,3}
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 ff (n=8n=8) l'ultima cella ha errore 3⋅10−103\cdot10^{-10} (il trapezio con lo stesso nn ha 2⋅10−32\cdot10^{-3}): nessun nuovo coefficiente da calcolare, solo combinazioni di numeri già disponibili.

Stima dell'errore a posteriori. Dalla relazione Q(h)=I+ChpQ(h)=I+Ch^p si ricava Q(h)−Q(h/2)=Chp(1−2−p)=Chp 2p−12pQ(h)-Q(h/2)=Ch^p\big(1-2^{-p}\big)=Ch^p\,\frac{2^p-1}{2^p}. L'errore del valore con passo h2\frac h2 è Q(h/2)−I=Chp2p=Q(h)−Q(h/2)2p−1Q(h/2)-I=\frac{Ch^p}{2^p}=\frac{Q(h)-Q(h/2)}{2^p-1}, cioè I−Q(h/2)≈Q(h/2)−Q(h)2p−1.I-Q(h/2)\approx\frac{Q(h/2)-Q(h)}{2^p-1}. Non serve conoscere f′′f'': basta confrontare due risultati. Per exe^x: T1=1,859141T_1=1{,}859141, T2=1,753931T_2=1{,}753931, T2−T13=−0,03507\frac{T_2-T_1}3=-0{,}03507 contro l'errore vero −0,03565-0{,}03565 ✓.

Ordine ignoto. Con tre valori Q(h),Q(h/2),Q(h/4)Q(h),Q(h/2),Q(h/4) si stima pp da Q(h)−Q(h/2)Q(h/2)−Q(h/4)≈2p.\frac{Q(h)-Q(h/2)}{Q(h/2)-Q(h/4)}\approx2^p .

6. Implementazione

python
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.718281829

Equivalenti 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 ff è nota solo in punti equispaziati, si usa direttamente ThT_h o ShS_h sui valori misurati. Il lavoro di una forza F(x)F(x) lungo un percorso è W=∫x0xnF dxW=\int_{x_0}^{x_n}F\,dx (in joule se FF è in newton e xx in metri); il lavoro di un gas che espande è ∫p dV\int p\,dV. L'errore non si può maggiorare con M2M_2 o M4M_4 (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 (nn pari) si può usare Simpson, altrimenti Simpson sui primi n−1n-1 intervalli e trapezio sull'ultimo (o Simpson 38\frac38, non trattata qui).

Errori da evitare

  • Usare Simpson con nn dispari: la formula composta lavora su coppie di intervalli.
  • Pesi 4,2,4,24,2,4,2 sbagliati: 44 sui nodi di indice dispari, 22 su quelli pari interni, 11 sugli estremi; la somma dei pesi (dentro la parentesi) deve essere 3n3n.
  • Dimenticare il fattore 12\frac12 agli estremi nei trapezi.
  • Scambiare hh e HH nell'errore: la formula semplice usa (b−a)3(b-a)^3 (o 5^5), la composita usa (b−a)h2(b-a)h^2 (o h4h^4).
  • Credere che dimezzare hh dimezzi l'errore: dimezza di 44 (trapezi) o di 1616 (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: 2p2^p con p=2p=2 per i trapezi, p=4p=4 per Simpson; usare p=1p=1 dove l'errore è O(h2)O(h^2) 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

  1. Che cos'è il grado di esattezza? Qual è quello di trapezio, punto medio e Simpson, e perché? Traccia. Massimo rr per cui si integrano esattamente tutti i polinomi di grado ≤r\le r; 1, 1, 3. Per Simpson, (x−m)3(x-m)^3 è dispari rispetto a mm e quindi I=Q=0I=Q=0.
  2. Dimostrare che I−QT=−(b−a)312f′′(ξ)I-Q_T=-\frac{(b-a)^3}{12}f''(\xi). Traccia. Errore di interpolazione lineare, (x−a)(x−b)(x-a)(x-b) di segno costante, teorema della media integrale, ∫ab(x−a)(x−b)dx=−(b−a)36\int_a^b(x-a)(x-b)dx=-\frac{(b-a)^3}6.
  3. Quanti intervalli servono per avere errore ≤10−6\le10^{-6} con i trapezi e con Simpson? Traccia. Si maggiora ∣f′′∣|f''| (o ∣f(4)∣|f^{(4)}|) e si risolve (b−a)h212M2≤10−6\frac{(b-a)h^2}{12}M_2\le10^{-6} (o (b−a)h4180M4≤10−6\frac{(b-a)h^4}{180}M_4\le10^{-6}); n=⌈b−ah⌉n=\lceil\frac{b-a}h\rceil, pari per Simpson.
  4. Mostrare che 4Th/2−Th3\frac{4T_{h/2}-T_h}3 è la formula di Simpson. Traccia. Su un intervallo: f0+2f1+f2−12(f0+f2)3=f0+4f1+f26\frac{f_0+2f_1+f_2-\frac12(f_0+f_2)}{3}=\frac{f_0+4f_1+f_2}{6}; è Richardson con p=2p=2.

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. ∫abf≈∫abpn=∑wif(xi)\int_a^bf\approx\int_a^bp_n=\sum w_if(x_i), wi=∫ℓiw_i=\int\ell_i. Errore E=I−QE=I-Q. Grado di esattezza rr: esatta su 1,…,xr1,\dots,x^r ma non su xr+1x^{r+1}.

Formule semplici (H=b−aH=b-a, mm punto medio):

  • punto medio Hf(m)Hf(m), grado 1, E=+H324f′′(ξ)E=+\frac{H^3}{24}f''(\xi);
  • trapezio H2[f(a)+f(b)]\frac H2[f(a)+f(b)], grado 1, E=−H312f′′(ξ)E=-\frac{H^3}{12}f''(\xi) (D: errore di interpolazione, (x−a)(x−b)≤0(x-a)(x-b)\le0, media integrale, ∫=−H36\int=-\frac{H^3}6);
  • Simpson H6[f(a)+4f(m)+f(b)]\frac H6[f(a)+4f(m)+f(b)], grado 3 ((x−m)3(x-m)^3 dispari), E=−H52880f(4)(ξ)E=-\frac{H^5}{2880}f^{(4)}(\xi). Pesi da esattezza su 1,x,x21,x,x^2: 13,43,13\frac13,\frac43,\frac13 su [−1,1][-1,1].

Composite (h=b−anh=\frac{b-a}n): Th=h[f02+f1+⋯+fn−1+fn2]T_h=h[\frac{f_0}2+f_1+\dots+f_{n-1}+\frac{f_n}2], E=−(b−a)h212f′′(ξ)E=-\frac{(b-a)h^2}{12}f''(\xi), ordine 2, rapporto 4. Sh=h3[f0+4f1+2f2+⋯+4fn−1+fn]S_h=\frac h3[f_0+4f_1+2f_2+\dots+4f_{n-1}+f_n], nn pari, E=−(b−a)h4180f(4)(η)E=-\frac{(b-a)h^4}{180}f^{(4)}(\eta), ordine 4, rapporto 16.

Scelta di nn: (b−a)h212M2≤ε\frac{(b-a)h^2}{12}M_2\le\varepsilon (o (b−a)h4180M4≤ε\frac{(b-a)h^4}{180}M_4\le\varepsilon), n≥b−ahn\ge\frac{b-a}h (pari per Simpson). Esempio ∫01ex\int_0^1e^x, ε=10−6\varepsilon=10^{-6}: n=476n=476 (trapezi) contro n=12n=12 (Simpson).

Richardson. Q(h)=I+Chp+⋯⇒I≈2pQ(h/2)−Q(h)2p−1Q(h)=I+Ch^p+\dots\Rightarrow I\approx\frac{2^pQ(h/2)-Q(h)}{2^p-1}; errore stimato I−Q(h/2)≈Q(h/2)−Q(h)2p−1I-Q(h/2)\approx\frac{Q(h/2)-Q(h)}{2^p-1}. Trapezi: Th=I+c2h2+c4h4+…T_h=I+c_2h^2+c_4h^4+\dots, 4Th/2−Th3=Sh/2\frac{4T_{h/2}-T_h}3=S_{h/2} (prova su un intervallo). Romberg: Rk,j=4jRk,j−1−Rk−1,j−14j−1R_{k,j}=\frac{4^jR_{k,j-1}-R_{k-1,j-1}}{4^j-1}. Ordine ignoto: Q(h)−Q(h/2)Q(h/2)−Q(h/4)≈2p\frac{Q(h)-Q(h/2)}{Q(h/2)-Q(h/4)}\approx2^p.

Esempio ∫01ex=1,718282\int_0^1e^x=1{,}718282: T1=1,859141T_1=1{,}859141 (E=−0,1409≤e12E=-0{,}1409\le\frac e{12}), S=1,718861S=1{,}718861 (E=−5,8⋅10−4≤e2880E=-5{,}8\cdot10^{-4}\le\frac e{2880}). Rapporti degli errori →4\to4 (trapezi) e →16\to16 (Simpson). Romberg con n=8n=8: 1,7182818291{,}718281829.

Dati tabulati: ThT_h o ShS_h direttamente; errore dal confronto tra due passi (le derivate non sono note). MATLAB trapz, integral.

Passaggi principali.

  • Pesi di Simpson: su [−1,1][-1,1] con nodi −1,0,1-1,0,1 si impone l'esattezza su 1,x,x21,x,x^2: w0+w1+w2=2w_0+w_1+w_2=2, −w0+w2=0-w_0+w_2=0, w0+w2=23w_0+w_2=\frac23, da cui w=(13,43,13)=H6(1,4,1)w=(\frac13,\frac43,\frac13)=\frac H6(1,4,1) con H=2H=2.
  • Grado 3 di Simpson: (x−m)3(x-m)^3 è dispari rispetto a mm, quindi I=Q=0I=Q=0; invece QS(x4)=524≠15Q_S(x^4)=\frac5{24}\ne\frac15 su [0,1][0,1].
  • Errore del trapezio: f−p1=f′′(ξx)2(x−a)(x−b)f-p_1=\frac{f''(\xi_x)}2(x-a)(x-b); il prodotto non cambia segno, quindi ET=f′′(ξ)2∫ab(x−a)(x−b)dxE_T=\frac{f''(\xi)}2\int_a^b(x-a)(x-b)dx e ∫0Ht(t−H)dt=−H36\int_0^Ht(t-H)dt=-\frac{H^3}6.
  • Composita: si sommano gli nn errori locali; nh3=(b−a)h2nh^3=(b-a)h^2 per il trapezio; per Simpson n2\frac n2 coppie con errore (2h)52880=h590\frac{(2h)^5}{2880}=\frac{h^5}{90} danno (b−a)h4180\frac{(b-a)h^4}{180}.
  • Richardson: Th=I+c2h2+c4h4+…T_h=I+c_2h^2+c_4h^4+\dots, 4Th/2−Th=3I−34c4h4+…4T_{h/2}-T_h=3I-\frac34c_4h^4+\dots; per un solo intervallo 4Th/2−Th3=f0+4f1+f26\frac{4T_{h/2}-T_h}3=\frac{f_0+4f_1+f_2}6.
  • Errore a posteriori: Q(h)−Q(h/2)=Chp2p−12pQ(h)-Q(h/2)=Ch^p\frac{2^p-1}{2^p} e Q(h/2)−I=Chp2pQ(h/2)-I=\frac{Ch^p}{2^p}, quindi I−Q(h/2)≈Q(h/2)−Q(h)2p−1I-Q(h/2)\approx\frac{Q(h/2)-Q(h)}{2^p-1}.

Procedure.

  • Maggiorare l'errore: ∣ET∣≤(b−a)312M2|E_T|\le\frac{(b-a)^3}{12}M_2, ∣ES∣≤(b−a)52880M4|E_S|\le\frac{(b-a)^5}{2880}M_4 con Mk=max⁡∣f(k)∣M_k=\max|f^{(k)}|.
  • Numero di intervalli: si ricava hh dalla disuguaglianza, n=⌈b−ah⌉n=\lceil\frac{b-a}h\rceil, pari per Simpson.
  • Ordine sperimentale: p=log⁡2p=\log_2 del rapporto tra errori successivi (si dimezza hh).
  • Segno: f′′>0f''>0 implica trapezio per eccesso e punto medio per difetto; punto medio e trapezio hanno errori +124+\frac1{24} e −112-\frac1{12}, quindi QS=23QPM+13QTQ_S=\frac23Q_{PM}+\frac13Q_T.
  • Pesi positivi: un errore di misura ε\varepsilon sui dati produce ∣δQ∣≤ε(b−a)|\delta Q|\le\varepsilon(b-a), la quadratura è ben condizionata.

Tabelle numeriche per ∫01ex=1,718282\int_0^1e^x=1{,}718282: T1=1,859141T_1=1{,}859141, T2=1,753931T_2=1{,}753931, T4=1,727222T_4=1{,}727222; SS con n=2n=2: 1,7188611{,}718861; Romberg a n=8n=8: 1,7182818291{,}718281829. Rapporti →4\to4 e →16\to16.

Errori tipici.

  • Simpson con nn dispari.
  • Pesi 4,2,4,24,2,4,2 o 12\frac12 agli estremi sbagliati.
  • HH al posto di hh nell'errore composito.
  • Esponente di Richardson sbagliato (p=2p=2 per i trapezi, 44 per Simpson).

Esercizi su questo argomento

Teoria collegata