हालांकि, अभिन्न के मूल्य की गणना करने के लिएलगभग, एक उत्कृष्ट विधि है, जिसका नाम इसके निर्माता, सिम्पसन विधि के नाम पर रखा गया है। इसे पैराबॉलिक विधि भी कहा जाता है, क्योंकि यह पैराबोला के निर्माण का उपयोग करता है। यह आंकड़ा फ़ंक्शन के लिए जितना संभव हो उतना करीब बनाया गया है। दरअसल, चूंकि एक पैराबोला बनाना असंभव है, जिनके अंक वास्तव में कार्य के बिंदुओं के साथ मेल खाते हैं, अभिन्न अंग लगभग है। सीमाओं के साथ इसे खोजने के लिए सूत्र ए और बी इस तरह दिखता है: 1 / एच * (वाई0+ 4y1+ 2y2+ 4y3+ ... + 4yn-1+ वाईn)। यहां हमें केवल 0 से n तक प्रत्येक y की गणना करने की आवश्यकता है, जहां n स्वयं द्वारा निर्धारित किया जाता है - अधिक, बेहतर, क्योंकि अधिक वाई-एस, हमें प्राप्त होने वाले वास्तविक मूल्य के करीब। एच के लिए, इस चरण की गणना निम्न सूत्र द्वारा की जाती है: (बी-ए) / (एन -1)।

सिम्पो उदाहरण

सिद्धांत रूप में, सब कुछ काफी सरल है, लेकिन यह होना होगाअभ्यास में यह सब समझने के लिए। कई प्रोग्रामर के लिए, सिम्पसन-पास्कल या डेल्फी विधि जैसी समस्या को हल करने का कोई बेहतर तरीका नहीं है। इस माहौल में, आप न केवल अभिन्न की गणना कर सकते हैं, बल्कि इसके लिए एक फ़ंक्शन ग्राफ़ और यहां तक ​​कि एक ट्रैपेज़ियम भी बना सकते हैं। इसलिए, हम यह समझ लेंगे कि सिम्पसन विधि को त्वरित रूप से कैसे कार्यान्वित किया जाए और, यदि वांछित है, तो यहां तक ​​कि समझाएं कि यहां रुचि रखने वाले लोगों के लिए यहां और किस प्रकार व्यवस्थित किया गया है।

लेकिन इससे पहले, याद रखें कि अभिन्न दिखता है। यह एक ऐसा आंकड़ा है जो एक्स-अक्ष पर शुरू होने वाली रेखाओं से घिरा हुआ है, यानी, ए और बी।

सिम्पसन विधि

तो, शुरू करने के लिए, आपको एक बनाने की जरूरत हैएक अभिन्न समारोह (टॉटोलॉजी के लिए खेद है) के लिए फ़ंक्शन, जिसमें आपको केवल f: = लिखना होगा और फिर हमें इसके लिए अभिन्न अंग मिल जाएगा। यहां पास्कल में फ़ंक्शन दर्ज करने में गलती न करना बेहद महत्वपूर्ण है। लेकिन बातचीत के लिए यह एक अलग विषय है। परिणामी कोड इस तरह कुछ दिखाई देगा:

समारोह एफ (एक्स: असली): असली;

और समारोह का मुख्य पाठ

शुरू करना

एफ: = 25 * एलएन (एक्स) + पाप (10); {वह जगह है जहां आपको अपने फ़ंक्शन की सामग्री लिखनी होगी}

अंत;

इसके बाद, हम सिम्पसन विधि के कार्यान्वयन के लिए एक समारोह लिखते हैं। शुरुआत इस तरह कुछ होगी:

फ़ंक्शन सिम्पसनमोड (ए, बी: असली; एन: पूर्णांक): असली;

इसके बाद, चर घोषित करें:

वर

एस: असली; {इंटरमीडिएट राशियों (आगे समझें)}

एच: असली; {} चरण

मेरा: पूर्णांक; {बस एक काउंटर}

mno: पूर्णांक; {नियमित गुणक}

और अब, वास्तव में, कार्यक्रम स्वयं:

शुरू करना

एच: = (बी-ए) / (एन -1); {हम मानक सूत्र द्वारा चरण की गणना करते हैं। कभी-कभी कार्य में एक कदम लिखा जाता है, इस मामले में यह सूत्र लागू नहीं होता है}

एस: = एफ (बी) + एफ (ए); {प्रारंभिक चरण मान सेट करें}

mno: = 4; {फॉर्मूला याद रखें - 1 / एच * (वाई0+ 4y1 ... यहां यह 4 यहां लिखा गया है, दूसरा गुणक 2 होगा, लेकिन इस पर अधिक}

अब मूल सूत्र है:

मेरे लिए: = 1 से एन -2 शुरू करें

एस: = एस + एमएनओ * एफ (ए + एच * एमयू); {योग के लिए हम अगले कारक को 4 * y से गुणा करते हैंn या 2 * वाईn }

अगर (mno = 4) तो mno: = 2 else mno: = 4; {यहां गुणक भी बदलता है - यदि यह अब 4 है, तो यह 2 में बदल जाता है और इसके विपरीत}

अंत;

simpsonmetod: = एस * एच / 3; {अगला, परिणामस्वरूप योग सूत्र के अनुसार एच / 3 द्वारा गुणा किया जाता है}

अंत।

यह सब कुछ है - हम फार्मूला के अनुसार सभी कार्यों को करते हैं। यदि आपने अभी तक यह पता नहीं लगाया है कि मुख्य कार्यक्रम में सिम्पसन विधि को कैसे लागू किया जाए, तो उदाहरण आपकी मदद करेगा।

तो हम लिखने वाले सभी कार्यों को लिखने के बाद

शुरू करना

एन: = 3; {सेट एन}

क्यू: = सिम्पसनमोड (ए, बी, एन); {चूंकि सिम्पसन की विधि ए से बी तक अभिन्न की गणना करना है, इसलिए कई गणना कदम होंगे, इसलिए हम चक्र को व्यवस्थित करते हैं}

दोहराना

q2: = q; {पिछले चरण को याद किया जाता है}

एन: = एन + 2;

क्यू: = सिम्पसनमोड (ए, बी, एन); {और अगला मान गणना की जाती है}

जब तक (abs (q-q2) <0.001); {नौकरी की शुद्धता लिखी जाती है, इसलिए जब तक आवश्यक सटीकता प्राप्त नहीं हो जाती है, आपको उसी क्रिया को दोहराना होगा}

सिम्पसन पास्कल विधि

यही वह है - सिम्पसन की विधि। वास्तव में, कुछ भी जटिल नहीं है, सब कुछ बहुत जल्दी लिखा है! अब अपना टर्बो पास्कल खोलें और प्रोग्राम लिखना शुरू करें।

</ p>