परिचय
निश्चित समाकलों को इस ट्रैपेजॉइडल नियम का उपयोग करके हल किया जा सकता है। एक फंक्शन f(x) को रेंज a से b के बीच समाकलित करना मूल रूप से वक्र के नीचे के क्षेत्रफल को बिंदु x = a से x = b तक खोजना है।
उस क्षेत्रफल को खोजने के लिए, हम क्षेत्रफल को n ट्रैपेजॉइड्स में विभाजित कर सकते हैं, और प्रत्येक ट्रैपेजॉइड की चौड़ाई h है, इसलिए हम कह सकते हैं कि (b - a) = nh। जब ट्रैपेजॉइड्स की संख्या बढ़ती है, तो क्षेत्रफल गणना का परिणाम अधिक सटीक होगा। समाकलों को हल करने के लिए, हम इस सूत्र का पालन करेंगे।

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

इनपुट और आउटपुट
इनपुट: फंक्शन f(x): 1-exp(-x/2.0) और समाकलन की सीमाएँ: 0, 1. अंतरालों की संख्या: 20 आउटपुट: उत्तर है: 0.21302
एल्गोरिदम
integrateTrapezoidal(a, b, n)
इनपुट: निचली और ऊपरी सीमा, और समाकलों की संख्या n
आउटपुट: समाकलन का परिणाम
Begin
h := (b - a)/n
sum := f(a) + f(b)
i := 1 से n तक, करें
sum := sum + f(a + ih)
done
sum लौटाएं
End
उदाहरण (C++ कोड)
#include <iostream>
#include <cmath>
using namespace std;
float mathFunc(float x) {
return (1 - exp(-x/2.0)); // फंक्शन 1 - e^(-x/2)
}
float integrate(float a, float b, int n) {
float h, sum;
int i;
h = (b - a) / n; // दो अंतराल के बीच की दूरी की गणना करें
sum = (mathFunc(a) + mathFunc(b)) / 2; // f(a) और f(b) का उपयोग करके प्रारंभिक योग
for (i = 1; i < n; i++) {
sum += mathFunc(a + i * h);
}
return (h * sum); // समाकलन का परिणाम
}
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: 0 1 20 The answer is: 0.21302