Κανόνας του Simpson: ο τύπος και πώς λειτουργεί

Ο κανόνας του Simpson είναι μια μέθοδος αριθμητικής ολοκλήρωσης. Με άλλα λόγια, είναι η αριθμητική προσέγγιση ορισμένων ολοκληρωμάτων.

Ο κανόνας του Simpson έχει ως εξής:

Μέσα σε αυτό,

  • f(x)ονομάζεται ολοκληρωμένη
  • a = χαμηλότερο όριο ολοκλήρωσης
  • b = ανώτερο όριο ολοκλήρωσης

Κανόνας 1/3 του Simpson

Όπως φαίνεται στο παραπάνω διάγραμμα, η ολοκλήρωση f(x)προσεγγίζεται από ένα πολυώνυμο δεύτερης τάξης. το τετραγωνικό διαπολιτικό ον P(x).

Ακολουθεί η προσέγγιση,

Αντικαθιστώντας (b-a)/2ως h, παίρνουμε,

Όπως μπορείτε να δείτε, υπάρχει ένας παράγοντας 1/3στην παραπάνω έκφραση. Γι 'αυτό, ονομάζεται Κανόνας 1/3 του Simpson .

Εάν μια συνάρτηση είναι πολύ ταλαντωμένη ή δεν έχει παράγωγα σε ορισμένα σημεία, τότε ο παραπάνω κανόνας ενδέχεται να μην παράγει ακριβή αποτελέσματα.

Ένας κοινός τρόπος για να το χειριστείτε αυτό είναι με τη χρήση της προσέγγισης κανόνα του σύνθετου Simpson . Για να το κάνετε αυτό, χωρίστε [a,b]σε μικρά δευτερόλεπτα και μετά εφαρμόστε τον κανόνα του Simpson σε κάθε υποδιάστημα. Στη συνέχεια, αθροίστε τα αποτελέσματα κάθε υπολογισμού για να δημιουργήσετε μια προσέγγιση για ολόκληρο το ακέραιο.

Εάν το διάστημα [a,b]χωρίζεται σε nυποδιαστήματα, και nείναι ένας ζυγός αριθμός, ο κανόνας του σύνθετου Simpson υπολογίζεται με τον ακόλουθο τύπο:

όπου x j = a + jh για j = 0,1,…, n-1, n με h = (ba) / n ; συγκεκριμένα, x 0 = a και x n = b .

Παράδειγμα στο C ++:

Για την προσέγγιση της τιμής του ακέραιου που δίνεται παρακάτω όπου 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.