ในบทช่วยสอนนี้ เราจะพูดถึงโปรแกรมเพื่อค้นหารากของสมการโดยใช้วิธีซีแคนต์
สำหรับสิ่งนี้เราจะได้รับสมการ งานของเราคือการหารากของสมการนั้นโดยใช้วิธีการวนซ้ำแบบซีแคนต์
ตัวอย่าง
#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