Vous êtes sur la page 1sur 12

Universidade Federal de Alagoas Centro de Tecnologia - CTEC Curso de Engenharia Qumica

EDUARDO JORGE BORGES TENRIO DE LIMA JNIOR


LEANDRO BARRETO CAVALCANTE

SOLUO DE EQUAES ALGBRICAS

DISCIPLINA: MODELAGEM E SIMULAO DE PROCESSOS PROFESSORA: CRISTIANE HOLANDA SODRE

MACEI / 2010 0

SOLUO DE EQUAES ALGBRICAS

Mtodo da Bisseo
Seja f(x) uma funo real contnua, no intervalo [a, b], tal que f(a). f(b) <0 e a tolerncia considerada. O mtodo de bisseo consiste em dividir o intervalo [a, b] ao meio, obtendo dois subintervalos [a, xo] e [xo,b] a serem considerados. Se o critrio para avaliao da tolerncia for satisfeito, por exemplo, se | f(xn)|< ento xn a raiz procurada, seno escolhe-se um dos subintervalos para repetir o procedimento. Para efetuar a escolha, verifica-se em qual dos intervalos [a, xo] ou [xo, b] a funo tem sinais contrrios nos extremos ou seja , verifica-se se f(a). f(x0)<0 ou se f(b). f(x0)<0. Deve-se proceder desta forma para a escolha dos demais subintervalos.

Vantagens: Aplicao simples; Convergncia garantida.

Desvantagens: Exige intervalo vlido para iniciar; Converge muito devagar (lento); Problemas de preciso; necessrio limitar o nmero de iteraes.

Comentrios sobre os programas feitos com o Fortran:

Com o software Fortran foi realizada aplicaes do mtodo da bisseo. No primeiro exemplo utilizou-se o mtodo da bisseo para calcular o fator de atrito f, com Reynolds=2000, utilizando como intervalo inicial [0,01;0,02]. O fator de atrito encontrado foi 1,237549x10-2, e foram

realizadas 11 iteraes. As linhas do programa so as que se seguem:


program bissecao real ya,yb ,a,b, N, erro, xo

tol=0.0001 N=0 x1=1 read (*,*)a,b ya=(1/sqrt(a))-(2*log10(a))-12.80412 yb=(1/sqrt(b))-(2*log10(b))-12.80412

if(ya*yb.lt.0)then xo=(a+b)/2 endif do i=1,30,1 yxo=(1/sqrt(xo))-(2*log10(xo))-12.80412 if(abs(yxo).lt.tol)then write(*,*)'xo a raiz',xo stop endif if(ya*yxo.lt.0)then ![a;xo] a=a b=xo xo=(a+b)/2 else ![xo;b] a=xo b=b xo=(a+b)/2 ya=yxo endif N=N+1 write(*,*)N erro=abs((xo-x1)/x1) x1=xo

write(*,*)erro

enddo end

A segunda aplicao do mtodo da bisseo foi calcular o volume molar utilizando a equao cbica de Van-Der-Walls, considerando-se o gs carbnico, nas condies de presso igual a 10atm e temperatura igual a 300K. Dados: R=0,082054; a=3,592; b=0,04267; Intervalo inicial: [1;3]. O volume molar encontrado foi 2,354492, e foram realizadas 10 iteraes. As linhas do programa encontram-se abaixo.
program volumemolarbissecao real vo,p,t,r,a,b,c,d,yc,yd !c e d valores do intervalo N=0 !v=5 t=300 p=10 a=3.592 b=0.04267 r=0.082054 tol=0.0001 v1=1 read (*,*)c,d yc=p*c-p*b+(a/c)-((a*b)/c**2)-r*t yd=p*d-p*b+(a/d)-((a*b)/d**2)-r*t if(yc*yd.lt.0)then vo=(c+d)/2 endif do i=1,30,1 yvo=p*vo-p*b+(a/vo)-((a*b)/vo**2)-r*t if(abs(yvo).lt.tol)then write(*,*)'vo a raiz',vo stop endif if(yc*yvo.lt.0)then ![a;xo] c=c d=vo vo=(c+d)/2

else ![xo;b] c=vo d=d vo=(c+d)/2 yc=yvo endif N=N+1 write(*,*)N erro=abs((vo-v1)/v1) v1=vo write(*,*)erro enddo end

Mtodo de Newton-Raphson

Dado xn, o ponto xn+1 ser obtido pela intercesso da reta tangente a f(x) em xn com o eixo x (a abscissa). Podemos ilustrar isso matematicamente. A reta tangente a f(x) em xn e dada por:
( )

(1)

A partir dessa expresso, obtemos a formula de Newton-Raphson, ou seja:


( ( ) )

(2)

Portanto, a cada iterao do nosso processo, nos aproximamos cada vez mais da raiz de f(x) atravs da tangente (ou seja, da derivada) da funo f(x). A figura a seguir ilustra essa interpretao geomtrica do Mtodo de Newton-Raphson

Vantagens: Convergncia rpida; Maior nmero de clculos por iterao; No exige premissas iniciais.

Desvantagens: Nem sempre converge; Precisa do clculo da derivada da funo, que nem sempre uma tarefa fcil.

Comentrios sobre os programas feitos no Fortran:

A primeira aplicao do mtodo de Newton-Raphson foi calcular o fator de atrito f para Reynolds=2000, dando como chute inicial um valor compreendido entre o intervalo [0,01;0,02]. O valor do fator de atrito encontrado foi 1,237528x10-2, e foram realizadas 3 iteraes. As linhas do programa seguem abaixo. program FatordeatritoNewtonRaphson real re,f,ff,dff,erro N=0 re=2000 tol=0.0001 f1=1 read (*,*)f 5

