/* * SECANT ALGORITHM 2.4 * * To find a solution to the equation f(x) = 0 * given initial approximations p0 and p1: * * INPUT: initial approximation p0, p1; tolerance TOL; * maximum number of iterations N0. * * OUTPUT: approximate solution p or * a message that the algorithm fails. * */ #include #include #include #include #define true 1 #define false 0 #define PI 3.1415926535897932384626433832795 static double F(double); static void OUTPUT(int *); using namespace std; int main() { double P0,F0,P1,F1,P,FP,TOL; int I,NO,OK,FLAG; OK = true; P0 = 1.0; P1 = 2.0; TOL = 1.0e-10; NO = 200; OUTPUT(&FLAG); /* STEP 1 */ I = 2; F0 = F(P0); F1 = F(P1); OK = true; /* STEP 2 */ while ((I<=NO) && true == OK) { /* STEP 3 */ /* compute P(I) */ P = P1 - F1 * (P1 - P0) / (F1 - F0); /* STEP 4 */ FP = F(P); if (FLAG == 2) cout<