Integração numérica utilizando a regra dos trapezios
A regra dos trapézios é uma técnica para a a realização de integração numérica de funções matemáticas num dado intervalo [a,b]. Esta técnica permite obter uma estimativa da área delimitada pela curva de uma função f(x) num determinado intervalo, utilizando como aproximação um conjunto de trapézios. A estimativa é obtida dividindo o intervalo [a,b] em sub-intervalos delimitados por pontos x(i) tais que a partição P obtida é: P = {a = x(1) < x(2) < x(3) < ... < x(n) = b} Em cada um dos sub-intervalos podemos obter um valor aproximado da área utilizando a regra dos trapézios. Cada trapézio possui o intervalo [x(i),x(i+1)] como base e dois lados verticais de dimensões f(x(i)) e f(x(i+1)). A área correspondente a cada trapézio é igual à base vezes a altura média, ou seja: A(i) = 1/2 * (x(i+1) - x(i)) * (f(x(i)) + f(x(i+1))) A área total dos trapézios definidos pela partição é: T(f,P) = Somatório[A(i)] {i=1, ..., n-1} Admitindo um espaçamento uniforme entre todos os x(i), isto é, se h = (x(i+1)-x(i)) for constante temos que: h = (b-a)/n-1 e portanto x(i) = a + h*(i-1) Neste caso a área total pode ser rescrita como: T(f,P)= 1/2 * h * Somatório[f(x(i)+f(x(i+1))] {i=1, ..., n-1}
//
// Descrição:
// Integração numérica utilizando a regra dos trapézios.
//
// Autor:
// CJL
//
// Revisões:
// 21/03/2004 - Criação.
//
#include
#include
using namespace std;
double f(double x);
int main()
{
// Declaração de variáveis. int n = 0; // Número de partições. double a, b; // Limites do intervalo de integração. double sum = 0; // Valor do integral.
// Entrada de dados. cout > b; cout > n;
// Calcular dimensão de cada partição. double h = (b - a) / (n - 1);
// Inicializar x. double x = a;
// Ciclo de cálculo. for (int i = 1;