Calcolo numerico/Formule di Newton-Cotes

Da testwiki.
Vai alla navigazione Vai alla ricerca

Template:Calcolo numerico

Formula dei trapezi

Consideriamo una funzione positiva crescente. Consideriamo la retta passante per (a,f(a)) e (b,f(b)) e calcoliamo l'area del trapezio sotteso, ponendo h=b−a. Il trapezio ha area

h/2∗(f(a)+f(b))∗(b−a)=In(f)

Osserviamo che il polinomio interpolante f nei nodi x1=a e x2=b è:

f(a)∗l1(x)+f(b)∗l2(x)=f(a)∗x−ab−a+f(b)∗x−ba−b

quindi

∫abf(x)dx

si approssima con

In=∫abf(a)∗x−ab−a+f(b)∗x−ba−bdx=

In=∫abf(a)∗x−ab−a−f(b)∗x−bb−adx=

In=1b−a∗∫abf(a)∗(x−a)−f(b)∗(x−b)dx=

In=1b−a∗∫abx(f(a)−f(b))−af(a)+bf(b)dx=

In=1b−a∗[x2/2(f(a)−f(b))−af(a)x+bf(b)x]ab=

In=1b−a∗[b2/2f(a)−a2/2f(a)−b2/2f(b)+a2/2f(b)−abf(a)+a2f(a)+b2f(b)−abf(b)]=

In=1b−a∗[b2/2f(a)+a2/2f(a)+b2/2f(b)+a2/2f(b)−abf(a)−abf(b)]=

In=12(b−a)∗[b2f(a)+a2f(a)+b2f(b)+a2f(b)−2abf(a)−2abf(b)]=

In=12(b−a)∗[(b−a)2f(a)+(b−a)2f(b)]

In=1/2[(b−a)f(a)+(b−a)f(b)]=(b−a)/2∗(f(b)+f(a))formula dei trapezi

Supponiamo che f∈C2([a,b]), allora

f(x)−p1(x)=f(2)(ψ)2!∗w2(x),ψ=ψ(x)

