Il seguente algoritmo PhP calcola l'integrale definito di una funzione con
la formula dei trapezi.
La funzione, inserita nella classe $funzione ha tre parametri di ingresso: x1 e x2
(estremi di integrazione), numero (numero di trapezi); ritorna in uscita l'approssimazione x.
function Simpson($x1, $x2, $numero){
$h = ($x2 - $x1)/$numero;
$x = $x1;
$area = $funzione->Valore($x1);
// $area = $area/2;
$coef = 4;
for ($conta = 1; $conta < $numero; $conta++){
$x += $h;
$area += $coef*$funzione->Valore($x);
if ($coef == 4) {
$coef = 2;
} else {
$coef = 4;
}
}
$x = $x2;
$area += $funzione->Valore($x2);
return $area * $h / 3;
}
Nel riquadro sopra a destra è possibile provare l'algoritmo; è
consigliabile partire con un basso numero di intervalli e quindi
aumentarlo gradualmente osservando come il risultato tende a
stabilizzarsi.
Il grafico a sinistra visualizza i trapezi e la curva. Il numero massimo di trapezi
visualizzabili è 100; i calcoli vengono comunque eseguiti anche per numeri di trapezi superiori.
|