luizaspan icon

Integral IV (método de Simpson - Variando N)

luizaspan | PRO | 09/30/15 08:43:02 PM UTC | 0 ⭐ | 747 👁️ | Never ⏰ | []
C |

510 B

|

None

|

0 👍

/

0 👎

#include <stdio.h>
#include <math.h>
 
double f(double x)
{
    return 1/x;
}
 
int main(void)
{
    int i, N;
 
    for(N = 1; N < 1e7; N*=2)
    {
        double a=0.1, h=(1.0-a)/N, soma=0.0f; // Importante zerar soma!
 
        for (i=1;i<=N-1;i+=2)
        {
            double x1,x2,x3; // ou definir apenas x=a+h*i e em x1 -> x-h, x2 -> x+h
            x1=a+h*(i-1);
            x2=a+h*(i);
            x3=a+h*(i+1);
 
            soma += (1./3)*h*(f(x1)+4*f(x2)+f(x3));
        }
 
        double e = fabs((-log(a)-soma)/-log(a));
 
        printf("%d %e\n", N, e);
    }
 
    return 0;
}

Comments