raízes de equações não linearescomp.ssdi.di.fct.unl.pt/aulas/praticas/aulap3.pdf · efeito de...

24
Raízes de Equações não Lineares Computação – 2º Semestre 2016/2017

Upload: others

Post on 08-Mar-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Raízes de Equações não Linearescomp.ssdi.di.fct.unl.pt/aulas/praticas/AulaP3.pdf · Efeito de Estufa Esta tendência pode ser aproximada por um polinómio: em que representa a

Raízes de Equações não Lineares

Computação – 2º Semestre 2016/2017

Page 2: Raízes de Equações não Linearescomp.ssdi.di.fct.unl.pt/aulas/praticas/AulaP3.pdf · Efeito de Estufa Esta tendência pode ser aproximada por um polinómio: em que representa a

Caso de Estudo

Efeito de Estufa

27 Março 2017 Raízes de Equações não Lineares 2

Page 3: Raízes de Equações não Linearescomp.ssdi.di.fct.unl.pt/aulas/praticas/AulaP3.pdf · Efeito de Estufa Esta tendência pode ser aproximada por um polinómio: em que representa a

Efeito de Estufa

Tem-se observado ao longo dos anos um aumento da

pressão parcial do dióxido de carbono na atmosfera

327 Março 2017 Raízes de Equações não Lineares

Page 4: Raízes de Equações não Linearescomp.ssdi.di.fct.unl.pt/aulas/praticas/AulaP3.pdf · Efeito de Estufa Esta tendência pode ser aproximada por um polinómio: em que representa a

Efeito de Estufa

Esta tendência pode ser aproximada por um polinómio:

em que representa a pressão parcial de (ppm)

entre 1958 e 2008 aumentou de 315 para 386 ppm (≈22%)

Problema:

Quais as consequências do aumento do no pH da água da chuva?

4

