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

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


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

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

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

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

. का उपयोग करके h का पता लगा सकते हैं

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

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

Input:
The function f(x): (x+(1/x). The lower and upper limit: 1, 2. The number of intervals: 20.
Output:
The answer is: 2.19315

एल्गोरिदम

integrateSimpson(a, b, n)

इनपुट - समाकल की निचली और ऊपरी सीमा और अंतरालों की संख्या n.

आउटपुट - एकीकरण के बाद का परिणाम।

Begin
   h := (b - a)/n
   res := f(a) + f(b)
   lim := n/2

   for i := 1 to lim, do
      oddSum := oddSum + f(a + (2i - 1)h)
   done

   oddSum := oddSum * 4
   for i := 1 to lim-1, do
      evenSum := evenSum + f(a + 2ih)
   done

   evenSum := evenSum * 2
   res := res + oddSum + evenSum
   res := res * (h/3)
   return res
End

उदाहरण

#include<iostream>
#include<cmath>
using namespace std;

float mathFunc(float x) {
   return (x+(1/x));    //function 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;    //calculate the distance between two interval
   res = (mathFunc(a)+mathFunc(b));    //initial sum using f(a) and f(b)
   lim = n/2;

   for(i = 1; i<=lim; i++)
      oddSum += mathFunc(a+(2*i-1)*h);    //sum of numbers, placed at odd number
   oddSum *= 4;    //odd sum are multiplied by 4

   for(i = 1; i<lim; i++)
      evenSum += mathFunc(a+(2*i)*h);    //sum of numbers, placed at even number
   evenSum *= 2;    //even sum are multiplied by 2
   res += oddSum+evenSum;
   res *= (h/3);
   return res;    //The result of integration
}

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. निश्चित समाकलन के लिए समलम्बाकार नियम

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

  1. एक श्रृंखला 1/1 का योग खोजने के लिए पायथन प्रोग्राम! + 2/2! + 3/3! + 4/4! +…….+ एन/एन!

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

  1. Windows 8.1/8 में USB डिवाइस नॉट रिकॉग्नाइज्ड एरर के लिए स्वयं करें इसे ठीक करें

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