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

अवकल समीकरण के लिए रंज-कुट्टा चौथा क्रम नियम


रंग कुट्टा विधि का प्रयोग साधारण अवकल समीकरणों (ODE) को हल करने के लिए किया जाता है। यह x और y के लिए dy/dx फ़ंक्शन का उपयोग करता है, और y के प्रारंभिक मान की भी आवश्यकता होती है, अर्थात y(0)। यह दिए गए x के लिए y का अनुमानित मान ज्ञात करता है। ODE को हल करने के लिए, हमें इन सूत्रों का पालन करना होगा:

अवकल समीकरण के लिए रंज-कुट्टा चौथा क्रम नियम

यहां h अंतराल की ऊंचाई है।

नोट: इन फ़ार्मुलों से, हम पहले दो k1 और k2 का उपयोग कर सकते हैं, ODE के लिए रनगे-कुट्टा 2nd ऑर्डर समाधान ढूंढ सकते हैं।

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

Input:
The x0 and f(x0): 0 and 0
the value of x = 0.4
the value of h = 0.1
Output:
Answer of differential equation: 0.0213594

एल्गोरिदम

rungeKutta(x0, y0, x, h)

इनपुट − प्रारंभिक x और y मान, लक्षित x मान और अंतराल h की ऊँचाई।

>आउटपुट - मान x के लिए y का मान।

Begin
   iteration := (x – x0)/h
   y = y0
   for i := 1 to iteration, do
      k1 := h*f(x0, y)
      k2 := h*f((x0 + h/2), (y + k1/2))
      k3 := h*f((x0 + h/2), (y + k2/2))
      k4 := h*f((x0 + h), (y + k3))
      y := y + (1/6)*(k1 + 2k2 + 2k3 + k4)
      x0 := x0 + h
   done
   return y
End

उदाहरण

#include <iostream>
using namespace std;

double diffOfy(double x, double y) {
   return ((x*x)+(y*y)); //function x^2 + y^2
}

double rk4thOrder(double x0, double y0, double x, double h) {
   int iteration = int((x - x0)/h);    //calculate number of iterations
   double k1, k2, k3, k4;
   double y = y0;    //initially y is f(x0)

   for(int i = 1; i<=iteration; i++) {
      k1 = h*diffOfy(x0, y);
      k2 = h*diffOfy((x0+h/2), (y+k1/2));
      k3 = h*diffOfy((x0+h/2), (y+k2/2));
      k4 = h*diffOfy((x0+h), (y+k3));
         
      y += double((1.0/6.0)*(k1+2*k2+2*k3+k4));    //update y using del y
      x0 += h;    //update x0 by h
   }
   return y;    //f(x) value
}

int main() {
   double x0, y0, x, h;
   cout << "Enter x0 and f(x0): "; cin >> x0 >> y0;
   cout << "Enter x: "; cin >> x;
   cout << "Enter h: "; cin >> h;
   cout << "Answer of differential equation: " << rk4thOrder(x0, y0, x, h);
}

आउटपुट

Enter x0 and f(x0): 0 0
Enter x: 0.4
Enter h: 0.1
Answer of differential equation: 0.0213594

  1. निश्चित समाकलन के लिए समलम्बाकार नियम

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

  1. Windows 10 के लिए OneNote में एक समीकरण को कैसे ग्राफ़ करें?

    पिछली गर्मियों में Microsoft ने Windows 10 OneNote ऐप . के लिए एक दिलचस्प विशेषता शुरू की थी - गणित सहायक। इस फीचर ने ऐप की उपयोगिता को बढ़ाया जो मुख्य रूप से नोट्स बनाने के लिए इस्तेमाल किया गया था। इस फीचर की खास बात यह थी कि यह यूजर्स को हाथ से एक इक्वेशन लिखने देता था और एप को कन्वर्ट करने देता

  1. रेडिस लगातार चौथे वर्ष सबसे पसंदीदा डेटाबेस है

    3-पीट से बेहतर क्या है? लगातार चार वर्षों तक सर्वाधिक पसंदीदा डेटाबेस नामित किया जा रहा है! स्टैक ओवरफ्लो का वार्षिक डेवलपर सर्वेक्षण कोडिंग समुदाय की नब्ज को उनकी सबसे अधिक पसंद की जाने वाली, सबसे अधिक वांछित और सबसे खूंखार तकनीकों पर ले जाता है। 65,000 से अधिक डेवलपर्स ने प्रतिक्रिया दी, इस वर्ष