Академический Документы
Профессиональный Документы
Культура Документы
dN
KN , N : numero de habitantes
dt
É comum uma situação ser descrito por um sistema de equações diferenciais
dyi
f i ( x, y1 , y2 ,, y s ) , i 1,2,, s
dx
dy
Em notação vetorial: f ( x, y ) , y ( a ) c
dx
d3y dy d 2 y
g x, y, , 2 , cond. iniciais : y (0) 1 , y (0) 2 , y (0) 3
dx 3 dx dx
dy d2y
1 y , 2 , 3 2
dx dx
d1
dx 2 , 1 (0) 1
d 2
3 , 2 (0) 2
dx
d 3
dx g ( x,1 ,2 ,3 ) , 3 (0) 3
MÉTODO DE EULER
Solução numérica: A função y(x) não será obtida para todos os valores de x
y2
h2
y1 y ( xk 1 ) y ( xk ) hy ( xk ) y ( xk )
2
y0
y k 1 yk h f ( xk , y k )
x0 x1 x2 x3 x4 x
Exemplo:
dy
Solução exata: y ( x) e
x
Resolver : y; y ( 0) 1
dx
Método de Euler: y k 1 y k h f ( x, y ) y k 1 y k h y k
h = 0.2 h = 0.1
xk y(xk) yk Erro xk y(xk) yk Erro
0.0 1.000 1.000 0.000 0.0 1.000 1.000 0.000
0.2 1.221 1.200 -0.021 0.1 1.105 1.100 -0.005
0.4 1.492 1.440 -0.052 0.2 1.221 1.210 -0.011
0.6 1.822 1.728 -0.094 0.3 1.350 1.331 -0.019
0.4 1.492 1.464 -0.028
0.5 1.649 1.610 -0.039
0.6 1.822 1.771 -0.051
Família de curvas
x
Erro pode ser decrescido diminuindo-se o passo h
Erro
Total
Arredondamento
Truncamento
n 1
h
ERRO GLOBAL E ( h, x k ) y k y ( x k )
ERRO LOCAL: Diferença entre o valor yk e o valor da solução exata
que passa pelo ponto (xk-1, yk-1)
y
Erro global
Erro local
( xk 1 , y k 1 )
dy
f ( x, y ) yk 1 yk h f ( xk , yk )
dx
y ( xk , y k )
f f
Se 0 Se 0
y y
FAMÍLIA DE CURVAS DIGERVE FAMÍLIA DE CURVAS DIGERVE
y y
( x2 , y ( x2 )) ( x2 , y ( x2 ))
( x1 , y ( x1 )) ( x1 , y ( x1 ))
( x1 , y1 ) ( x0 , y 0 ) ( x1 , y1 )
( x0 , y 0 )
x x
y ( x1 , y1 ) y ( x1 , y ( x1 )) y ( x1 , y1 ) y ( x1 , y ( x1 ))
ERRO AUMENTA EXPONENCIALMENTE ERRO LOCAL COMPENSA
ERRO DA DISCRETIZAÇÃO
SE O ERRO LOCAL EM TODOS OS PONTOS FOR MENOR DO QUE
O ERRO GLOBAL SATISFAZ A SEGUINTE CONDIÇÃO:
e Lnh 1 f
y n y ( xn ) Lh ; onde L max
e 1 x0 x x n y
Se Lh for pequeno :
e Lnh 1
y n y ( xn )
Lh
Análise do Estabilidade
h (h) 2
Observe que, por serie de Taylor: e 1 h
2
A solução pelo método de Euler produz os dois primeiros termos da serie de Taylor
Metodo de Euler:
Para 2 ( y0 1) : -2.0000
h= h= h=
0.2000 0.4000 1.0000
Xk Exata Yk Yk Yk
0.00 1.0000 1.0000 1.0000 1.0000
1.5000 0.20 0.6703 0.6000
0.40 0.4493 0.3600 0.2000
1.0000 0.60 0.3012 0.2160
0.80 0.2019 0.1296 0.0400
0.5000 1.00 0.1353 0.0778 -1.0000
Exata
1.20 0.0907 0.0467 0.0080
h=0.2 1.40 0.0608 0.0280
0.0000
h=0.4 1.60 0.0408 0.0168 0.0016
0.00 1.00 2.00 3.00 4.00 5.00
h=1.0 1.80 0.0273 0.0101
-0.5000
2.00 0.0183 0.0060 0.0003 1.0000
2.20 0.0123 0.0036
-1.0000
2.40 0.0082 0.0022 0.0001
2.60 0.0055 0.0013
-1.5000
2.80 0.0037 0.0008 0.0000
3.00 0.0025 0.0005 -1.0000
3.20 0.0017 0.0003 0.0000
3.40 0.0011 0.0002
3.60 0.0007 0.0001 0.0000
3.80 0.0005 0.0001
4.00 0.0003 0.0000 0.0000 1.0000
4.20 0.0002 0.0000
4.40 0.0002 0.0000 0.0000
4.60 0.0001 0.0000
Para 0
4.80 0.0001 0.0000 0.0000
Solução exata decai com x 5.00 0.0000 0.0000 -1.0000
Resolver o problema y y, y ( 0) 1
Comparar a solução exata com a obtida pelo método de Euler com
h = 0.1, h = 0.5, h = 1.5 e h = 2. Metodo de Euler:
-1.0000
h=0.1 h=0.5 h=1.5
0.00 1.0000 1.0000 1.0000 1.0000
0.10 0.9048 0.9000
0.20 0.8187 0.8100
0.30 0.7408 0.7290
1.2000 0.40 0.6703 0.6561
0.50 0.6065 0.5905 0.5000
1.0000 exata 0.60 0.5488 0.5314
h=0.1 0.70 0.4966 0.4783
0.8000
0.80 0.4493 0.4305
0.6000 h=0.5 0.90 0.4066 0.3874
1.00 0.3679 0.3487 0.2500
h=1.5 1.10 0.3329 0.3138
0.4000
1.20 0.3012 0.2824
1.30 0.2725 0.2542
0.2000
1.40 0.2466 0.2288
1.50 0.2231 0.2059 0.1250 -0.5000
0.0000
1.60 0.2019 0.1853
-0.20000.00 1.00 2.00 3.00 4.00 5.00 1.70 0.1827 0.1668
1.80 0.1653 0.1501
-0.4000 1.90 0.1496 0.1351
2.00 0.1353 0.1216 0.0625
-0.6000 2.10 0.1225 0.1094
2.20 0.1108 0.0985
2.30 0.1003 0.0886
2.40 0.0907 0.0798
2.50 0.0821 0.0718 0.0313
2.60 0.0743 0.0646
2.70 0.0672 0.0581
2.80 0.0608 0.0523
2.90 0.0550 0.0471
3.00 0.0498 0.0424 0.0156 0.2500
3.10 0.0450 0.0382
3.20 0.0408 0.0343
3.30 0.0369 0.0309
3.40 0.0334 0.0278
Microsoft Excel 3.50 0.0302 0.0250 0.0078
3.60 0.0273 0.0225
Worksheet 3.70 0.0247 0.0203
3.80 0.0224 0.0182
3.90 0.0202 0.0164
4.00 0.0183 0.0148 0.0039
MÉTODO DE EULER DE ORDEM ELEVADA
h2
y ( xk 1 ) y ( xk ) hy ( xk ) y ( xk )
2
d d f f dy
Onde y ( xk ) y f ( x, y )
dx dx x y dx
h2 f f
y ( xk 1 ) y ( xk ) h f ( xk , yk ) f ( x , y )
k
x y
k
2
dy
Resolver : yx, y ( 0) 2 Sol. Exata : y ( x) e x x 1
dx
Usar método de Euler de segunda ordem com h = 0.1
MÉTODO DE RUNGE-KUTTA
F F
y k 1 y k 1 2 h Fk 2 h 2 1 k 2 Fk k
x y
Comparando com ()
1 1 1
1 2 1; 2 1 ; 2 2 1 2 e 1 2 1
2 2 2
f f f1 F ( x k , y k )
y k 1 y k h 1 2 ; f F ( x h, y hf )
2 2 2 k k 1
f f f f
yk 1 yk h 1 2 3 4
6 3 3 6
f1 F ( xk , y k )
h h
f 2 F xk , y k f1
2 2
h h
f 3 F xk , y k f 2
2 2
f 4 F xk h, y k hf 3
F ( x, y ) y
0.5
y1 y0 f1 2 f 2 2 f 3 f 4
6
f1 y0 Metodo de Runge-Kutta (4 ordem):
0.5 h= 0.5000
f 2 y0 f1 f1 f2 f3 f4 y - approx
2 0.00 1.0000 1.0000
0.50 0.6065 -1.0000 -0.7500 -0.8125 -0.5938 0.6068
0.5 1.00 0.3679 -0.6068 -0.4551 -0.4930 -0.3603 0.3682
f 3 y0 f2 1.50 0.2231 -0.3682 -0.2761 -0.2991 -0.2186 0.2234
2 2.00 0.1353 -0.2234 -0.1675 -0.1815 -0.1326 0.1355
f 4 y0 0.5 f 3
2.50 0.0821 -0.1355 -0.1017 -0.1101 -0.0805 0.0822
3.00 0.0498 -0.0822 -0.0617 -0.0668 -0.0488 0.0499
3.50 0.0302 -0.0499 -0.0374 -0.0405 -0.0296 0.0303
4.00 0.0183 -0.0303 -0.0227 -0.0246 -0.0180 0.0184
4.50
5.00
0.0111
0.0067
-0.0184
-0.0111
-0.0138
-0.0084
-0.0149
-0.0091
-0.0109
-0.0066
0.0111
0.0068
5.50 0.0041 -0.0068 -0.0051 -0.0055 -0.0040 0.0041
6.00 0.0025 -0.0041 -0.0031 -0.0033 -0.0024 0.0025
6.50 0.0015 -0.0025 -0.0019 -0.0020 -0.0015 0.0015
7.00 0.0009 -0.0015 -0.0011 -0.0012 -0.0009 0.0009
7.50 0.0006 -0.0009 -0.0007 -0.0007 -0.0005 0.0006
8.00 0.0003 -0.0006 -0.0004 -0.0005 -0.0003 0.0003
8.50 0.0002 -0.0003 -0.0003 -0.0003 -0.0002 0.0002
9.00 0.0001 -0.0002 -0.0002 -0.0002 -0.0001 0.0001
9.50 0.0001 -0.0001 -0.0001 -0.0001 -0.0001 0.0001
10.00 0.0000 -0.0001 -0.0001 -0.0001 0.0000 0.0000
h= 1.5000
f1 f2 f3 f4 RK EULER
0.00 1.0000 1.0000 1.0000
1.50 0.2231 -1.0000 -0.2500 -0.8125 0.2188 0.2734 -0.5000
3.00 0.0498 -0.2734 -0.0684 -0.2222 0.0598 0.0748 0.2500
4.50 0.0111 -0.0748 -0.0187 -0.0607 0.0164 0.0204 -0.1250
6.00 0.0025 -0.0204 -0.0051 -0.0166 0.0045 0.0056 0.0625
7.50 0.0006 -0.0056 -0.0014 -0.0045 0.0012 0.0015 -0.0313
9.00 0.0001 -0.0015 -0.0004 -0.0012 0.0003 0.0004 0.0156
10.50 0.0000 -0.0004 -0.0001 -0.0003 0.0001 0.0001 -0.0078
1.2000
1.0000
0.8000
0.6000
Exata
0.4000
RK
0.2000
Euler
0.0000
-0.20000.00 2.00 4.00 6.00 8.00 10.00 12.00
-0.4000
-0.6000
Exercício
Escreva uma rotina SciLab para solução de um problema de valor inicial usando
os métodos de Euler explícito de primeira ordem e Runge-Kutta de quarta ordem.
Utilize a rotina desenvolvida para resolver o problema:
dy
F ( x , y , z ) ; y ( x0 ) A
dx
dz
G ( x , y , z ) ; z ( x0 ) B
dx
y k 1 y k
h
f1 2 f 2 2 f 3 f 4
h
z k 1 z k g1 2 g 2 2 g 3 g 4
6 6
f1 F x k , y k , z k g1 G xk , y k , z k
h h h h h h
f 2 F xk , yk f1 , z k g1 g 2 G xk , yk f1 , z k g1
2 2 2 2 2 2
h h h h h h
f 3 F xk , y k f 2 , z k g 2 g 3 G xk , y k f 2 , z k g 2
2 2 2 2 2 2
f 4 F xk h, yk hf 3 , z k hg 3 g 4 G xk h, yk hf 3 , z k hg 3
Exercício
As equações de Lotka-Volterra descrevem a evolução da população de um sistema
predador-presa, onde x e y são os números de presas e predadores, a é a taxa de
crescimento da presa, c é a taxa de morte do predador e b e d são taxas caracterizando
o efeito da interação predador-presa na morte da presa e no crescimento do predador,
respectivamente.
dx
ax bxy
dt
dy
cy dxy
dt
y k y k 1 h f ( xk 1 , y k 1 )
x0 x1 x2 x
y k 1 y k h f ( xk 1 , y k 1 )
-1.0000 1.2000
h=1.5 (EXP) h=0.5 (IMP) 1.0000
0.00 1.0000 1.0000 1.0000 0.8000
0.50 0.6065 0.6000
1.00 0.3679 Exata
0.4000
1.50 0.2231 -0.5000 0.4000 Euler Explicito
0.2000
2.00 0.1353 Euler Implicito
0.0000
2.50 0.0821
-0.20000.00 1.00 2.00 3.00 4.00 5.00
3.00 0.0498 0.2500 0.1600
-0.4000
3.50 0.0302
4.00 0.0183 -0.6000
F ( x, y ) y x
y k 1 y k h f ( xk 1 , y k 1 ) y k 1 y k h y kxk 11
y k 1 h y kxk 11 y k
y ay b c 0 ; a, b, c conhecidos
f ( y ) y ay b c 0
Cálculo pelo Método de Newton, por exemplo y (0) yk
j0
Enquanto f ( y ( j ) ) , repetir
y ( j 1) y ( j ) f y ( j ) f y ( j )
j j 1
fim_equanto
y k 1 y ( j )
MÉTODO IMPLÍCITO DE SEGUNDA ORDEM
(MÉTODO DO TRAPÉZIO) y
y2
Teorema do Valor Médio:
y1
y ( xk 1 ) y ( xk )
xk , xk 1 tal que y ( )
xk 1 x x
yk 1 y k h y ( )
x0 x1 x2 x
1
Tomar y ( ) y( xk ) y( xk 1 ) 1 f ( xk , yk ) f ( xk 1 , yk 1 )
2 2
y k 1 y k
h
f xk , yk f xk 1 , yk 1
2
Método Estável
Exercício
Escreva uma rotina SciLab para solução de um problema de valor inicial usando
o método de Euler implícito de primeira ordem.
Utilize a rotina desenvolvida para resolver o problema:
Para o Método de Newton, o chute inicial deve ser bom para o processo
convergir em poucas iterações.
Chute Inicial : y k* 1 y k 1 y k
h
f xk , yk f xk 1 , yk 1
2
dy y k 1 y k y yk
Passo Único: O(h) k 1 f ( xk , y k )
dx h h
h2 h3
Dois Passos: y ( xk 1 ) y ( xk ) hy ( xk )
y ( xk ) y ( xk )
2 6
h2 h3
y ( xk 1 ) y ( xk ) hy ( xk ) y ( xk ) y ( xk )
2 6
y ( xk 1 ) y ( xk 1 ) 2hy ( xk ) O(h 3 )
dy y k 1 y k 1 y yk 1
O(h 3 ) k 1 f ( xk , y k )
dx 2h 2h
yk 1 yk 1 2h f ( xk , yk ) MÉTODO LEAPFROG
Idéia geral dos Métodos de Múltiplos Passos: Usar informações em vários
pontos anteriores a xk para descrever como a função se comporta
entre xk e xk+1.
xk 1 xk 1
y ( xk 1 ) y ( xk )
xk
y( x) dx f x, y( x)dx
xk
xk 1
y k 1 y k p( x) dx
xk
p( x) f k f
xk
k dx f k h
y k 1 y k h f ( xk , y k ) Método de Euler
x xk x xk 1 x xk
p( x) f k 1 fk fk f k 1 f k
xk 1 xk xk xk 1 h
xk 2
( x xk )
f k h f k 1 f k h f k 1 f k
h
p ( x) dx xk 1 f k
xk
xk 1
2h 2
y k 1 y k h f k
h
f k 1 f k yk 1 yk
h
3 f k f k 1
2 2
Método de Adams-Bashforth de 2a ordem
yk 1 yk
h
23 f k 16 f k 1 5 f k 2
24
Métodos de Adams-Bashforth são Métodos Explícitos
y k 1 y k
h
f xk , yk f xk 1 , yk 1 Regra do Trapézio
2
y k 1 y k
h
9 f xk 1 , yk 1 19 f xk , yk 5 f xk 1 , yk 1 f xk 2 , yk 2
24
EQUAÇÕES INSTÁVEIS
y ( 0) 1
c.c.
y (0) 1
11 x 11x
(2) y 10 y 11 y 0 Solução exata: y ( x ) 1 e e ( 2)
12 12
y ( 0) 1
c.c.
y (0) 1 10
2
Microsoft Excel
Worksheet
0
0 0.2 0.4 0.6 0.8 1 1.2
O problema (1) é instável.
Exemplo : y xy ( y 2) y ( x) 2 (1)
Solução exata:
c.c. y(0) 2
2 y0
y ( x) ( 2)
x2
y 0 ( 2 y 0 )e
2.5
Microsoft Excel
1.5
Worksheet
1
0 0.2 0.4 0.6 0.8 1 1.2
MÉTODOS ESTÁVEIS E INSTÁVEIS
1 2 x 1
y 2 y 1 Solução exata: y ( x) e (1)
Problema : 2 2
y ( 0) 1
Este problema é estável, pois a solução não muda muito alterando-se a c.c.
1 1
Se y (0) 1 y ( x ) e 2 x
2 2
y k 1 y k 1 2h 2 y k 1 4hy k y k 1 2h
10
1 1
y0 1; y1 e 2 h 5
2 2
y k quando k
0
0 2 4 6 8
-5
-10
Método implícitos são estáveis e portanto devem ser usados para problemas stiff
X f1 f2 f3 f4 Yk Yexato
0.00 0.0000 0
0.03 0.0000 1.4999 -0.7500 5.2495 0.033747047 0.020496
0.06 -0.3752 1.6865 -1.4060 6.8397 0.068874772 0.050002
0.09 -0.8911 1.9421 -2.3077 9.0234 0.105880707 0.079912
0.12 -1.6002 2.2930 -3.5468 12.0236 0.14545912 0.109773
0.15 -2.5747 2.7752 -5.2496 16.1467 0.188574804 0.139536
0.18 -3.9137 3.4383 -7.5896 21.8144 0.236564525 0.169174
0.21 -5.7535 4.3504 -10.8055 29.6059 0.291276497 0.19866
0.24 -8.2817 5.6055 -15.2252 40.3183 0.355262162 0.227966
0.27 -11.7560 7.3323 -21.3001 55.0471 0.43203987 0.257068
0.30 -16.5308 9.7080 -29.6503 75.2989 0.526457436 0.285938
0.33 -23.0937 12.9765 -41.1288 103.1450 0.645190639 0.314551
0.36 -32.1148 17.4727 -56.9085 141.4339 0.797428656 0.342881
0.39 -44.5154 23.6576 -78.6019 194.0818 0.995816526 0.370902
0.42 -61.5628 32.1644 -108.4264 266.4737 1.257751018 0.39859
0.45 -84.9991 43.8645 -149.4308 366.0140 1.607162455 0.425918
M e t o do de R unge - Kut t a de qua rt a o
h = 0.03 y(0) = 0
X f1 f2 f3 f4 Yk Y e xa t o
O método só é estável para passos muito pequenos h < 0.030 Microsoft Excel
Worksheet
M e t o do do T ra pe zio
h = 0.5
X Yk
0 =$ E$ 3
=A 7+$ B $ 3 =(B 7*(1-100*$ B $ 3/2)+$ B $ 3/2*100*(SIN(A 7)+SIN(A 8)))/(1+$ B $ 3/2*100)
=A 8+$ B $ 3 =(B 8*(1-100*$ B $ 3/2)+$ B $ 3/2*100*(SIN(A 8)+SIN(A 9)))/(1+$ B $ 3/2*100)
=A 9+$ B $ 3 =(B 9*(1-100*$ B $ 3/2)+$ B $ 3/2*100*(SIN(A 9)+SIN(A 10)))/(1+$ B $ 3/2*100)
=A 10+$ B $ 3 =(B 10*(1-100*$ B $ 3/2)+$ B $ 3/2*100*(SIN(A 10)+SIN(A 11)))/(1+$ B $ 3/2*100)
=A 11+$ B $ 3 =(B 11*(1-100*$ B $ 3/2)+$ B $ 3/2*100*(SIN(A 11)+SIN(A 12)))/(1+$ B $ 3/2*100)
=A 12+$ B $ 3 =(B 12*(1-100*$ B $ 3/2)+$ B $ 3/2*100*(SIN(A 12)+SIN(A 13)))/(1+$ B $ 3/2*100)
=A 13+$ B $ 3 =(B 13*(1-100*$ B $ 3/2)+$ B $ 3/2*100*(SIN(A 13)+SIN(A 14)))/(1+$ B $ 3/2*100)
=A 14+$ B $ 3 =(B 14*(1-100*$ B $ 3/2)+$ B $ 3/2*100*(SIN(A 14)+SIN(A 15)))/(1+$ B $ 3/2*100)
=A 15+$ B $ 3 =(B 15*(1-100*$ B $ 3/2)+$ B $ 3/2*100*(SIN(A 15)+SIN(A 16)))/(1+$ B $ 3/2*100)
=A 16+$ B $ 3 =(B 16*(1-100*$ B $ 3/2)+$ B $ 3/2*100*(SIN(A 16)+SIN(A 17)))/(1+$ B $ 3/2*100)
Metodo do Trapezio
X Yk Yexato
0.00 0.0000 0
0.50 0.460986095 0.470602653
1.00 0.844567185 0.835984363
1.50 0.988636033 0.996687946
2.00 0.920867137 0.913367558
2.50 0.59974723 0.606422938
3.00 0.157533472 0.151004833
3.50 -0.347014762 -0.341384522
4.00 -0.744664953 -0.75019104
4.50 -0.980244479 -0.975324627 Microsoft Excel
5.00 -0.95713432 -0.96166473 Worksheet
PROBLEMA DE VALOR DE CONTORNO
d2y
f ( x, y, y ) , cond. cont. : y (0) A ; y (1) B
dx 2
MÉTODO DE TIRO (SHOOTING METHOD)
Problema Linear
y (1) g ( )
Exemplo: d2y dy
f x , y , ; 0 x L
dx 2 dx
y (0) Y0
y ( L) YL
Obter y(x).
Problema Linear
xi 1 xi xi 1
x1 xN
x h
h2 h2
yi 1 yi h yi yi ( A) yi 1 yi h yi yi ( B)
2 2
Diferentes aproximações para primeira derivada:
yi 1 yi
DIFERENÇA PARA FRENTE ( A) yi
h
yi yi 1
DIFERENÇA PARA TRÁS ( B) yi
h
y y
DIFERENÇA CENTRAL ( A) ( B ) yi i 1 i 1
2h
DIFERENÇA CENTRAL
yi 1 2 yi yi 1
( A) ( B) yi
h2
Interpretação geométrica
dy
dy yi 1 yi yi yi 1
2
d y d dy dx d dx e h h
2
dx dx dx h h
d 2 y yi 1 2 yi yi 1
2
dx h2
i-1 i i+1
xi 1 e xi d xi 1
x h
EXEMPLO: Condução de calor em uma barra com convecção natural
xi 1 xi xi 1
x1 xN
Incógnitas do problema: T1 , T2 , , Ti , , TN
d 2T
No ponto i: c Ti T 0
hP
2
dx i kA
Ti 1 2Ti Ti 1 hc P
Ti T 0
h2 kA
1 2 h P 1 hP
2 Ti 1 2 c Ti 2 Ti 1 c T
h h kA h kA
Para se obter as N equações necessárias para determinar as N incógnitas,
a aproximação deve ser satisfeita em todos os nós:
i 1 T1 TA (c.c.)
1 2 h P 1 hP
i 2 2 T1 2 c T2 2 T3 c T
h h kA h kA
1 2 h P 1 hP
i 3 2 T2 2 c T3 2 T4 c T
h h kA h kA
i N TN TB (c.c.)
O sistema pode ser escrito em forma matricial como:
T
1 0 0 0 0 T1 h P A
1 h P T c T
h2 2 2 c 1 2 0 0 2 kA
h kA h hc P
T3 T
2 2 c
hP
1 2 1 0 T h P kA
h h kA h2 4 c
kA
T
0
0 0 0 1 TN
T B
xi 1 xi
i=1 i=2 i-1 i i+1 i=N
xi 1 xi xi 1
x1 xN
d 2T
0
TA hc , T dx 2
x T ( x 0) T A
L dT
x L he T x L T
dx K
No ponto i: d 2T
0
dx 2 i
Ti 1 2Ti Ti 1
0
h2
1 2 1
2 Ti 1 2 Ti 2 Ti 1 0
h h h
Para se obter as N equações necessárias para determinar as N incógnitas,
a aproximação deve ser satisfeita em todos os nós:
i 1 T1 TA (c.c.)
1 2 1
i 2 2 T1 2 T2 2 T3 0
h h h
1 2 1
i 3 2 T2 2 T3 2 T4 0
h h h
TN TN 1 he 1 1 h
TN T TN 1 e e T
h
iN
h K h h K K
T1
TA
1 0 0 0 0 0
1
h2 h
2 1 2 0 0 0 T2
0
2
h 0
1 2 1 0 0 T3
T
h2 h2 h2 0
4
0 0 0 0 1 1 he he
h h K TN K T
Exercício
Escreva uma rotina SciLab para solução de um problema de valor de contorno
pelo método de diferenças finitas (diferença central).
Utilize a rotina desenvolvida para resolver o problema:
L=5m
Problema Não-Linear
xi 1 xi xi 1
x1 xN
Incógnitas do problema: u1 , u 2 , , ui , , u N
Aproximação por diferença central: du u u
i 1 i 1
dx i 2h
d 2u ui 1 2ui ui 1
dx 2 i h2
No ponto i:
du d 2u
ui K 2 0
dx i dx i
u u u 2ui ui 1
ui i 1 i 1 K i 1 0
2h h2
K 2 K u u K
2 ui 1 2 i 1 i 1 ui 2 ui 1 0
h h 2h
h
Ai Bi Ai
i 1 u1 VA (c.c.)
K 2 K u u K
i 2 2 u1 2 3 1 u2 2 u3 0
h h 2h h
K 2 K u u K
i 3 2 u 2 2 4 2 u3 2 u 4 0
h h 2h h
i N u N VB (c.c.)
u1 VA
1 0 0 0 0
A u2 0
2 B2 A2 0 0
u3 0
A3 B3 A3 0
Função de u4 0
u1 e u3
0 0 0 0 1
u N TB
Os coeficientes da matriz dependem da solução do problema.
1. Chute inicial; c
(0)
u1( 0) , u2( 0) , u3( 0) , , u N( 0)
2. Calcular coeficientes da matriz usando o valor atual das incógnitas;
A Ac
(k )
c
( k 1)
Ac
(k ) 1
f
Convergência Ruim
Método de Newton:
Generalização do Método de Newton para 1 equação não-linear
f x x f x x f x x 2 f x
f x x 0 f x x f x
f x
x
f x
PROCEDIMENTO ITERATIVO
Chute inicial : x( 0)
i0
While f ( x(i ) ) , do
f ( x( i ) )
x
f ( x(i ) )
x(i 1) x(i ) x
i i 1
Raiz : x(i 1)
f ( x , x , x ,, x ) 0
Sistema a ser resolvido: 1 1 2 3 N
f ( x , x , x ,, xN ) 0
2 1 2 3
f 3 ( x1 , x2 , x3 , , x N ) 0
f N ( x1 , x2 , x3 , , x N ) 0
Expansão por série de Taylor até termos de primeira ordem de cada equação:
f1 ( x1 x1 , x2 x2 , , x N x N ) 0
f f f
f1 ( x1 , x2 , , x N ) 1 x1 1 x2 1 x N
x1 x2 x N
f 2 ( x1 x1 , x2 x2 , , x N x N ) 0
f f f
f 2 ( x1 , x2 , , x N ) 2 x1 2 x2 2 x N
x1 x2 x N
f N ( x1 x1 , x2 x2 , , x N x N ) 0
f f f
f N ( x1 , x2 , , x N ) N x1 N x2 N x N
x1 x2 x N
f1 f f
f1 ( x1 , x2 , , x N ) x1 1 x2 1 x N
x1 x2 x N
f f f
f 2 ( x1 , x2 , , x N ) 2 x1 2 x2 2 x N
x1 x2 x N
f f f
f N ( x1 , x2 , , x N ) N x1 N x2 N x N
x1 x2 x N
Matrix Jacobiana J ij
x j
x J 1 f
PROCEDIMENTO ITERATIVO
(0)
Chute inicial : c
i0
While f c , do
(i )
Convergência Quadrática
f1 u1 , , ui 1 , ui , ui 1 , , u N u1 VA 0
u u u 2ui ui 1
f i u1 , , ui 1 , ui , ui 1 , , u N ui i 1 i 1 K i 1 2 0
2 h h
i 2,3, , N
f N u1 , , ui 1 , ui , ui 1 , , u N u N VB 0
f1 f1 f
1; 0 ;; 1 0
u1 u2 u N
f 2 K u f 2 2 K u3 u1 f 2 K u f 2 f
2 2 ; 2 ; 2 2 ; 0 ; ; 2 0
u1 h 2h u2 h 2h u3 h 2h u4 u N
f 3 f 3 K u f 3 2 K u4 u2 f 3 K u f 3
0; 2 3 ; 2 ; 2 3 ; 0 ;
u1 u2 h 2h u3 h 2h u4 h 2h u5
f N f N f
0 ;; 0 ; N 1
u1 u N 1 u N
Exercício