Você está na página 1de 3

Análise Numérica – MATLAB - Integração - DEC

Integração

Regra dos Trapézios


Ficheiro trapez.m

[INT,h]=trapez(f,a,b,n,kt) Regra dos trapezios composta


Calcula em INT o integral de f em [a,b] usando n+1 pontos
equidistantes de h.
kt - parametro opcional. Se for igual a 1 escreve a tabela com os
resultados parciais.
EXEMPLO:
[INT,h]=trapez('x/5-sin(x)',1,2,6,1)

Ficheiro trapeztab.m

INT=trapeztab(y,h) Regra de Trapezios composta


Calcula em INT o integral da funçao definida por uma tabela (x,y).
Considera que os pontos x ( nao dados) estao equidistantes de h.

EXEMPLO:
y=[-0.641471;-0.698985;-0.697495;-0.633986;-0.509297];
INT=trapeztab(y,0.25)

Regra de Simpson
Ficheiro simpson.m

[INT,h]=simpson(f,a,b,n,kt) Regra de Simpson composta


Calcula em INT o integral de f em [a,b] usando n+1 pontos
equidistantes de h.
NOTA: n tem que ser par
kt - parametro opcional. Se for igual a 1 escreve a tabela com os
resultados parciais.
EXEMPLO:
[INT,h]=simpson('x/5-sin(x)',1,2,6,1)
Análise Numérica – MATLAB - Integração - DEC

Ficheiro simpsontab.m

INT=simpsontab(y,h) Regra de Simpson composta


Calcula em INT o integral da funçao definida por uma tabela (x,y).
Considera que os pontos x ( nao dados) estao equidistantes de h.
NOTA: o numero de pontos (em y) tem que ser impar

EXEMPLO:
y=[-0.641471;-0.698985;-0.697495;-0.633986;-0.509297];
INT=simpsontab(y,0.25)

Quadratura Gaussiana
Ficheiro gauss_quad.m

INT=gauss_quad(f,a,b,n,kt) Quadratura de Gauss-Legendre


Calcula em INT o integral de f em [a,b] usando um polinomio de
grau n-1.
n-numero de pontos (1<n<6)
kt - parametro opcional. Se for igual a 1 escreve a tabela com os
resultados parciais.
EXEMPLO:
INT=gauss_quad('x/5-sin(x)',1,2,3,1)
Análise Numérica – MATLAB - Integração - DEC

Funções Matlab (ver help)


Ficheiro quad.m
[q,fcnt]=quad(fun,a,b,tol,trace,p1,p2,...)
( usa a fórmula adaptativa de Simpson)
q - valor da quadratura;
fcnt – número de vezes que a função é calculada. (opcional);
fun – função a integrar. Pode ser dada como string, inline ou @fich.m . Função de x que
pode ser vector, usar ".operação";
a e b – limites de integração;
tol – tolerância (opcional, por defeito 1.e-6);
trace – se for ≠ 0, escreve resultados parciais, [fcnt,a,(b-a),q];
p1,p2,... – parâmetros possíveis de fun (x,p1,p2,...).
NOTA:Se precisar de definir algum parâmetro sem definir o anterior usar[](matriz vazia)
Exemplo:
>> [Q,n] = quad('1./(x.^3-2*x-5)',0,2,1.e-3,1)

Ficheiro trapz.m
Z = trapz(Y)- considera que os xi estão espaçados de 1 unidade. Trabalha Y por colunas.
Z = trapz(X,Y)
Z = trapz(...,dim)
π
O valor exacto de ∫ sen x dx é 2.
0
Para obter o valor aproximado do integral pela regra dos trapézios, usando pontos
equidistantes, fazer:
X = 0:pi/100:pi;
Y = sin(x);
Então ambos os casos:
• Z = trapz(X,Y)
• Z = pi/100*trapz(Y)
dão como resultado
Z=
1.9998

Você também pode gostar