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

अरैखिक समीकरण को हल करने की सिकेन्ट विधि


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

हम जानते हैं कि,

अरैखिक समीकरण को हल करने की सिकेन्ट विधि

अब, डिवाइड डिफरेंस फॉर्मूला का उपयोग करते हुए, हम प्राप्त करते हैं,

अरैखिक समीकरण को हल करने की सिकेन्ट विधि अरैखिक समीकरण को हल करने की सिकेन्ट विधि अरैखिक समीकरण को हल करने की सिकेन्ट विधि

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

अरैखिक समीकरण को हल करने की सिकेन्ट विधि

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

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

Input:
The function f(x) = (x*x) - (4*x) - 10
Output:
The root is: -1.74166

एल्गोरिदम

secant(x1, x2)

इनपुट: रूट के लिए दो प्रारंभिक अनुमान।

आउटपुट: एक गैर-रैखिक समीकरण f(x) की अनुमानित जड़।

Begin
   f1 := f(x1)
   f2 := f(x2)
   x3 := ((f2*x1) – (f1*x2)) / (f2 – f1)
   while relative error of x3 and x2 are > precision, do
      x1 := x2
      f1 := f2
      x2 := x3
      f2 := f(x2)
      x3 := ((f2*x1) – (f1*x2)) / (f2 – f1)
   done
   root := x3
   return root
End

उदाहरण

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

double absolute(double value) {             //to find magnitude of value
   if(value < 0)
      return (-value);
   return value;
}

double f(double x) {              //the given function 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) {         //test accuracy of x3
      x1 = x2;           //shift x values
      f1 = f2;
      x2 = x3;
      f2 = f(x2);                 //find new x2
      x3 = (f2*x1-f1*x2)/(f2-f1);          //calculate x3
   }

   root = x3;
   return root;              //root of the equation
}

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 के रूप का द्विघात समीकरण है, तो, उदाहरण cmath आयात करें a = 12 b = 8 c = 1 # Discriminent d = (b**2)

  1. ऐरे#ज़िप विधि

    मान लें कि आप दो सरणियों की तुलना करना चाहते हैं, तत्व दर तत्व ताकि आप अंतर ढूंढ सकें। या हो सकता है कि आप प्रत्येक अनुक्रमणिका पर सबसे बड़ी संख्या खोजना चाहते हों, या आप हैश बनाने के लिए केवल कुंजियों की सूची और मानों की सूची को मर्ज करना चाहते हैं… ...ऐसा करने का कठिन तरीका कुछ इस तरह दिखाई देगा

  1. पीसी पर वारज़ोन लॉन्च न होने का समाधान कैसे करें

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