Fichas de Trabalho EDO Solucoes

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 8

Universidade do Algarve

Instituto Superior de Engenharia


Análise Numérica
Equações Diferenciais – ficha

Exercício 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Considere a equação diferencial y 0 = y(x2 1) com y(0) = 1 e x 2 [0, 1].
Verifique se a função f (x, y) verifica a condição de Lipschitz.
Calcule as soluções aproximadas usando os métodos de Euler progressivo e regressivo com passo
h = 0.1.
x3 3x
Determine o erro das aproximações, sabendo y = e 3 é a solução da equação diferencial.

Solução:

Para qualquer x 2 [0, T ],


|f (x, y1 ) f (x, y2 )| = |y1 (x2 1) y2 (x2 1)| = |(x2 1)(y1 y2 )| = |x2 1||y1 y2 | e
escolhendo para L um valor L |t2 1|, 8x 2 [0, T ], que existe pois T é um valor finito,
|x2 1||y1 y2 |  L|y2 y1 |.

Segundo o método de Euler progressivo, yn+1 = yn + h · f (xn , yn ).


Considerando a equação diferencial de primeira ordem dada, f (xn , yn ) = yn (x2n 1), subs-
tituindo na expressão anterior e calculando com passo h = 0.1:
xn 0.000 0.100 0.200 0.300 0.400 0.500 0.600 0.700 0.800 0.900 1.000
yn 1.000 0.900 0.811 0.733 0.666 0.610 0.565 0.528 0.502 0.483 0.474
y(xn ) 1.000 0.905 0.821 0.748 0.685 0.632 0.590 0.557 0.533 0.518 0.513
" 0.000 0.005 0.010 0.014 0.018 0.022 0.025 0.028 0.031 0.035 0.039
A tabela apresenta ainda o valor ’exato’ e o erro (" = y(xn ) yn ). Como se pode observar,
o valor do erro vai-se acumulando em cada iteração.
Considerando o método de Euler regressivo: yn+1 = yn + h · f (xn+1 , yn+1 )
Substituindo a função pela respetiva expressão e resolvendo em ordem a yn+1 ,
yn
yn+1 = yn + h · yn+1 (x2n+1 1) , yn+1 h · yn+1 (x2n+1 1) = yn , yn+1 =
1 h(x2n+1 1)
Para o passo h = 0.1, e x 2 [0, 1], obtém a seguinte solução:
xn 0.000 0.100 0.200 0.300 0.400 0.500 0.600 0.700 0.800 0.900 1.000
yn 1.000 0.910 0.830 0.761 0.702 0.653 0.614 0.584 0.564 0.553 0.553
y(xn ) 1.000 0.905 0.821 0.748 0.685 0.632 0.590 0.557 0.533 0.518 0.513
" 0.000 0.005 0.009 0.013 0.017 0.021 0.024 0.027 0.031 0.035 0.040

Pág. 1 de 9
Matemática

No caso do método de Euler regressivo, neste exemplo o efeito de acumulação do erro


manifesta-se de igual modo.

Pág. 2 de 9
Matemática

Exercício 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Resolva a equação diferencial do exercício anterior usando o método de Taylor de ordem 2.

Solução:

Segundo o método de Taylor, yi+1 = yi + h · f (xi , yi ) + h2 f 00 (xi , yi ). Considerando que para


2

o problema, a função f (x, y(x)) = y · (x2 1), a fórmula iterativa é dada pela seguinte
expressão:

h2
yi+1 = yi + h · yi · (x2i 1) + · yi · (2xi + (x2i 1)2 )
2
pois, para f (x, y) = y(x2 1), pela regra da derivada da função composta, f 0 (x, y(x)) =
fx0 (x, y) + fy0 (x, t)y 0 (x), obtendo-se: f 0 (x, y) = 2xy + y(x2 1)2 .
Considerando o passo h = 0.1 e a condição inicial y(0) = 1, obtém-se os seguintes valores:

xn 0.00000 0.10000 0.20000 0.30000 0.40000 0.50000 0.60000 0.70000 0.80000 0.90000 1.00000
yn 1.00000 0.90500 0.82074 0.74738 0.68470 0.63234 0.58986 0.55685 0.53308 0.51849 0.51340
y(xn ) 1.00000 0.90514 0.82092 0.74752 0.68477 0.63234 0.58978 0.55673 0.53295 0.51840 0.51342
" 0.00000 0.00014 0.00017 0.00014 0.00007 0.00001 0.00007 0.00012 0.00013 0.00009 0.00001
Comparando os resultados com os obtidos pelos métodos de Euler progressivo e regressivo
(Exercício 1), o valor do erro é significativamente menor (o número de casas decimais exatas
aumentou de 1 para 3) e a distribuição ao longo da solução não apresenta acumulação de
erros.

Pág. 3 de 9
Matemática

Exercício 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Suponha que se pretende resolver o seguinte problema de condições iniciais pelo método de
Euler. (
y0 = y
y(0) = 1, x 2 [0, 1]
Prove que se usar como passo h = 0.002, as aproximações yn de y(xn ) são obtidas com 3 casas
decimais significativas qualquer que seja o xn 2 [0, 1].

Solução:

|Th |
ry n = < |Th |, porque a solução do problema é a função y(x) = ex e para x 2 [0, 1],
|y(xn )|
o valor de y(x) 2 [1, e].
h
Dado que |Th | < maxx2[0,1] |f 0 (x, y)| e que f 0 (x, y) = y 00 = ex , maxx2[0,1] |f 0 (x, y)| =
2
h 0.002
maxx2[0,1] e = e = e. Pelo que |Th | < e =
x 1 e ⇡ 2.7 ⇥ 10 3 < 5 ⇥ 10 3 , para
2 2
qualquer xn 2 [0, 1].

Pág. 4 de 9
Matemática

Exercício 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Dado y 0 = x y e y(0) = 2.0, determine y(0.2) e y(0.4).

Solução:

Usando o método Euler progressivo, com passo h=0.1:

xn 0.000 0.100 0.200 0.300 0.400


, obtém-se y(0.2) = 1.63 e y(0.4) = 1.368.
yn 2.000 1.800 1.630 1.487 1.368
Diminuindo o passo para h = 0.05 e comparando com a solução exacta y = Ce x +x 1
(com C = 3, pois y(0) = 2):
xn 0.000 0.050 0.100 0.150 0.200 0.250 0.300 0.350 0.400
yn 2.000 1.900 1.807 1.722 1.644 1.571 1.505 1.445 1.390
,
y(xn ) 2.000 1.904 1.815 1.732 1.656 1.586 1.522 1.464 1.411
"(xn ) 0.000 0.004 0.007 0.010 0.013 0.015 0.017 0.019 0.021
y(0.2) = 1.644 e y(0.4) = 1.390
Usando o método de Euler regressivo com h = 0.05:
xn 0.000 0.050 0.100 0.150 0.200 0.250 0.300 0.350 0.400
yn 2.000 1.905 1.816 1.735 1.659 1.590 1.526 1.468 1.414
y(xn ) 2.000 1.904 1.815 1.732 1.656 1.586 1.522 1.464 1.411
"(xn ) 0.000 0.001 0.002 0.003 0.003 0.003 0.004 0.004 0.003
obtém-se y(0.2) = 1.659 e y(0.4) = 1.414.
As duas tabelas permitem concluir que o método de Euler regressivo neste caso é mais
preciso e estável, enquanto que o método de Euler regressivo apresenta acumulação de
erros.

Pág. 5 de 9
Matemática

Exercício 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Utilizando um método de Taylor, determine y(1) com um erro máximo de 5 ⇥ 10 2 sabendo
que max |y (4) (x)| < 11.1,
x2[0,1]
(
y 0 y = sin(x) + cos(2x)
y(0) = 1

(Nota: Resolva o problema utilizando radianos)

Solução:

Considerando o método de Taylor de ordem 3,

h2 00 h3
y(xi+1 ) = y(xi ) + h · y 0 (xi ) + y (xi ) + y (3) (xi )
2! 3!

com erro de truncatura Th = h4 (4)


(4)! y (⇣)).

h4 h4 0.05 · 24
Pelo que, |Th |  maxx2[0,1] |y (4) |  · 11.1 < 5 ⇥ 10 2, portanto, h4 < e
4! 24 11.1
h < 0.573.
Considerando que y 0 = y + sin(x) + cos(2x), y 00 = y 0 + cos(x) 2 sin(2x),
y (3) = y 00 sin(x) 4 cos(2x)
O método iterativo pode ser implementado da seguinte forma:
8 2 3
>
>
> yi+1 = yi + h · C1 + h2 · C2 + h6 · C3
>
<C = y + sin(x ) + cos(2x )
1 i i i
>
> C 2 = C 1 + cos(x i ) 2 sin(2x i)
>
>
:C = C sin(xi ) 4 cos(2xi )
3 2

Tomando h = 0.5 < 0.573, obtém-se o seguinte resultado:


xn 0.000 0.500 1.000
yn 1.000 2.354 4.361
Pelo que a solução aproximada y(1) = 4.361, com erro inferior a 0.05, e a solução exacta
y(1) 2 [4.361 0.05, 4.361 + 0.05] = [4.311, 4.411].

Pág. 6 de 9
Matemática

Exercício 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Dado o PVI, determine y(1) e y(2) utilizando o método de Runge-Kutta de quarta ordem com
h = 0.5. 8
<y 0 = 2y + (x + 1)3
x+1
:y(0) = 3

Solução:

A expressão geral do método de Runge-Kutta de ordem 4 é dada por:


F1 = f (xi , yi )
F2 = f (xi + h2 , yi + h2 F1 )
F3 = f (xi + h2 , yi + h2 F2 ))
F4 = f (xi + h, yi + hF3 )
yi+1 = yi + h( F61 + F32 + F33 + F64 )
xn 0.000 0.500 1.000 1.500 2.000
F1 0.000 7.000 14.228 25.961 43.696
F2 0.000 9.553 18.727 33.125 54.261
F3 0.000 10.574 20.013 34.717 56.181
F4 0.000 14.425 26.146 43.881 69.119
yn 3.000 8.140 17.961 35.089 62.897

Pág. 7 de 9
Matemática

Exercício 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Dado o problema de valores iniciais seguinte calcule y(0.50) e y(0.50), para h = 0.25:
8
> 00 0
<y = 4y 3y x
4
y(0) = 9
>
: 0
y (0) = 73

Solução:

O primeiro passo consiste em reescrever a equação de segunda ordem num sistema de duas
equações de primeira ordem:
8
>
> y1 = y
>
>
<y 0 = y
1 2
> y 0 = f (x, y , y ) = 4y 3y1 x
>
> 2 1 2 2
>
:y (0) = 4 , y (0) = 7
1 9 2 3

Usando o método de Euler para resolução de cada uma das equações do sistema, obtém-se
o seguinte esquema iterativo:
8 4
>
> y1,0 =
>
> 9
>
< 7
y2,0 =
> 3
>
> y = y1,i + h · y2,i
>
> 1,i+1
:
y2,i+1 = y2,i + h(4y2,i 3y1,1 xi )

xn 0.000 0.250 0.500


y2 2.333 4.333 7.833
y1 0.444 1.028 2.111
Dado que y1 = y e y2 = y10 = y 0 , y(0.25) ⇡ 1.260 e a derivada, y 0 (0.25) ⇡ 5.030. Aproxima-
ções obtidas com h = 0.05.

Pág. 8 de 9

Você também pode gostar