Metodo di Simpson per integrali

que1
Ciao a tutti , dopo aver implementato i metodi del punto medio e dei trapezi per calcolare un integrale
su MatLab , li ho testati con una funzione costante , tra un intervallo di numeri interi e il risultato è un numero intero .
Infatti questi due metodi integrano perfettamente funzioni di grado <=1 .

Questa correttezza non sono riuscita ad ottenerla implementando il metodo di Simpson . Ad esempio , con la funzione y=1 , tra [0,4], sia il metodo del punto medio che quello dei trapezi mi danno un risultato di 4 . Quello di Simpson ottengo 4.0007 .

Secondo voi a cosa è dovuta questa inesattezza ?
Vi allego anche la mia implementazione del metodo di Simpson
(a,b sono gli estremi di integrazione , M il numero di intervallini in cui dividere l'intervallo e f la funzione)

Risposte
Raptorista1
È dovuto sicuramente ad un errore nel codice. Prova ad integrare con un solo intervallo, dovrebbe uscire comunque il numero giusto.

que1
Riguardando la formula credo che sia normale che più diminuisco la lunghezza degli intervallini più l'errore diminuisce .
Tant'è che se uso simpson su f=1 tra [0,4] , con lunghezza intervallo di 4 ottengo 4,6 . Diminuendo la lunghezza degli intervallini il risultato tende al numero corretto 4 .

Ora non mi è chiara la faccenda dell'esattezza ....

Raptorista1
Questo non è possibile.
Se \(f \equiv 1\) e \([a,b] \equiv [0,4]\), l'approssimazione con un solo intervallo ha tre nodi \(x_0 = 0\), \(x_1 = 2\), \(x_2 = 4\) a cui corrispondono i valori \(y_0 = y_1 = y_2 = 1\) ed \(h = 2\).
L'integrale approssimato è allora
\[
I = \frac{h}{3} (y_0 + 4y_1 + y_2) = 4,
\]
che è il valore esatto.
Dev'esserci un errore nel codice, prova a riprodurre questo calcolo che io ho fatto a mano.

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.