Simpsonovo pravilo: formula i kako to djeluje

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 integrand
  • a = donja granica integracije
  • b = 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)/2kao h, dobivamo,

Kao što vidite, 1/3u 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 npodintervale i nparan 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.