Вы находитесь на странице: 1из 7

Universidade Federal do Rio Grande do Norte Departamento de Fsica Terica e Experimental Disciplina: Fsica Computacional I Professor: Cludio Moiss

Santos e Silva Segunda avaliao

Aluno: Abner Carlos Costa de Melo

Introduo
Em situaes onde os mtodos analticos no so capazes de resolver integrais complexas, surge a necessidade de encontrar mtodos alternativos para suas solues, neste trabalho analisaremos dois mtodos de integrao de funes definidas, aplicado na computao.

Mtodo do Trapzio
Este mtodo baseia-se no calculo da rea a baixo da curva da funo, dentro do intervalo definido, utilizando a aproximao por trapzio: Mtodo Trapzio Simples: ( )

( ( )

( ))

Mtodo Trapzio Composto:

( (

))

)))

Mtodo do 1/3 de Simpson


Este mtodo baseia-se no calculo da rea a baixo da curva da funo, dentro do intervalo definido, utilizando a aproximao por polinmio de grau 2: Mtodo Simpson Simples:

( )

( ( )

( ))

Mtodo Simpson Composto: ( ( ( )) ( ( )) ( ( ) ( )))

Simulao
Os mtodos foram testados utilizando linguagem Fortran, o cdigo fonte encontrasse no final do documento, tambm estando anexado no arquivo zipado, junto com as tabelas .dat e e imagem do grfico. A funo utilizada foi retirada do livro texto Algoritmos Numricos de Frederico Ferreira Campos, na pagina 119, exemplo 5.7. ( )

Grfico
Linha Rosa -> Trapezio Composto (Converge para I= 14.170925) Linha Azul -> Trapezio Simples (No depende de m, I= 37.049583) Linha Vermelha -> 1/3 Simpson Composto (Converge para I= 14.158171) Linha Verde -> 1/3 Simpson Simples (No depende de m, I= 16.115900) Eixo Horizontal -> Numero de repetioes m das somatorias. Eixo Vertical -> Valor da Integral.

Conclusoes
Analisando o grafico, notase que entre os metodos simples, o Trapezio o que apresenta um maior desvio do valor exato da integral, no sendo um metodo recomendado, j o 1/3 Simpson, mesmo com uma diferena significativa, ainda apresenta um resultado muito superior ao do Trapezio, sendo recomendado apenas, quando no ouver, um uma maquina para execultar os loops. Entre os metodos Compostos, o 1/3 Simpson apresenta uma maior convergencia para o valor final com menos repetioes, o que acarreta na diminuio do loop, necessrio para alcanar o valor mais aproximado da integral exata, aumentando a eficiencia do programa, mas quando o numero de repetioes grande(m>>30), os dois metodos convergem para o mesmo ponto, diminuindo a diferena entre os metodos.

Cdigo Fonte
O programa esta organizado em funes, que melhoram o entendimento do programa, e a sua execuo, as funes simples so reutilizadas nas compostas.

PROGRAM Integral IMPLICIT NONE INTEGER m,nm,z,in REAL a,b,d

!DEFINIO DOS PARAMETOS !Intervalo a <-> b : a=0.0 b=3.0 !Numero de medidas maximo M: m=50 !Numero de pontos para variar M: nm=50

!Criando arquivos .dat para salvar tabela OPEN(17,FILE='Int_tra_s.dat') OPEN(18,FILE='Int_tra_c.dat') OPEN(19,FILE='Int_sim_s.dat') OPEN(20,FILE='Int_sim_c.dat')

!Loop principal do programa para variar M e ver a convergencia !dos metodos DO z=1,nm,1 in=((m/nm)*(z))

!Trapezio Simples WRITE(17,*)in,trapezio(a,b)

!Trapezio Composto WRITE(18,*)in,trapezioc(a,b,in)

!Simpson Simples WRITE(19,*)in,simpson(a,b)

!Simpson Composto WRITE(20,*)in,simpsonc(a,b,in) END DO close (17) close (18) close (19) close (20)

PRINT *,'Os dados esto salvos na pasta raiz!'

CONTAINS

!Aqui construida a funo que se deseja integra !Para Integra outras funoes basta construir aqui: FUNCTION f(x) IMPLICIT NONE REAL :: f REAL x,divisor,dividendo dividendo=(EXP(2*x))*x

divisor=(1+(2*x))**2 f=dividendo/divisor RETURN END FUNCTION f

!Esta funo executa o metodo de 1/3 SIMPSON SIMPLES FUNCTION simpson(a,b) IMPLICIT NONE REAL :: simpson REAL a,b simpson=(b-a)*(f(a)+(4*f(a+((b-a)/2)))+f(b))/6 RETURN END FUNCTION simpson

!Esta funo Executa o metodo de 1/3 SIMPSON COMPOSTO FUNCTION simpsonc(ini,fim,n) IMPLICIT NONE REAL :: simpsonc INTEGER n,i REAL ini,fim,h simpsonc=0.0 h=(fim-ini)/n DO i=1,n,1 simpsonc=simpsonc+simpson(ini+(h*(i-1)),ini+(h*i)) END DO RETURN END FUNCTION simpsonc

!Esta funo Executa o metodo de TRAPEZIO SIMPLES FUNCTION trapezio(a,b) IMPLICIT NONE REAL :: trapezio REAL a,b trapezio=(b-a)*(f(a)+f(b))/2 RETURN END FUNCTION trapezio

!Esta funo Executa o metodo de TRAPEZIO COMPOSTO FUNCTION trapezioc(ini,fim,n) IMPLICIT NONE REAL :: trapezioc INTEGER n,i REAL ini,fim,h trapezioc=0.0 h=(fim-ini)/n DO i=1,n,1 trapezioc=trapezioc+trapezio(ini+(h*(i-1)),ini+(h*i)) END DO RETURN END FUNCTION trapezioc

END PROGRAM Integral

Вам также может понравиться