Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> प्रोग्रामिंग

निश्चित समाकल के लिए सिम्पसन का 1/3 नियम


परिचय

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

इस नियम के लिए, हम इस सूत्र का पालन करेंगे:

निश्चित समाकल के लिए सिम्पसन का 1/3 नियम

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

निश्चित समाकल के लिए सिम्पसन का 1/3 नियम

इनपुट और आउटपुट

इनपुट: फंक्शन 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
  1. निश्चित समाकल के लिए ट्रैपेजॉइडल नियम निश्चित समाकल के लिए ट्रैपेजॉइडल नियम

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

  1. पायथन प्रोग्राम: श्रृंखला 1/1! + 2/2! + 3/3! + ... + n/n! का योग ज्ञात करें पायथन प्रोग्राम: श्रृंखला 1/1! + 2/2! + 3/3! + ... + n/n! का योग ज्ञात करें

    इस लेख में, हम दी गई समस्या के समाधान और दृष्टिकोण के बारे में जानेंगे।समस्या कथन - एक पूर्णांक इनपुट n दिया गया है, हमें श्रृंखला 1/1! + 2/2! + 3/3! + 4/4! + ... + n/n! का योग ज्ञात करना होगा।यहां हम फॉर लूप लागू कर रहे हैं, इसलिए हमें O(n) समय जटिलता प्राप्त होती है।दक्षता प्राप्त करने के लिए हम उ

  1. Windows 8/8.1 पर USB डिवाइस न पहचाने जाने की समस्या ठीक करें: चरण-दर-चरण स्वयं सहायता मार्गदर्शिका Windows 8/8.1 पर USB डिवाइस न पहचाने जाने की समस्या ठीक करें: चरण-दर-चरण स्वयं सहायता मार्गदर्शिका

    USB डिवाइस उपयोग में आसान है। कुछ मामलों में, आप अपने डिवाइस को USB पोर्ट वाले Windows PC से कनेक्ट कर सकते हैं और पा सकते हैं कि Windows 8.1/8 में अपडेट करने के बाद यह पहचाना नहीं जाता है। यह विशेष रूप से तब आता है जब आपका USB डिवाइस पता नहीं लगाया जाता है या ठीक से काम नहीं करता है। आइए देखें कि ज