परिचय
ट्रैपेजॉइडल नियम की तरह, सिम्पसन का 1/3 नियम भी a से b की सीमा से समाकल मान ज्ञात करने के लिए उपयोग किया जाता है। ट्रैपेजॉइडल नियम और सिम्पसन के 1/3 नियम के बीच मुख्य अंतर यह है कि ट्रैपेजॉइडल नियम में, पूरे खंड को कुछ ट्रैपेजॉइड्स में विभाजित किया जाता है, लेकिन इस मामले में, प्रत्येक ट्रैपेजॉइड को भी दो भागों में विभाजित किया जाता है।
इस नियम के लिए, हम इस सूत्र का पालन करेंगे:

यहाँ h अंतराल की चौड़ाई है, और n अंतरालों की संख्या है। हम h को इस द्वारा खोज सकते हैं:

इनपुट और आउटपुट
इनपुट: फंक्शन f(x): (x + (1/x)). निचली और ऊपरी सीमा: 1, 2. अंतरालों की संख्या: 20. आउटपुट: उत्तर है: 2.19315
एल्गोरिदम
integrateSimpson(a, b, n)
इनपुट: समाकल की निचली और ऊपरी सीमा और अंतरालों की संख्या n
आउटपुट: समाकलन के बाद परिणाम
Begin
h := (b - a)/n
res := f(a) + f(b)
lim := n/2
i := 1 से lim तक, करें
oddSum := oddSum + f(a + (2i - 1)h)
done
oddSum := oddSum * 4
i := 1 से lim-1 तक, करें
evenSum := evenSum + f(a + 2ih)
done
evenSum := evenSum * 2
res := res + oddSum + evenSum
res := res * (h/3)
res लौटाएं
End
उदाहरण (C++ कोड)
#include <iostream>
#include <cmath>
using namespace std;
float mathFunc(float x) {
return (x + (1/x)); // फंक्शन 1 + 1/x
}
float integrate(float a, float b, int n) {
float h, res = 0.0, oddSum = 0.0, evenSum = 0.0, lim;
int i;
h = (b - a) / n; // दो अंतराल के बीच की दूरी की गणना करें
res = (mathFunc(a) + mathFunc(b)); // f(a) और f(b) का उपयोग करके प्रारंभिक योग
lim = n / 2;
for (i = 1; i <= lim; i++)
oddSum += mathFunc(a + (2*i - 1) * h); // विषम संख्या पर रखी संख्याओं का योग
oddSum *= 4; // विषम योग को 4 से गुणा करें
for (i = 1; i < lim; i++)
evenSum += mathFunc(a + (2*i) * h); // सम संख्या पर रखी संख्याओं का योग
evenSum *= 2; // सम योग को 2 से गुणा करें
res += oddSum + evenSum;
res *= (h / 3);
return res; // समाकलन का परिणाम
}
int main() {
float result, lowLim, upLim;
int interval;
cout << "Enter Lower Limit, Upper Limit and interval: ";
cin >> lowLim >> upLim >> interval;
result = integrate(lowLim, upLim, interval);
cout << "The answer is: " << result;
}
आउटपुट
Enter Lower Limit, Upper Limit and interval: 1 2 20 The answer is: 2.19315