Quadratura adaptativa

De Viquipèdia
Salta a: navegació, cerca

En càlcul, la quadratura adaptativa és un procés en el qual es troba una aproximació de la integral definida d'una funció emprant un mètode estàtic d'integració numèrica sobre uns subintervals d'integració que es divideixen de forma adaptativa. En general, els algorismes adaptatius són tan eficients i efectius com els algorismes tradicionals pel cas de funcions amb "bon comportament", però també són efectius per a funcions amb "mal comportament" per a les quals els algorismes tradicionals fallen.

Esquema general[modifica | modifica el codi]

La quadratura adaptativa segueix el següent esquema general

1. procediment integrar ( f, a, b, tau )
2. 
3. 
4. si  llavors
5. m = (a + b) / 2
6. Q = integrar(f,a,m,tau) + integrar(f,m,b,tau)
7. fi si
8. retorna Q

Es calcula una aproximació a la integral de sobre l'interval (línia 2), així com una estimació de l'error (línia 3). Si l'error estimat és més gran que la tolerància requerida (línia 4), llavors, l'interval se subdivideix (línia 5) i s'aplica la quadratura a totes dues meitats per separat (línia 6). Ja sigui l'estimació inicial o la suma de les dues meitats calculades de forma recursiva és el resultat que es retorna (línia 7).

Els components importants són:

el mètode de quadratura

la forma de fer l'estimació de l'error

i la lògica per decidir quin interval s'ha de subdividir i quan s'ha d'acabar.


Mètode bàsic de quadratura[modifica | modifica el codi]

Els mètodes de quadratura, generalment tenen la forma

On els nodes i els pesos en general es tenen precalculats.

En el cas més simple, es fan servir les fórmules de Newton-Cotes de grau parell, on els nodes estan uniformement espaiats dins l'interval:

.

Quan es fan servir aquest tipus de mètodes, els punts als quals ha estat avaluada es poden reutilitzar al subdividir l'interval:

Newton-Cotes

Una estratègia similar es fa sevir amb la quadratura de Clenshaw-Curtis, on els nodes es trien com

O quant es fa servir la quadratura de Fejér,

.

Un algorisme pot decidir fer servir diferents mètodes de quadratura sobre diferents subintervals, per exemple emprant un mètode d'ordre elevat només quan l'integrand és suau.

Estimació de l'error[modifica | modifica el codi]

Alguns algorismes de quadratura generen una successió de resultats que haurien d'aproximar el valor correcte. Altrament es pot fer servir un "mètode nul" que té la forma del mètode de quadratura de més amunt però que el seu valor hauria de ser zero per a un integrand simple (per exemple, si l'integrand fos un polinomi del grau adequat).

Vegeu:

Lògica de subdivisió[modifica | modifica el codi]

Un mètode de quadratura "Local" fa que l'error acceptable per a un interval donat sigui proporcional a la longitud de l'interval. Aquest criteri pot ser difícil de satisfer si l'integrand té un mal comportament només en uns quants punts, per exemple unes quantes discontinuïtats de salt. Alternativament, es podria requerir només que la suma dels errors de tots els subintervals sigui més petita que els requeriments de l'usuari. Això seria una quadratura adaptativa "global". Les quadratures adaptatives globals poden ser més eficients (emprant menys avaluacions de l'integrand) però en general són més complexes de programar i poden requerir més espai de treball per emmagatzemar la informació del conjunt d'intervals a cada moment.

Vegeu també[modifica | modifica el codi]

Referències[modifica | modifica el codi]