luizaspan icon

Bisection method II

luizaspan | PRO | 08/28/15 07:38:04 PM UTC | 0 ⭐ | 702 👁️ | Never ⏰ | []
C |

550 B

|

None

|

0 👍

/

0 👎

#include <stdio.h>
#include <math.h>
// #include <assert.h>
 
#define pi M_PI
 
#define eps 1e-5
 
double bisec(double x)
{
    double f;
 
    f=exp(x)*(3.2*sin(x)-0.5*cos(x));
 
    return f;
}
 
int main(void)
{
    double a=0, b=3, c, y;
    int i;
 
    // assert(bisec(a)>0);
    // assert(bisec(b)>0);
 
    while (fmax(fabs(bisec(a)),fabs(bisec(b)))>eps) // b-a
    {
        c=(a+b)/2;
        y=bisec(c);
 
        if (y>0)
            a=c;
 
        else if (y<0)
            b=c;
 
        else if (y==0)
            break;
 
        i++;
    }
 
    printf("Raiz calculada: %e \nIterações = %d \n",c,i);
 
    return 0;
}

Comments