Teoria


Aproximació cúbica entre 4 punts consecutius.

imatge.png

A partir del polinomi interpolador calculem la integral:

$$ \int_{x_0}^{x_3} f(x) dx \simeq \frac{3h}{8}(f_0 + 3f_1 + 3f_2 + f_3) $$

L'error comès en el subinterval és proporcional a $h^5$:

$$ E_r \simeq -\frac{3h^5}{80} f^{(4)}(\xi) \quad \text{amb } \xi \in [x_0, x_3] $$

On $f^{(4)}(\xi)$ és la quarta derivada de la funció en algun punt $\xi$ dins el subinterval $[x_0, x_3]$.

Al fer la integral global (trapezis repetida) l’error “es redueix” en $1$ ordre (proporcional a $h^4$).

Nota: Que l’error es redueixi en un ordre vol dir que tenim un error més gran (menys precisió).

Lògica per la implementació


Dona’t un interval [xa, xb], el separarem en k_ subintervals (on k_ és un múltiple de $3$).

Per a fer-ho (fora la subrutina) farem un bucle on a cada iteració cridarem la subrutina amb un nombre d’intervals major.

Tindrem que la separació entre punts és h = (xb - xa) / k_ els subintervals seran del tipus

[x0, x1, x2, x3]
[x3, x4, x5, x6]
[x6, x7, x8, x9]
...

On el primer i l’últim punts de cada subinterval tenen pes 1 i els del mig pes 3.

AreaPrimerSubinterval = (3*h/8)*(fun(x0)+3*fun(x1)+3*fun(x2)+fun(x3))
AreaSegonSubinterval = (3*h/8)*(fun(x3)+3*fun(x4)+3*fun(x5)+fun(x6))
AreaTercerSubinterval = (3*h/8)*(fun(x6)+3*fun(x7)+3*fun(x8)+fun(x9))

El que farem serà doncs en primer lloc definir xa = x0 i xb = x_N i sumar-los per separat fora dels bucles.