terça-feira, 26 de maio de 2015

Integração numérica utilizando a regra dos trapézios.




#include <stdio.h>

double f(double x);

int main()
{
  // Declaração de variáveis.
  int i;
  int n = 0;      // Número de partições.
  double a, b;    // Limites do intervalo de integração.
  double sum = 0; // Valor do integral.
  double h;
  double x;

  // Entrada de dados. 
  printf("Este programa calcula o integral de e^(-x^2) no intervalo [a,b]\n");

  printf("Introduza limite inferior a = ");
  scanf("%lf", &a);
  printf("Introduza limite superior b (b>a) = ");
  scanf("%lf", &b);
  printf("Introduza número de partições do intervalo (n>1) n = ");
  scanf("%d", &n);

  // Calcular dimensão de cada partição. 
  h = (b - a) / (n - 1);
  
  // Inicializar x.
  x = a;
 
  // Ciclo de cálculo.
  for (i = 1; i <= n - 1; i++)
  {
    sum = sum + f(x) + f(x + h);
    x = x + h;
  }
  sum = sum * h / 2;
 
  // Escrita do resultado.
  printf("O resultado da soma e': %lf\n", sum);
 
  return 0;
} // end main()
 
//
// Função a integrar.
//
double f(double x)
{
  return 1.0 / exp(x * x);
} // end f()
 

Nenhum comentário:

Postar um comentário