Resolução de integral numérica – Método do trapézio composto

       Quando começamos a aprender integrais, a primeira noção, que equivale a uma integral é primitivar uma função. Porém a integral pode nos dar mais que uma primitiva de uma função, pode nos dar também valores relacionados a gráficos e figuras geométricas. 
         A ­­­integração aparece com freqüência na solução de problemas e no calculo de grandezas da engenharia e na ciência. Integrais e a operação de integração também são usadas na solução de equações diferenciais.
            A integração numérica baseia-se em estimar o numero de I(f) correspondente à integral de uma função f(x) entre os limites a e b. Porém quando temos um intervalo muito grande também teremos um erro muito grande associado a essa resolução. Mas para minimizar esses erros dividimos esse grande intervalo em pequenos intervalo fazendo a integral de cada subintervalos e somando-os.  Assim analisando uma representação de uma função no plano cartesiano, o valor da integral seria a área abaixo da função.

Figura 1: ilustração de uma integral definida
            Porém quando se tem experimento no qual temos apenas valores experimentais ou então a integração analítica é de difícil resolução, utilizamos então a integração numérica. A integração numérica utiliza vários métodos que facilita a resolução de problemas. Temos os métodos abertos e fechados.
            No método fechado, utiliza-se os pontos finais do intervalo na fórmula que estima o valor da integral. Os métodos que são considerados fechados são: o método trapezoidal e o método de Simpson. Já no método aberto esse intervalo de integração se estender além dos limites determinados, o método do ponto central e o método da quadratura de Gauss são considerados métodos abertos. Essa publicação tem como foco a explicação do método trapezoidal.
Método trapezoidal composto:
            Esse método consiste em resolver uma integral definida dividindo-a em varias partições. Partindo desse pré-suposto temos então que, uma integral definida no intervalo de a até b, dividimos ela em N subintervalos com a definição dos pontos x1, x2, x3, x4, ..., xN+1. Onde x1=a e xN+1=b. Para obter N intervalos tem que ter N+1 pontos.
           


Figura 2: Divisão de N intervalos para o método do trapézio composto.
            Tomando com base a figura 2 tem que, é uma função limitada pelo intervalo [a, b], onde a=x0 e b=x4. Nota-se que, esse intervalo foi dividido em 5 pontos formando assim 4 subintervalos.
            A integral então será:
Nota-se que cada subintervalo pode ser visualizado como um trapézio. A área de um trapézio é dada por [Base(maior)+Base(menor)*h]/2. Considerando que h=(x1-x0) e as Bases= f(x0) e f(x1). A integral do subintervalo [x0,x1] é dada por [(f(x0)+f(x1))/2]*[x1-x0].
            Analisando o conjunto de integrais (1) pode-se então reescrever como sendo:
            A equação (2) é a fórmula geral para o método trapezoidal composto. Para esse caso não necessariamente os subintervalos devem ser de espaçamentos idênticos. Porém quando se tem subintervalos com espaçamentos idênticos a equação (2) pode ser simplificada para:
                                 
              Para trabalhar com esse método no MATLAB, o ideal será criar uma sub-rotina, a qual tem como finalidade facilitar a montagem do programa que se quer utilizar.
            Usando o MATLAB para resolução de integral pelo método do trapézio composto temos que fazer primeiro uma sub-rotina, a qual esta a parte que irá fazer os cálculos.
function I = trapezio(f,a,b,n)
h =(b-a)/n; % determina o incremento para n subintervalos
x=a; % define o primeiro ponto
y=eval(f); % avalia a função para o primeiro ponto
I = h/2 * y; % inicializa a soma para o primeiro ponto
for i=1:(n-1); % para os restantes pontos até n-1:
 x = a + h*i; % calcula o ponto seguinte
 y = eval(f); % avalia a função neste ponto
 I = I + h*y; % incrementa a soma
end
x=b; % define o último ponto
y=eval(f); % avalia a função para o último ponto
I =I + h/2 * y; % adiciona o último termo à soma

Depois de ter feito a sub-rotina:
%esse programa tem como objetivo resolver integrais
%a partir do metodo do trapezio usando a sub-rotina trapezio

fun=input('Introduza a função (como string): '); %comando para introduzir
%a função
disp('Introduza o intervalo para x:'); %comando para adcionar os intervalos
a=input('a='); b=input('b='); %adicionar os intervalos a e b
n=input('Introduza o número de subintervalos: '); %adicionar a quantidade de subintervalo N
I=trapezio(fun,a,b,n);
disp('O valor aproximado da integral: '), disp(I);


            Pronto, o programa está pronto. Basta rodar e introduzir as informações na tela de comando que obterá o valor aproximado da função integrada em determinado intervalo. 

Clique aqui para ter acesso aos códigos!

Comentários

Postagens mais visitadas deste blog

Diferenciação Numérica

Resolução numérica de EDOs de 2ª ordem - Método do tiro

Otimização Numérica