Bisection Method using C Language
Bisection method is a method to find the roots of a equation that applies to any continuous functions for which one knows two values with opposite signs. Now we will find the roots of the equation by using Bisection Method using C Language.
Let’s take a example of equation to find the roots using Bisection method :-
x3-2x-5=0
C program to find the roots of the equation by using Bisection Method :-
/* Exp.No 1: Bisection Method (Finding the roots of given Equ.) */ #include<stdio.h> #include<conio.h> #include<math.h> #define f(x) pow(x,3)-2*x-5.0 int main() { float x0,x1,x2, y0,y1,y2, e; printf("Enter two initial starting roots \n"); scanf("%f%f",&x0,&x1); printf("Enter the tolerance value \n"); scanf("%f",&e); y0 = f(x0); y1 = f(x1); if (y0*y1 > 0.0) { printf("Initial values are unsuitable \n"); } else { while((fabs(x1-x0)/x1) > e) { x2 = (x0 + x1)/2.0; y2 = f(x2); if (y0*y2 > 0.0) x0 = x2; else x1 = x2; } printf("\noutput: \n\n"); printf("Solution converges to a root \n\n"); printf("Root of the given equation is = %8.3f\n", x2); } return 0; }
OUTPUT :-
Enter two initial starting roots 2 3 Enter the tolerance value .0001 output: Solution converges to a root Root of the given equation is = 2.095