(deriva dall'espressione dell'errore analitico per l'interpolazione di polinomi).

Quindi si ha

Ean=I(f)−In(f)=∫abf(x)−p1(x)dx

=1/2∗∫abf(2)(ψ(x))∗W2(x)dx

Nel caso della formula dei trapezi, w2(x)=(x−a)∗(x−b) ha segno negativo sull'intervallo [a,b]. Possiamo quindi applicare il teorema del valor medio.

Teorema 6.1

Supponiamo di avere G:[a,b]→ℝ continua, ϕ:[a,b]→ℝ integrabile, che non cambia segno in [a,b]. Allora esiste ψ∈[a,b] tale che

∫abg(x)ϕ(x)dx=g(ψ)∗∫abϕ(x)dx

Allora, riconsiderando la formula dell'errore, siccome la funzione peso non cambia segno, si applica il teorema del valor medio. Esisterà ψ indipendente da x tale che

Ean=1/2∗f(2)(ψ)∗∫abw2(x)dx

Ean=1/2∗f(2)(ψ)∗∫ab(x−a)(x−b)dx

Ean=1/2∗f(2)(ψ)∗∫abx2−(a+b)x+abdx

Ean=1/2∗f(2)(ψ)∗[x3/3−(a+b)x2/2+abx]ab=

Ean=1/2∗f(2)(ψ)∗[b3/3−a3/3+(a+b)a2/2−(a+b)b2/2+ab2−a2b]=

Ean=1/2∗f(2)(ψ)∗[b3/3−a3/3+a3/2+ba2/2−ab2/2−b3/2+ab2−a2b]=

Ean=1/2∗f(2)(ψ)∗[a3/6−ba2/2+ab2/2−b3/6]=

Ean=112∗f(2)(ψ)∗[a3−3ba2+3ab2−b3]=

Ean=112∗f(2)(ψ)∗(b−a)3

Ean=H312∗f(2)(ψ)

Formula dei trapezi composita

Se l'intervallo è grande, l'errore potrebbe essere elevato, quindi si pensa di passare alla formula composita. Suddividiamo quindi [a,b] in m sottointervalli, consideriamo la partizione

a=x0<x1<…<xm=b

Poniamo H=(b−a)/m (ipotesi semplificativa: intervalli di uguale ampiezza). Si calcola l'area del trapezio su ogni intervallino, e sommando i vari contributi otteniamo:

Ik,m(f)=H/2∗∑k=0m−1[f(xk)+f(xk+1)]

e siccome i nodi interni compaiono due volte possiamo riscriverlo come

Ik,m(f)=H∗(f(a)/2+∑i=1m−1f(xi)+f(b)/2)

H è la distanza tra due nodi successivi, e più la partizione è fine, più l'approssimazione è buona.

Sommando i vari contributi dell'errore analitico, si ha:

E1,m(f)=−∑k=0m−1f(2)(ψk)12∗H3

(come dimostrato prima H3/6 è l'integrale del polinomio nodale) e moltiplicando e dividendo per m:

=−mH312∗∑k=0m−1f(2)(ψ(k))/m

e per il teorema del valor medio discreto, assumendo che f(2)(x) sia continuo,

=−H3/12∗m∗f(2)(ψ),ψ∈[a,b]

=−H2/12∗H∗m∗f(2)(ψ)

e siccome Hm=h, otteniamo il risultato cercato.

Ek,m(f)=−h/12∗H2∗f(2)(ψ)

Formula di Simpson

Consideriamo la funzione f:[a,b]→ℝ, sia x1 il punto medio dell'intervallo. Considerando il polinomio di grado 2 interpolante nei tre nodi equispaziati, si ha

I2(f)=H/3∗(f(a)+4f((a+b)/2)+f(b))

con h=(b−a)/2 (passo di equispaziatura dei nodi).

I2(f)=∫abp2(x)dx

=∫ab∑i=02f(xi)∗Li(x)dx

=∑if(xi)∗∫abLi(x)dx

Considerando i polinomi di Lagrange di grado 2 otteniamo i pesi w1=w3=H/3 e w2=4H/3.

Modalità di scrittura dei pesi

Osservazione 6.1

Consideriamo un esempio di formula di quadratura con nodi equispaziati. I pesi della formula di quadratura si possono sempre scrivere come Hαi dove gli αi non dipendono dall'intervallo [a,b].

Possiamo scrivere i nodi come

xi=a+bh,h=(b−a)/n

Il polinomio generico di grado n si scrive come

∑i=0nyi∗Li(x)

dove

Li(x)=∏j≠i,j=0nx−xjxi−xj

Consideriamo un cambio di variabili.

x=ϕ(t)=x0+th

tale che ϕ(0)=a,ϕ(n)=b.

L'espressione del polinomio di Lagrange diventa

∏j≠i(x−xj)/(xi−xj)=∏j≠ix0+th−(x0+hj)x0+ih−(x0+jh)=∏j≠i(t−j)/(i−j)

Tenendo conto che dx=hdt, il peso si può quindi riscrivere come

wi=∫abLi(x)dx=∫0nLi(t)hdt

e definisco

αi=∫0nLi(t)dt

in modo che wi=α(t)h con h=(b−a)/n nel caso di nodi equispaziati.

Inoltre αu=αn−u, cioè i pesi sono simmetrici. Questo deriva dal fatto che anche i nodi equispaziati sull'intervallo [a,b] sono simmetrici.

Metodo dei coefficienti indeterminati

Fissiamo x0,x1,…,xk nodi distinti, e imponiamo che la formula di quadratura abbia grado di precisione k.

Inoltre poniamo f(x)=xj, allora per la formula di quadratura deve valere:

∑i=0mwif(xi)=∫abf(x)dx

che si può riscrivere come

∑i=0mwixij=∫abxjdx=bj+1−aj+1j+1,j=0,…,k

Otteniamo il sistema lineare

11…1x0x1…xkx02x12…xk2…………x0kx1k…xnk×w0w1…wk=𝒃

dove il termine noto ha componenti

bj=(bj+1−aj+1)/(j+1)

La matrice a primo membro è la matrice di Vandermonde, e se i nodi sono distinti det⁡A≠0 esiste unica la soluzione.

Esempio 6.1 (metodo di Simpson)

Consideriamo un intervallo [0,1] con nodi x0=0,x1=1/2,x2=1. La distanza h fra i nodi è 1/2.

Il sistema corrispondente è:

11101/2101/41×w0w1w2=11/21/3

Risolviamo il sistema:

{w1+w2+w3=11/2w2+w3=1/21/4w2+w3=1/3

{w1+w2+w3=11/2w2−1/2=1/4w2−1/3

{w1+w2+w3=11/4w2=1/6

w2=2/3,w3=−1/2∗2/3+1/2=1/6

w1=1−w2−w3=1−2/3−1/6=1/6

Siccome h=1/2, si ha

α0=α2=1/3,α1=4/3

e si ritrova la formula di Simpson.

Grado di precisione

Teorema 6.2

Supponiamo f∈C4([a,b]), allora

E2(f)=−h5/90∗f(4)(ξ),h=(b−a)/2,ξ∈[a,b]

Questa formula ha grado di precisione 3 (tutti i polinomi di grado 3 hanno derivata quarta nulla, e quindi errore nullo)

Tutte le formule interpolatorie su nodi equispaziati, quando il polinomio interpolante ha grado pari, hanno un grado di precisione in più di quanto ci si aspetta. Questo deriva dalla simmetria nei nodi.

Vale in generale che dato P2,n come polinomio interpolante, allora il grado di precisione k è 2n+1.

Formula di Simpson composita

Definiamo H=(b−a)/m, e xk=a+kH/2, k=0,…,2m. Segue che

w0=1/6,w1=4/6,w2=1/6,w3=4/6,w4=1/6…

P2,m=H/6∗[f(x0)+2∗∑s=1m−1f(x2s)+4∑s=0mf(x2s−1)+f(xm)]

(i punti medi vengono contati una volta, gli altri punti due volte).

E2,m(f)=−(b−a)/180∗H4/2∗f(4)(ξ),ξ∈[a,b]

Per H→0, l'errore decresce.

La formula di quadratura di Simpson e dei trapezi sono dette formule chiuse perché usano gli estremi dell'intervallo [a,b]. Altre formule vengono dette aperte perché tutti i nodi di quadratura sono interni all'intervallo.

Formula del punto medio

Consideriamo la funzione f:[a,b]→ℝ, consideriamo il punto medio (a+b)/2 e approssimiamo la funzione con la retta per quel punto. Otteniamo quindi:

  1. formula semplice: I0,f=H∗f((a+b)/2), dove H=b−a;
  2. errore nella formula semplice: E0(f)=H3/3f(2)(ξ), con gradi di precisione k=1;
  3. formula composita: I0,n(f)=H∗∑k=0n−1f(xk);
  4. errore nella formula composita: E0,m(f)=(b−a)/24H2∗f(2)(ξ), dove H=(b−a)/m, e f∈C2([a,b]).

Consideriamo n generico.

In(f)=∫abpn(x)dx

dove pn è il polinomio interpolante di grado n, quindi

In=∑i∫abLi(x)dx∗f(xi)

e w=Hα(i).

Osservazione 6.2

Per grado del polinomio interpolante fino a 7, i coefficienti sono tutti positivi, mentre per n>8 i pesi possono anche essere negativi (si può quindi avere la possibilità dell'errore di cancellazione).

Vale il seguente teorema.

Teorema 6.3

La formula di quadratura In(f)=∑i=0nwif(xi) con grado di precisione almeno n, coincide con la formula di quadratura interpolatoria che usa come nodi di interpolazione x0,x1,…,xn.

Dimostrazione

In(f)=∑i=0nwif(xi)

è la formula interpolatoria, con pn polinomio interpolante di grado n, segue che il grado di precisione k è almeno n. Sia π(f) il polinomio interpolante di grado n di f. Allora esiste unica la soluzione del sistema con matrice di Vandermonde, e quindi le due formule di quadratura coincidono.

Stime dell'errore a priori

Template:Definizione

Teorema 6.4

Sia In(f) la formula di quadratura interpolatoria di Newton-Coves (nodi equispaziati e polinomio interpolante di grado n), h=(b−a)/m il passo di equispaziatura. Se il grado del polinomio interpolante è pari a f∈Cn+2([a,b]) allora si dimostra che

En(f)=km/(n+2)!∗hn+3f(n+2)(ξ),ξ∈[a,b]

(grado di precisione n+1 e ordine di infinitesimo n+3) con

Km=∫0mwm+1(t)dt

con wm+1 polinomio nodale, e questa quantità è negativa.

Se invece n è dispari f∈Cn+1 si ha

En,f=Km/(n+1)!∗Hn+2f(n+1)(ξ)

(grado di precisione n e ordine di infinitesimo n+2) con

Km=∫0mwm+1(t)dt

Ad esempio, nel caso della formula di Simpson (tre nodi, quindi m=3) dove il polinomio interpolante ha grado 2, il grado di precisione è n+1=3, e l'ordine di infinitesimo è n+3=5.

Teorema 6.5

Per le formule composite, segue che, se n è pari,

En,m(f)=(b−a)/(n+2)!∗kmnn+3Hn+2f(n+2)(ξ)

e il grado di precisione è n+1 e l'ordine di infinitesimo è n+2, mentre per n dispari,

En,m(f)=(b−a)/(n+1)!kmnn+2∗Hn+1f(n+1)(ξ)

e il grado di precisione è n e l'ordine di infinitesimo è n+1.

In ogni caso

En,m(f)→0⟺H→0

quindi non ci sono problemi di convergenza.

Raddoppio del numero dei sottointervalli

Consideriamo cosa succede se si raddoppia il numero dei sottointervalli. Nel caso della formula dei trapezi:

1. Al primo passo, m=1, i nodi sono a e b, e poniamo H1=b−a.

2. Per m=2, consideriamo il punto medio x1 e chiamiamo H2=b−x1.

3. Al passo successivo, m=4 (raddoppiamo il numero dei sottointervalli) e dividiamo i due sottointervalli nuovamente a metà, in modo che

a<x2<x1<x3<b

dove x2,x3 sono punti medi dei due sosttointervallini.

4. Ad ogni livello vengono introdotti nuovi nodi.

Si ha quindi

I1,1(f)=H1/2(f(a)+f(b))

I1,2(f)=H2/2(f(a)+2f(x1)+f(b))=H2/2(f(a)+f(b))+H2f(x1)=I11(f)/2+H2f(x1)

I1,2m(f)=I1m(f)/2+H2m∗∑j=1mf(xj)

dove gli xj sono i nuovi nodi.

Esercizio 6.1

Nel caso della formula di Simpson, raddoppiano i sottointervalli

I1,m(f)=a2m+b2m+c2m.

Infatti al passo 1,

a1=H1/3(f(a)+f(b))

b1=0

c1=4H1/3f((a+b)/2)=4H1/3∗f(x1)

Al passo 2, poniamo H2=H1/2:

E2=H2/3(f(a)+f(b)+2f(x1)+4f(x2)+4f(x3))

dove x2,x3 sono i punti medi di [a,x1] e [x1,b].

E2=H2/3(f(a)+f(b))+2/3H2f(x1)+4H2/3(f(x2)+f(x3)))

E2=H1/6(f(a)+f(b))+1/3H1f(x1)+4H2/3(f(x2)+f(x3)))

E2=a1/2+c1/4+4H2/3∗∑i=23f(xi)

cioè

a2=a1/2,b2=c1/4,c2=4H2/3∗∑i=23f(xi)

Al passo n+1, avendo 2m=3+2n nodi, si ha:

a2m=am/2

b2m=bm/2+cm/4

c2m=4H2m/3∑f(x nuovi)

Template:Avanzamento