Regola del trapezio

Da Wikipedia, l'enciclopedia libera.
Regola del trapezio.

In analisi numerica, la regola del trapezio fornisce un procedimento per il calcolo approssimato di un integrale definito della forma

 \int_{a}^{b} f(x)\,dx.

La regola del trapezio o di Stevin, nella sua formulazione elementare, propone di approssimare l'integrale, cioè l'area della regione piana compresa fra il grafo della funzione f(x) e l'asse delle ascisse con l'area del trapezio di vertici (a,f(a)), (b,f(b)), (b,0) e (a,0). Di conseguenza

 \int_{a}^{b} f(x)\,dx  \,\approx\, (b-a)\frac{f(a) + f(b)}{2} .

Come è visivamente intuibile, questa approssimazione è accettabile se nell'intervallo di integrazione la funzione ha un andamento che si scosta poco dal lineare. Se questo non accade si può suddividere l'intervallo complessivo \,[a, b] in un numero n opportuno di sottointervalli in ciascuno dei quali in genere accade che la funzione ha andamento poco lontano dal lineare; quindi la regola del trapezio nella forma composta dice di applicare l'approssimazione precedente a tutti i sottointervalli. Si ottiene quindi la formula

\int_a^b f(x) \,dx\, \approx\, \frac{b-a}{n} \left( {f(a) + f(b) \over 2} + \sum_{k=1}^{n-1} f \left( a+k \frac{b-a}{n} \right) \right).

La regola del trapezio fa parte della famiglia di formule per l'integrazione numerica chiamate formule di Newton-Cotes. Di questa famiglia fa parte anche la regola di Cavalieri-Simpson che dà spesso risultati più accurati. La regola di Cavalieri-Simpson e altri metodi simili migliorano la regola dei trapezi per gran parte delle funzioni dotate di due derivate continue. Accade però per certe funzioni dal comportamento irregolare che la più semplice regola del trapezio risulti preferibile. Inoltre la regola del trapezio tende a diventare molto accurata per gli integrali di funzioni periodiche nei rispettivi intervalli di periodicità; questo comportamento viene chiarito in relazione alla formula di Eulero-Maclaurin.

Indice

Implementazione sul calcolatore [modifica]

In Python [modifica]

def IntegraleTrap(f,a,b,m):
    """
Funzione che calcola l'integrale di una funzione nell'intervallo [a,b] con
il metodo dei trapezi.
    """  
    i=a
    ris=0
    k=float(b-a)/m
    while (i<=b):
        try:
            ris+=((f(i)+f(i-k))*k)/2.0
            i+=k
        except:
            i+=k
            continue
    return ris

In Java [modifica]

public abstract class Integral
{
 
        public abstract double f(double x);
 
        private double trapArea(double b1, double b2, double h)
        {
                return (b1+b2)*h/2;
        }
 
        public double trapRule(double x0, double x1, int div)
        {
                double area = 0;
                double h = (x1 - x0) / div;
                double x = x0;
                for (int i=0; i<div-1; i++)
                {
                        area = area + trapArea(f(x), f(x+h), h);
                        x = x + h;
                }
                area = area + trapArea(f(x), f(x1), x1-x);
                return area;
 
        }
 
}
 
public class functionIntegral extends Integral
{
        public double f(double x)
        {
                return Math.sin(x);
        }
 
        public static void main(String args[])
        {
                // Calcolo l'integrale della funzione seno tra 0 e 2 pigreco
                functionIntegral integral = new functionIntegral();
                System.out.println(integral.trapRule(0,2*Math.PI,50));
        }
}

Bibliografia [modifica]

  • Richard L. Burden, J. Douglas Faires (2000): Numerical Analysis, (7th Ed.), Brooks/Cole. ISBN 0534382169

Voci correlate [modifica]

matematica Portale Matematica: accedi alle voci di Wikipedia che trattano di matematica