Simpsonovo pravilo metoda je numeričke integracije. Drugim riječima, to je numerička aproksimacija određenih integrala.
Simpsonovo pravilo je sljedeće:

U tome,
f(x)
naziva se integranda
= donja granica integracijeb
= gornja granica integracije
Simpsonovo 1/3 pravilo

Kao što je prikazano na gornjem dijagramu, integrand f(x)
se aproksimira polinomom drugog reda; kvadratno interpolantno biće P(x)
.
Slijedi aproksimacija,

Zamjenjujući (b-a)/2
kao h
, dobivamo,

Kao što vidite, 1/3
u gore navedenom izrazu postoji faktor . Zato se i zove Simpsonovo 1/3 pravilo .
Ako je funkcija jako oscilirajuća ili joj u nekim točkama nedostaju derivati, tada gornje pravilo možda neće dati točne rezultate.
Uobičajeni način da se to riješi je korištenje složenog pristupa Simpsonovih pravila . Da biste to učinili, razdvojite se [a,b]
na male podintervale, a zatim primijenite Simpsonovo pravilo na svaki podinterval. Zatim zbrojite rezultate svakog izračuna kako biste dobili aproksimaciju cijelog integrala.
Ako je interval [a,b]
podijeljen na n
podintervale i n
paran je broj, složeno Simpsonovo pravilo izračunava se prema sljedećoj formuli:

gdje je x j = a + jh za j = 0,1,…, n-1, n s h = (ba) / n ; posebno x 0 = a i x n = b .
Primjer u C ++:
Da se približi vrijednost integrala dana u nastavku gdje je n = 8:

#include #include using namespace std; float f(float x) { return x*sin(x); //Define the function f(x) } float simpson(float a, float b, int n) { float h, x[n+1], sum = 0; int j; h = (b-a)/n; x[0] = a; for(j=1; j<=n; j++) { x[j] = a + h*j; } for(j=1; j<=n/2; j++) { sum += f(x[2*j - 2]) + 4*f(x[2*j - 1]) + f(x[2*j]); } return sum*h/3; } int main() { float a,b,n; a = 1; //Enter lower limit a b = 4; //Enter upper limit b n = 8; //Enter step-length n if (n%2 == 0) cout<
Simpson's 3/8 Rule
Simpson's 3/8 rule is similar to Simpson's 1/3 rule, the only difference being that, for the 3/8 rule, the interpolant is a cubic polynomial. Though the 3/8 rule uses one more function value, it is about twice as accurate as the 1/3 rule.
Simpson’s 3/8 rule states :

Replacing (b-a)/3
as h
, we get,

Simpson’s 3/8 rule for n intervals (n should be a multiple of 3):

where xj = a+jh for j = 0,1,…,n-1,n with h=(b-a)/n; in particular, x0 = a and xn = b.