নির্দিষ্ট ইন্টিগ্রাল এই ট্র্যাপেজোইডাল নিয়ম ব্যবহার করে সমাধান করা যায়। একটি ফাংশন f(x)-কে a থেকে b পরিসরে ইন্টিগ্রেট করা বasiক적으로 x = a বিন্দু থেকে x = b বিন্দু পর্যন্ত বক্ররেখার নিচের এলাকা বের করা।
এই এলাকা বের করতে, আমরা এলাকাকে nটি ট্র্যাপেজোইডে ভাগ করতে পারি, এবং প্রতিটি ট্র্যাপেজোইডের প্রস্থ h, তাই আমরা বলতে পারি (b - a) = nh। ট্র্যাপেজোইডের সংখ্যা বেড়ালে, এলাকা গণনার ফলাফল আরও নির্ভুল হবে। ইন্টিগ্রাল সমাধানের জন্য আমরা এই সূত্র অনুসরণ করব।

এখানে h হল ইন্টারভালের প্রস্থ, এবং n হল ইন্টারভালের সংখ্যা। আমরা h খুঁজে পেতে পারি

ইনপুট এবং আউটপুট
ইনপুট: ফাংশন f(x): 1-exp(-x/2.0) এবং ইন্টিগ্রেশনের সীমা: 0, 1। ইন্টারভালের সংখ্যা: ২০ আউটপুট: উত্তরটি হল: 0.21302
অ্যালগরিদম
integrateTrapezoidal(a, b, n)
ইনপুট: নিম্ন এবং উপরের সীমা, এবং ইন্টিগ্রালের সংখ্যা n।
আউটপুট: ইন্টিগ্রেশনের ফলাফল।
শুরু
h := (b - a)/n
sum := f(a) + f(b)
i := 1 থেকে n পর্যন্ত, করুন
sum := sum + f(a + ih)
শেষ
sum ফেরত দিন
শেষউদাহরণ
#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); //ইন্টিগ্রেশনের ফলাফল } 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