#include <stdio.h>
#include <math.h>
#define N 1000 // número de "retângulos"
double f(double x)
{
return 1/x; // função a ser integrada
}
int main(void)
{
int i;
double h,soma=0.0f; // importante zerar soma!!
h=(1.0-0.1)/N; // vendo pelos limites de integração
for (i=0;i<N;i++)
{
double x = 0.1 + h*i;
soma += h*f(x);
}
double e = fabs((-log(0.1)-soma)/-log(0.1)); // erro da integração - comparando com o valor real da função integrada
printf("Valor calculado: %.15e \nValor real: %.15e \n",soma,-log(0.1));
printf("Erro: %e % \n",e*100);
return 0;
}
// I(a,b) = h*sum_i ( f(x_i) )
// erro = h/2 * [f(b)-f(a)]
// erro ~ 1/N
Comments