Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

โปรแกรมหารากของสมการโดยใช้วิธีซีแคนต์ใน C++


ในบทช่วยสอนนี้ เราจะพูดถึงโปรแกรมเพื่อค้นหารากของสมการโดยใช้วิธีซีแคนต์

สำหรับสิ่งนี้เราจะได้รับสมการ งานของเราคือการหารากของสมการนั้นโดยใช้วิธีการวนซ้ำแบบซีแคนต์

ตัวอย่าง

#include <bits/stdc++.h>
using namespace std;
float f(float x) {
   float f = pow(x, 3) + x - 1;
   return f;
}
void secant(float x1, float x2, float E) {
   float n = 0, xm, x0, c;
   if (f(x1) * f(x2) < 0) {
      do {
         //calculating the intermediate value
         x0 = (x1 * f(x2) - x2 * f(x1)) / (f(x2) - f(x1));
         c = f(x1) * f(x0);
         x1 = x2;
         x2 = x0;
         n++;
         if (c == 0)
         break;
         xm = (x1 * f(x2) - x2 * f(x1)) / (f(x2) - f(x1));
      } while (fabs(xm - x0) >= E);
      cout << "Root of the given equation=" << x0 << endl;
      cout << "No. of iterations = " << n << endl;
   } else
   cout << "Can not find a root in the given inteval";
}
int main() {
   // initializing the values
   float x1 = 0, x2 = 1, E = 0.0001;
   secant(x1, x2, E);
   return 0;
}

ผลลัพธ์

Root of the given equation=0.682326
No. of iterations = 5