Simpsono taisyklė: formulė ir kaip ji veikia

Simpsono taisyklė yra skaitinės integracijos metodas. Kitaip tariant, tai apibrėžtų integralų skaitinis aproksimavimas.

Simpsono taisyklė yra tokia:

Jame

  • f(x)vadinamas integrandu
  • a = apatinė integracijos riba
  • b = viršutinė integracijos riba

Simpsono 1/3 taisyklė

Kaip parodyta aukščiau pateiktoje diagramoje, integrandas f(x)yra artinamas antrosios eilės polinomu; kvadratinė interpolantinė būtybė P(x).

Toliau pateikiamas apytikslis

Pakeisti (b-a)/2taip h, mes gauname,

Kaip matote, 1/3minėtoje išraiškoje yra veiksnys . Štai kodėl jis vadinamas Simpsono 1/3 taisykle .

Jei funkcija yra labai svyruojanti arba kai kuriose vietose trūksta išvestinių, aukščiau nurodyta taisyklė gali nepadėti tikslių rezultatų.

Paprastas būdas tai išspręsti yra naudojant sudėtinį Simpsono taisyklės metodą. Norėdami tai padaryti, suskirstykite [a,b]į mažus subintervalus, tada kiekvienam subintervaliui pritaikykite Simpsono taisyklę. Tada susumuokite kiekvieno skaičiavimo rezultatus, kad gautumėte apytikslį viso integralo dydį.

Jei intervalas [a,b]yra padalintas į ntarpinius intervalus ir nyra lyginis skaičius, sudėtinė Simpsono taisyklė apskaičiuojama pagal šią formulę:

kur x j = a + jh, kai j = 0,1,…, n-1, n su h = (ba) / n ; visų pirma, x 0 = a ir x n = b .

C ++ pavyzdys:

Norint apytiksliai pateikti toliau nurodytą integralo vertę, kur 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.