integração numérica
%* MatLab : Implementação de integração numérica através do método da
%* quadratura adaptativa
%************************************************************************
%* Função recursiva [r t] = quAdap(f,a,b,m,e), que calcula, através do
%* método da quadratura adaptativa, a integração numérica de f nesse
%* intervalo com erro máximo e.
%* O parâmetro m é um valor inteiro no intervalo [1,4] que especifica o
%* método a ser utilizado em toda a integração:
%* m = 1: Regra simples do trapézio
%* m = 2: Regra simples Simpson 1/3
%* m = 3: Regra simples Simpson 3/8
%* m = 4: Newton-Cotes de ordem 4
%* Conforme o valor de m, será preciso utilizar apenas uma das 4 funções
%* de cálculo, que encontram o valor da integral no intervalo [x1,x2]:
%* integ = trap(f,x1,x2) // Trapézio
%* integ = simp13(f,x1,x2) // Simpson 1/3
%* integ = simp38(f,x1,x2) // Simpson 3/8
%* integ = nc4(f,x1,x2) // Newton-Cotes de ordem 4
%* Obs: Estas quatro funçoes estão neste mesmo arquivo que a quAdap.
%* A função quAdap deverá retornar dois valores: r, que é o resultado da
%* integração, e t, que é o número de chamadas recursivas realizadas.
%* Como as funções de cálculo gastam tempo constante, t é uma estimativa
%* do tempo total gasto. O calculo da integral composta é feito com mais
%* de uma chamada da função que calcula a integral, cada chamada usa uma
%* fração do intervalo.
%************************************************************************
function [r t] = quAdap(f,a,b,m,e,cont) chamadas = 1; % computa primeira chamada cont = cont + 1 format long; % aumenta digitos fracionarios if (m==1) % aplica a regra do trapezio x0=a;x1=b; % definição do intervalo h=x1-x0; % calculo da altura do trabezio Pi = trap(f,x0,x1); %