38309.342)1983(418542.1)1983(012226.0 2

2 ttpCO

2COp2CO

2COp

2COp

27 Março 2017 Raízes de Equações não Lineares

Page 5: Raízes de Equações não Linearescomp.ssdi.di.fct.unl.pt/aulas/praticas/AulaP3.pdf · Efeito de Estufa Esta tendência pode ser aproximada por um polinómio: em que representa a

Efeito de Estufa

O tem uma importância determinante no pH da chuva

O pH é uma medida da actividade dos iões de hidrogénio

que indica a sua acidez ou alcalinidade:

em que [H+] é a concentração molar dos iões de hidrogénio

5

][HlogpH 10

2CO

27 Março 2017 Raízes de Equações não Lineares

Page 6: Raízes de Equações não Linearescomp.ssdi.di.fct.unl.pt/aulas/praticas/AulaP3.pdf · Efeito de Estufa Esta tendência pode ser aproximada por um polinómio: em que representa a

Efeito de Estufa

A química da água pode ser modelada pelo seguinte conjunto de equações:

em que:

KH é a constante de Henry

K1, K2 e Kw são coeficientes de equilíbrio

cT (carbono total inorgânico), (bicarbonato),

(carbonato), (ião de hidrogénio) e (ião hidroxilo) são as 5 incógnitas.

6

2

][HCO][H10

-

36

1

COH pKK

][HCO

][CO][H-

3

-2

32

K ][OH][H -wK

][CO][HCO10

2-

3

-

36

2 COH

T

pKc ][H][OH][CO2][HCO0 --2

3

-

3

][HCO-

3

][CO-2

3 ][H ][OH

27 Março 2017 Raízes de Equações não Lineares

Page 7: Raízes de Equações não Linearescomp.ssdi.di.fct.unl.pt/aulas/praticas/AulaP3.pdf · Efeito de Estufa Esta tendência pode ser aproximada por um polinómio: em que representa a

Efeito de Estufa

Problema:

Assumindo KH=101.46, K1=106.3, K2=1010.3 e Kw=1014

Comparar os resultados em 1958 em que com os de

2008 em que

Os valores de pH[2,12] só podem ser medidos com 2 decimais

Solução:

7

3152COp

3862COp

2

][HCO][H10

-

36

1

COH pKK

2][H10

][HCO6

1-

3 COH pKK

][HCO

][CO][H-

3

-2

32

K][H

][HCO][CO

-

322-

3

K

226

-

3212-

3][H10

][HCO][CO COH pK

KK

][H][H][H10

2][H10

022 26

12

6

1

w

COHCOH

KpK

KKpK

K

27 Março 2017 Raízes de Equações não Lineares

Page 8: Raízes de Equações não Linearescomp.ssdi.di.fct.unl.pt/aulas/praticas/AulaP3.pdf · Efeito de Estufa Esta tendência pode ser aproximada por um polinómio: em que representa a

Efeito de Estufa

Problema:

Assumindo KH=101.46, K1=106.3, K2=1010.3 e Kw=1014

Comparar os resultados em 1958 em que com os de

2008 em que

Os valores de pH[2,12] só podem ser medidos com 2 decimais

Solução:

Calcular o valor de pH que é a raiz da equação

Como apenas estamos interessados em obter 2 decimais correctas:

Iterações com o método da bissecção:

8

3152COp

3862COp

][H][H][H10

2][H10

022 26

12

6

1

w

COHCOH

KpK

KKpK

K

][HlogpH 10

pH10][H

005.0tE

ntol

ab

2log

27 Março 2017 Raízes de Equações não Lineares

Page 9: Raízes de Equações não Linearescomp.ssdi.di.fct.unl.pt/aulas/praticas/AulaP3.pdf · Efeito de Estufa Esta tendência pode ser aproximada por um polinómio: em que representa a

Efeito de Estufa

Problema:

Assumindo KH=101.46, K1=106.3, K2=1010.3 e Kw=1014

Comparar os resultados em 1958 em que com os de

2008 em que

Os valores de pH[2,12] só podem ser medidos com 2 decimais

Solução:

Calcular o valor de pH que é a raiz da equação

Como o pH varia entre 2 e 12 podemos calcular o número de

iterações que garante a precisão desejada:

>> n = log2((12-2)/0.005)

n = 10.9659

9

3152COp

3862COp

][H][H][H10

2][H10

022 26

12

6

1

w

COHCOH

KpK

KKpK

K

][HlogpH 10

pH10][H

(número iterações = 11)

27 Março 2017 Raízes de Equações não Lineares

Page 10: Raízes de Equações não Linearescomp.ssdi.di.fct.unl.pt/aulas/praticas/AulaP3.pdf · Efeito de Estufa Esta tendência pode ser aproximada por um polinómio: em que representa a

Efeito de Estufa

Problema:

Assumindo KH=101.46, K1=106.3, K2=1010.3 e Kw=1014

Comparar os resultados em 1958 em que com os de

2008 em que

Solução:

Traduzindo a função para MATLAB:function f = fpH(pH,pCO2)

K1=10^-6.3;K2=10^-10.3;Kw=10^-14;

KH=10^-1.46;

H=10^-pH;

f=K1/(1e6*H)*KH*pCO2+2*K2*K1/(1e6*H^2)*KH*pCO2+Kw/H-H;

end

10

3152COp

3862COp

][H][H][H10

2][H10

022 26

12

6

1

w

COHCOH

KpK

KKpK

K

][HlogpH 10

pH10][H

27 Março 2017 Raízes de Equações não Lineares

Page 11: Raízes de Equações não Linearescomp.ssdi.di.fct.unl.pt/aulas/praticas/AulaP3.pdf · Efeito de Estufa Esta tendência pode ser aproximada por um polinómio: em que representa a

Efeito de Estufa

Problema:

Assumindo KH=101.46, K1=106.3, K2=1010.3 e Kw=1014

Comparar os resultados em 1958 em que com os de

2008 em que

Solução:

Podemos calcular o pH em 1958:>> [pH1958 fx ea iter]=bisect(@fpH,2,12,1e-8,11,315)

pH1958 = 5.6279

fx = -2.7163e-008

ea = 0.08676

iter = 11

11

3152COp

3862COp

][H][H][H10

2][H10

022 26

12

6

1

w

COHCOH

KpK

KKpK

K

][HlogpH 10

pH10][H

(número iterações = 11)

(muito pequeno)

5.63 (2 decimais correctas)

27 Março 2017 Raízes de Equações não Lineares

Page 12: Raízes de Equações não Linearescomp.ssdi.di.fct.unl.pt/aulas/praticas/AulaP3.pdf · Efeito de Estufa Esta tendência pode ser aproximada por um polinómio: em que representa a

Efeito de Estufa

Problema:

Assumindo KH=101.46, K1=106.3, K2=1010.3 e Kw=1014

Comparar os resultados em 1958 em que com os de

2008 em que

Solução:

Podemos calcular o pH em 1958:>> [pH2008 fx ea iter]=bisect(@fpH,2,12,1e-8,11,386)

pH2008 = 5.5889

fx = 2.9653e-008

ea = 0.0874

iter = 11

12

3152COp

3862COp

][H][H][H10

2][H10

022 26

12

6

1

w

COHCOH

KpK

KKpK

K

][HlogpH 10

pH10][H

5.59 (2 decimais correctas)

27 Março 2017 Raízes de Equações não Lineares

Page 13: Raízes de Equações não Linearescomp.ssdi.di.fct.unl.pt/aulas/praticas/AulaP3.pdf · Efeito de Estufa Esta tendência pode ser aproximada por um polinómio: em que representa a

Efeito de Estufa

Problema:

Assumindo KH=101.46, K1=106.3, K2=1010.3 e Kw=1014

Comparar os resultados em 1958 em que com os de

2008 em que

Solução:

1958 :

2008 :

13

3152COp

3862COp

][H][H][H10

2][H10

022 26

12

6

1

w

COHCOH

KpK

KKpK

K

][HlogpH 10

pH10][H

3152COp 63.5pH

3862COp 59.5pH

%5.22 %78.0

27 Março 2017 Raízes de Equações não Lineares

Page 14: Raízes de Equações não Linearescomp.ssdi.di.fct.unl.pt/aulas/praticas/AulaP3.pdf · Efeito de Estufa Esta tendência pode ser aproximada por um polinómio: em que representa a

Caso de Estudo

Atrito de um fluido

27 Março 2017 Raízes de Equações não Lineares 14

Page 15: Raízes de Equações não Linearescomp.ssdi.di.fct.unl.pt/aulas/praticas/AulaP3.pdf · Efeito de Estufa Esta tendência pode ser aproximada por um polinómio: em que representa a

Atrito de um fluido

A determinação do atrito de um fluido quando passa num tubo é um problema importante em muitas áreas de ciência e engenharia:

Passagem de líquidos ou gases em canalizações

Corrente sanguínea

A equação de Colebrook pode ser usada para calcular o factor de atrito f:

onde: → rugosidade (m); D→ diâmetro (m)

→ nº de Reynold

→ densidade do fluido (kg/m3);

V → velocidade (m/s); → viscosidade (Ns/m2);

15

fDf Re

51.2

7.3log0.2

10

VDRe

27 Março 2017 Raízes de Equações não Lineares

Page 16: Raízes de Equações não Linearescomp.ssdi.di.fct.unl.pt/aulas/praticas/AulaP3.pdf · Efeito de Estufa Esta tendência pode ser aproximada por um polinómio: em que representa a

Atrito de um fluido

A equação de Colebrook pode ser usada para calcular o factor de

atrito f:

Neste estudo: passagem do ar num tubo estreito

= 1.23 kg/m3; = 1.7910-5Ns/m2; D= 0.005 m; V = 40 m/s; = 0.0015(mm);

Os valores de f estão entre 0.008 e 0.08

Pode ser calculada uma estimativa aproximada de f com a equação

de Swamee-Jain:

16

fDf Re

51.2

7.3log0.2

10

VDRe

2

9.0Re

74.5

7.3ln

325.1

D

f

27 Março 2017 Raízes de Equações não Lineares

Page 17: Raízes de Equações não Linearescomp.ssdi.di.fct.unl.pt/aulas/praticas/AulaP3.pdf · Efeito de Estufa Esta tendência pode ser aproximada por um polinómio: em que representa a

Atrito de um fluido

Solução:

Antes de resolver fazemos o plot>> rho=1.23;mu=1.79e-5;D=0.005;V=40;e=0.0015/1000;

>> Re=rho*V*D/mu;

>> g=@(f) 1/sqrt(f)+2*log10(e/(3.7*D)+2.51/(Re*sqrt(f)));

>> fplot(g,[0.008 0.08]),grid,xlabel('f'),ylabel('g(f)')

17

743.131079.1

005.0)40(23.1Re

5

VD

fffg

743.13

51.2

)005.0(7.3

0000015.0log0.2

1)(

27 Março 2017 Raízes de Equações não Lineares

Page 18: Raízes de Equações não Linearescomp.ssdi.di.fct.unl.pt/aulas/praticas/AulaP3.pdf · Efeito de Estufa Esta tendência pode ser aproximada por um polinómio: em que representa a

Atrito de um fluido

A solução é 0.03

Método de Newton-Raphson:>> dg=@(f) -2/log(10)*1.255/Re*f^(-3/2)/(e/D/3.7 ...

+2.51/Re/sqrt(f))-0.5/f^(3/2);

>> [f ea it]=newtraph(g,dg,0.008)

f =

0.02896781017144

ea =

6.870124190058040e-006

it =

6

>> [f ea iter]=newtraph(g,dg,0.08)

f =

NaN + NaNi

1827 Março 2017 Raízes de Equações não Lineares

Page 19: Raízes de Equações não Linearescomp.ssdi.di.fct.unl.pt/aulas/praticas/AulaP3.pdf · Efeito de Estufa Esta tendência pode ser aproximada por um polinómio: em que representa a

Atrito de um fluido

O método de Newton-Raphson é muito eficiente mas

requer boas estimativas iniciais.

Sabendo a equação de Swamee-Jain:>> fSJ=1.325/log(e/(3.7*D)+5.74/Re^0.9)^2

fSJ =

0.02903099711265

>> [f ea iter]=newtraph(g,dg,fSJ)

f =

0.02896781017144

ea =

8.510189472800060e-010

iter =

3

1927 Março 2017 Raízes de Equações não Lineares

Page 20: Raízes de Equações não Linearescomp.ssdi.di.fct.unl.pt/aulas/praticas/AulaP3.pdf · Efeito de Estufa Esta tendência pode ser aproximada por um polinómio: em que representa a

Atrito de um fluido

Se usarmos a função fzero também podemos ter problemas:>> fzero(g,0.008)

Exiting fzero: aborting search for an interval containing a sign

change because complex function value encountered during search.

(Function value at -0.0028 is -4.92028-20.2423i.)

Check function or try again with a different starting value.

ans =

NaN

>> fzero(g,0.08)

ans =

0.02896781017144

2027 Março 2017 Raízes de Equações não Lineares

Page 21: Raízes de Equações não Linearescomp.ssdi.di.fct.unl.pt/aulas/praticas/AulaP3.pdf · Efeito de Estufa Esta tendência pode ser aproximada por um polinómio: em que representa a

Atrito de um fluido

Este problema também pode ser resolvido pelo método das

substituições sucessivas:

21

21

Re

51.2

7.3log

25.0

i

i

fD

f

27 Março 2017 Raízes de Equações não Lineares

Page 22: Raízes de Equações não Linearescomp.ssdi.di.fct.unl.pt/aulas/praticas/AulaP3.pdf · Efeito de Estufa Esta tendência pode ser aproximada por um polinómio: em que representa a

Problemas

27 Março 2017 22Raízes de Equações não Lineares

Page 23: Raízes de Equações não Linearescomp.ssdi.di.fct.unl.pt/aulas/praticas/AulaP3.pdf · Efeito de Estufa Esta tendência pode ser aproximada por um polinómio: em que representa a

Problemas

1. Considere a seguinte função:

a) Use o gráfico da função para identificar um intervalo inicial onde estão

