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

गैर-रैखिक समीकरण हल करने के लिए सेकेंट विधि


परिचय

सेकेंट विधि का उपयोग गैर-रैखिक समीकरणों को हल करने के लिए भी किया जाता है। यह विधि न्यूटन-रैफसन विधि के समान है, लेकिन यहाँ हमें फंक्शन f(x) का अवकलन ज्ञात करने की आवश्यकता नहीं है। केवल f(x) का उपयोग करके, हम न्यूटन के विभाजित अंतर सूत्र का उपयोग करके संख्यात्मक रूप से f'(x) ज्ञात कर सकते हैं।

न्यूटन-रैफसन सूत्र से, हम जानते हैं कि:

गैर-रैखिक समीकरण हल करने के लिए सेकेंट विधि

अब, विभाजित अंतर सूत्र का उपयोग करके, हमें मिलता है:

गैर-रैखिक समीकरण हल करने के लिए सेकेंट विधिगैर-रैखिक समीकरण हल करने के लिए सेकेंट विधिगैर-रैखिक समीकरण हल करने के लिए सेकेंट विधि

न्यूटन-रैफसन सूत्र के f'(x) को नए f'(x) से प्रतिस्थापित करके, हम गैर-रैखिक समीकरणों को हल करने के लिए सेकेंट सूत्र प्राप्त कर सकते हैं।

गैर-रैखिक समीकरण हल करने के लिए सेकेंट विधि

नोट: इस विधि के लिए, हमें गैर-रैखिक समीकरणों के मूल को खोजने के लिए कोई भी दो प्रारंभिक अनुमान चाहिए।

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

इनपुट: फंक्शन f(x) = (x*x) - (4*x) - 10
आउटपुट: मूल है: -1.74166

एल्गोरिदम

secant(x1, x2)
इनपुट: मूल के लिए दो प्रारंभिक अनुमान
आउटपुट: गैर-रैखिक समीकरण f(x) का सन्निकट मूल

Begin
    f1 := f(x1)
    f2 := f(x2)
    x3 := ((f2*x1) – (f1*x2)) / (f2 – f1)
    जब तक x3 और x2 की सापेक्ष त्रुटि > परिशुद्धता, करें
        x1 := x2
        f1 := f2
        x2 := x3
        f2 := f(x2)
        x3 := ((f2*x1) – (f1*x2)) / (f2 – f1)
    done
    root := x3
    root लौटाएं
End

उदाहरण (C++ कोड)

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

double absolute(double value) {
    // मान का परिमाण ज्ञात करने के लिए
    if (value < 0)
        return (-value);
    return value;
}

double f(double x) {
    // दिया गया फंक्शन x^2 - 4x - 10
    return ((x*x) - (4*x) - 10);
}

double secant(double x1, double x2) {
    double x3, root;
    double f1, f2;
    f1 = f(x1);
    f2 = f(x2);
    x3 = (f2*x1 - f1*x2) / (f2 - f1);
    while (absolute((x3 - x2) / x3) > 0.00001) {
        // x3 की सटीकता की जांच
        x1 = x2; // x मानों को शिफ्ट करें
        f1 = f2;
        x2 = x3;
        f2 = f(x2); // नया x2 खोजें
        x3 = (f2*x1 - f1*x2) / (f2 - f1); // x3 की गणना करें
    }
    root = x3;
    return root; // समीकरण का मूल
}

int main() {
    double a, b, res;
    a = 0.5;
    b = 0.75;
    res = secant(a, b);
    cout << "The root is: " << res;
}

आउटपुट

The root is: -1.74166
  1. - पायथन का उपयोग करके द्विघात समीकरण कैसे हल करें

    समस्या विवरण द्विघात समीकरण को पायथन का उपयोग करके हल करने के लिए आप cmath मॉड्यूल का उपयोग कर सकते हैं। ऐसा इसलिए है क्योंकि द्विघात समीकरण के मूल प्रकृति में जटिल हो सकते हैं। यदि आपके पास ax^2 + bx + c = 0 रूप का द्विघात समीकरण है, तो: उदाहरण import cmath a = 12 b = 8 c = 1 # विविक्तकर d = (b**2

  1. - रूबी के Array#zip में महारत: कुशल सरणी जोड़ी और तुलना

    मान लीजिए कि आप दो सरणियों की तुलना करना चाहते हैं, तत्व दर तत्व ताकि आप अंतर ढूंढ सकें। या शायद आप हर इंडेक्स पर सबसे बड़ी संख्या ढूंढना चाहते हैं, या आप केवल कुंजियों की सूची और मानों की सूची को मर्ज करके एक हैश बनाना चाहते हैं… …इसे करने का कठिन तरीका ऐसा कुछ दिखेगा। उदाहरण: a = [1,2,3,4,5] b =

  1. पीसी पर वारज़ोन लॉन्च न होने की समस्या ठीक करें: चरण-दर-चरण गाइड पीसी पर वारज़ोन लॉन्च न होने की समस्या ठीक करें: चरण-दर-चरण गाइड

    कॉल ऑफ ड्यूटी: वारज़ोन एक एक्शन-एडवेंचर गेम है जिसे दुनिया भर के लाखों लोगों द्वारा खेला जाता है। हालांकि, यह निराशाजनक हो जाता है जब आप पीसी पर वारज़ोन लॉन्च न होने की त्रुटि का सामना करते हैं। इस गाइड ने विभिन्न गेमिंग फ़ोरम से विशेषज्ञ-अनुशंसित विधियों को संकलित किया है ताकि आप इस एक लेख को संदर्