do i=1,30,1 ff=(4*log10(re))+(2*log10(f))-0.4-(1/sqrt(f))

if(abs(ff).lt.tol)then write(*,*)'f a raiz',f stop endif dff=(2/(f*log(10.)))+(1/(2*f*sqrt(f))) f=f-(ff/dff) N=N+1 write(*,*)N erro=abs((f-f1)/f1) f1=f write(*,*)'erro',erro

enddo end O segundo programa foi calcular o volume molar atravs da equao cbica de VanDer-Walls, para o gs carbnico para uma presso de 10atm e temperatura igual a 300K. Dados: R=0,082054; a=3,592; b=0,04267; Chute inicial: 5L/mol. O volume molar encontrado foi 2,354542 e foram realizadas 2 iteraes. As linhas do programa so as que seguem: program NewtonRaphson real v,p,t,r,a,b,fv,dfv,erro N=0 !v=5 t=300 p=10 a=3.592 b=0.04267 r=0.082054 tol=0.0001 v1=1 6

read (*,*)v do i=1,30,1 fv=p*v-p*b+(a/v)-(a*b/(v**2))-r*t if(abs(fv).lt.tol)then write(*,*)'v a raiz',v stop endif dfv=p-(a/v**2)+(2*a*b/(v**3)) v=v-(fv/dfv) N=N+1 write(*,*)N erro=abs((v-v1)/v1) v1=v write(*,*)erro enddo end

Mtodo da Secante

Neste mtodo, a curva f ( x) substituda pela equao da reta que passa pelos extremos do intervalo a,b . Note que dentro deste intervalo existe uma e uma s raiz da equao da equao f ( x) . Assim, o mtodo da falsa posio muito semelhante ao mtodo da bisseo, s que em vez de se determinar o ponto intermdio do intervalo a,b determinado um ponto c, tal que:

( )

( )

( )

O intervalo a,b ento substitudo pelo intervalo limitado por c e pelo extremo a ou b em que a funo tem sinal contrrio a f (c) .

Vantagens: Rapidez no processo de convergncia; Desempenho elevado; Clculos mais convenientes que no mtodo de Newton.

Desvantagens: Difcil implementao.

Comentrios sobre os programas feitos no Fortran:

O primeiro exemplo resolvido pelo mtodo da secante foi achar o fator de atrito f, dado o intervalo [0.01;0.02]. Foi encontrado um fator de atrito de 1,237332x10-2 e foram realizadas 9 iteraes. As linhas do programas encontram-se abaixo. program fatordeatritosecante real fa,fb,xo,re,a,b,N a=0.01 b=0.02 re=2000 N=0 tol=0.0001 fa=(4*log10(re*sqrt(a)))*(sqrt(a))-(0.4*sqrt(a))-1 fb=(4*log10(re*sqrt(b)))*(sqrt(b))-(0.4*sqrt(b))-1 write(*,*)fa,' ',fb if(fa*fb.lt.0)then xo=a-(fa*(b-a))/(fb-fa) else write(*,*)'nao existe raiz' stop endif do i=1,30,1 8

fxo=(4*log10(re*sqrt(xo)))*(sqrt(xo))-(0.4*sqrt(xo))-1 if(abs(fxo).lt.tol)then write(*,*)'xo a raiz',xo stop endif if(fa*fxo.lt.0)then ![a;xo] a=a b=xo xo=a-(fa*(b-a))/(fb-fa) fb=fxo else ![xo;b] a=xo b=b xo=a-(fa*(b-a))/(fb-fa) fa=fxo endif

N=N+1 write(*,*)N enddo end

O segundo exemplo foi o clculo do volume molar do gs carbnico pela equao cbica de Van-Der-Walls, no intervalo [1;3], onde foi encontrado um volume molar de 2,354442 e foram necessrias 12 iteraes. As linhas de programao esto abaixo. program volumemolarsecante real p,t,r,a,b,c,d,fc,fd,N,xo t=300 p=10 a=3.592 b=0.04267 r=0.082054 tol=0.0001 v1=1 9

N=0 read(*,*)c,d fc=p*c-p*b+(a/c)-((a*b)/c**2)-r*t fd=p*d-p*b+(a/d)-((a*b)/d**2)-r*t if(fc*fd.lt.0)then xo=c-(fc*(d-c))/(fd-fc) else write(*,*)'nao existe raiz' stop endif do i=1,30,1 fxo=p*xo-p*b+(a/xo)-((a*b)/xo**2)-r*t if(abs(fxo).lt.tol)then write(*,*)'xo a raiz',xo stop endif if(fc*fxo.lt.0)then ![c;xo] c=c d=xo xo=c-(fc*(d-c))/(fd-fc) fd=fxo else ![xo;d] c=xo d=d xo=c-(fc*(d-c))/(fd-fc) fc=fxo endif

N=N+1 write(*,*)N enddo end 10

Podemos perceber pelos resultados obtidos (Tabela 1) que o mtodo de NewtonRaphson apresentou os resultados mais rapidamente, isto , calculou o que se pretendia com o menor nmero de iteraes.

Tabela 1: Comparao entre os valores encontrados e o nmero de iteraes. Fator de atrito encontrado Bisseo NewtonRaphson Secante 1,237332x10-2 9 2,354442 12 1,237549x10-2 1,237528x10-2 11 3 Iteraes Volume molar encontrado 2,354492 2,354542 10 2 Iteraes

11

Vous aimerez peut-être aussi