todas a raízes da função.

b) Use o método da bissecção para calcular a primeira raiz da função

com a garantia de correcção 4 casas decimais.

c) Use o método de pesquisa incremental para localizar automaticamente

todas as raízes da função.

d) Defina uma função que combine os métodos anteriores para calcular

todos os zeros da função com 4 casas decimais correctas.

(baseie-se sempre no gráfico para obter as estimativas iniciais requeridas)

23Raízes de Equações não Lineares

12211875.2)( 23 xxxxf

27 Março 2017

Page 24: Raízes de Equações não Linearescomp.ssdi.di.fct.unl.pt/aulas/praticas/AulaP3.pdf · Efeito de Estufa Esta tendência pode ser aproximada por um polinómio: em que representa a

Problemas

2. Considere a seguinte função:

a) Use o gráfico da função para identificar uma boa estimativa inicial para

a raíz da função.

b) Use o método das substituições sucessivas para calcular a raiz da

função com um erro aproximado inferior a 0.001%.

c) Use o método de Newton-Raphson para calcular a raiz da função com

um erro relativo inferior ou igual a 10-8.

d) Use a função fzero para calcular a raiz da função com um erro

relativo inferior ou igual a 10-8.

(baseie-se sempre no gráfico para obter as estimativas iniciais requeridas)

24Raízes de Equações não Lineares

xxxf )sin()(

27 Março 2017