A maior rede de estudos do Brasil

Grátis
217 pág.
NotasdeAula_CN

Pré-visualização | Página 35 de 38

5(k
(1)
1 + k
(1)
2 ) = 0, 8380737304.
O valor y2 corresponde a inclinação da tangente em (0, 5; y(0, 5)). Note que,
determinando a solução analítica deste problema do valor inicial e em seguida
calculando o valor de y(x) em x = 0, 5 temos y(0, 5) = 0, 8380737304.
O método de Heun possui um erro de truncamento global da ordem de O(h2).
Logo, podemos veri�car que, se diminuirmos o tamanho do passo de h para h/2,
o erro será reduzido de um fator 1/4, e assim sucessivamente.
Método clássico de Runge-Kutta
Os métodos de Heun e de Euler, vistos anteriormente, são conhecimdos como
fazendo parte dos métodos de Runge-Kutta. O método de Euler possui um erro
de truncamento da ordem O(h), enquanto o método de Heun possui um erro de
truncamento da ordem de O(h2), por isso estes são comumente conhecidos como
métodos de runge-Kutta de primeira e segunda ordens, respectivamente. Há
também o método de Runge-Kutta de terceira ordem, cujo erro de truncamento
é de O(h3). A equação de iteração deste método é dada por:
200 cálculo numérico
k
(n)
1 = hf(xn, yn),
k
(n)
2 = hf(xn +
h
2
, yn +
k
(n)
1
2
),
k
(n)
3 = hf(xn +
3h
4
, yn +
3k
(n)
2
4
),
yn+1 = yn +
1
9
(2k
(n)
1 + 3k
(n)
2 + 4k
(n)
3 ). (9.9)
Exercício 9.5 Resolva o Exemplo 9.6 utilizando o método de Runge-Kutta de
terceira ordem.
O método clássico de Runge-Kutta permite reduzir o erro global de trunca-
mento para O(h4). Da mesma forma que os demais, o intervalo [x0, b] é dividido
em n partes de comprimento h. Se calcularmos agora a função f(x, y) quatro
vezes em vez de apenas duas, como no método de Heun, ou três como o método
de terceira ordem, teremos o método clássico de Runge-Kutta dado a seguir:
k
(n)
1 = hf(xn, yn),
k
(n)
2 = hf(xn +
h
2
, yn +
k
(n)
1
2
),
k
(n)
3 = hf(xn +
h
2
, yn +
k
(n)
2
2
), (9.10)
k
(n)
4 = hf(xn + h, yn + k
(n)
3 ),
yn+1 = yn +
1
6
(k
(n)
1 + 2k
(n)
2 + 2k
(n)
3 + k
(n)
4 ).
Em virtude da ordem do erro de truncamento deste método ser O(h4), o
método de Runge-Kutta dado pelas equações em (9.10) é também conhecido
como Runge-Kutta de quarta ordem. Todos esses métodos operam com base
na informação de um passo apenas, ou seja, para computar (x1, y1), precisamos
apenas do ponto inicial (x0, y0), e assim sucessivamente. Por essa razão, todos
os métodos estudados até o momento pertencem à classe dos métodos de passo
simples.
Após a obtenção de certo número de pontos, por meio dos métodos de passo
simples, é natural que os valores já determinados possam ser utilizados para obter
os valores dos pontos subseqüentes. Os métodos que se baseiam nessa técnica são
conhecidos como métodos de passos múltiplos.
Uma vantagem dos métodos de passo simples é que estes são auto-inicializáveis,
já que a condição inicial é um dado do problema do valor inicial. Ao contrário,
resolução numérica de edo's 201
os métodos de múltiplos passos, embora mais re�nados, sofrem a desvantagem de
não serem auto-inicializáveis, pois se torna necessário informar a priori os valores
em mais pontos.
O desenvolvimento mais detalhado do método de Runge-Kutta e outros melho-
ramentos são deixamos como tarefa de pesquisa para o leitor, que pode encontrá-
los em alguns textos citados na lista bibliográ�ca.
Exemplo 9.7 Resolva o PVI, y′ = xy, y(0) = 1, usando a técnica Runge-Kutta
para uma iteração considerando um passo h = 0, 4; compare o resultado obtido
com o valor exato para x = 1, 6.
Solução: Temos que f(x, y) = xy, x0 = 0, y0 = 1. Assim,
k
(0)
1 = hf(x0, y0) = h · x0 · y0 = 0, 4 · 0 · 1 = 0;
k
(0)
2 = hf(x0 + h/2, y0 + k
(0)
1 /2) = 0, 4 · (0 + 0, 4/2) · (1 + 0/2) = 0, 08;
k
(0)
3 = hf(x0 + h/2, y0 + k
(0)
2 /2) = 0, 4 · (0 + 0, 4/2) · (1 + 0, 08/2) = 0, 0832;
k
(0)
4 = hf(x0 + h, y0 + k
(0)
3 ) = 0, 4 · (0 + 0, 4) · (1 + 0, 0832) = 0, 173312
y1 = y0 +
1
6
(k
(0)
1 + 2k
(0)
2 + 2k
(0)
3 + k
(0)
4 )
= 1 +
1
6
(0 + 2 · 0, 08 + 2 · 0, 0832 + 0, 173312) = 1, 083285.
Exercício 9.6 Utilize o método clássico de Runge-Kutta para resolver o problema
do Exemplo 9.6.
9.2 Métodos de passos múltiplos
Nesta seção, apresentaremos alguns dos métodos de passos múltiplos.
9.2.1 Método trapezoidal
Seja a equação diferencial de primeira ordem dada por
y′ = f(x, y).
Se integrarmos a equação acima no intervalo [xn, xn+1], temos:∫ xn+1
xn
y′dx =
∫ xn+1
xn
f(x, y(x))dx. (9.11)
O lado esquerdo da equação anterior resulta em∫ xn+1
xn
y′dx = y(xn+1)− y(xn),
202 cálculo numérico
porém, como não conhecemos a função y(x), a integral do lado direito da equação
(9.11) não pode ser determinada diretamente.
Uma forma de resolver o problema é considerarmos o método dos trapézios
de integração númerica, e então o lado direito pode ser aproximado da forma:∫ xn+1
xn
f(x, y(x))dx ≈ h
2
[f(xn, y(xn)) + f(xn+1, y(xn+1))] .
Se substituirmos y(xn), y(xn+1) pelo valor das aproximações respectivas yn,
yn+1, obtemos o método trapezoidal para resolução do problema do valor inicial:
yn+1 = yn +
h
2
[f(xn, yn) + f(xn+1, yn+1)] . (9.12)
O erro de truncamento global do método trapezoidal é de ordem O(h2). Ob-
serve que nos métodos de Runge-Kutta, para computarmos o valor de yn+1 as
equações dependem apenas dos valores anteriores, isto é, de xn e yn. Tais métodos
são também conhecidos como métodos explícitos. No entanto, quando olhamos
para o método trapezoidal, vemos que na equação (9.12) o lado direito depende
do termo yn+1. Ou seja, o método trapezoidal é um método implícito. Quando
a função f(x, y) é linear, o método requer a resolução de uma equação linear,
porém, quando a função é não linear em y(x), o método torna-se mais complexo,
devido à necessidade de resolução de uma equação não linear. Os exemplos a
seguir ilustram esses casos.
Exemplo 9.8 Seja o problema do valor inicial y′ = xy, y(0) = 1. A função
f(x, y) = xy é linear em y(x), assim é mais fácil de resolver para obter o valor
yn+1 quando tomamos um passo no método trapezoidal. Considerando um passo
h = 0, 2, determine a aproximação para duas iterações.
Solução: Usando a equação (9.12), temos
y1 = y0 +
h
2
(x0 · y0 + x1 · y1)
= 1 +
0, 2
2
(0 · 1 + 0, 2 · y1) = 1 + 0, 02y1
⇒ y1 ≈ 1, 020408.
Exemplo 9.9 Seja o problema do valor inicial y′ = e−y, y(0) = 1. Nesse caso,
temos que a função f(x, y) = e−y é não linear em y(x), o que conduz a resolução
de uma equação não linear. Considerando o passo h = 0, 2, apresentamos abaixo
o resultado para duas iterações.
Solução: Substituindo os valores na equação (9.12), temos:
resolução numérica de edo's 203
y1 = 0, 1 e
−y1 + 1, 03678.
Usando o método de Newton para resolução de equações transcendentais, consi-
derando a variável y1, aplicando a técnica do isolamento da raiz, vemos que no
intervalo [1, 2] existe uma única raiz. Então, a solução para a equação é
y1 = 1, 07105.
Agora, considerando a nova iteração, temos:
y2 = 0, 1 e
−y2 + 1, 10531,
que, utilizando novamente o método de Newton, obtemos:
y2 = 1, 13738.
Exercício 9.7 Procure implementar computacionalmente o método trapezoidal,
buscando um mínimo de iteratividade.
O método trapezoidal pode ser re�nado à medida que consideramos melhores
aproximações das soluções das equações não lineares.
Uma alternativa para a resolução da equação não linear é utilizarmos o método
iterativo do ponto-�xo, dado por:
y
(0)
n+1 = yn + hf(xn, yn),
y
(k+1)
n+1 = yn +
h
2
(
f(xn, yn) + f(xn+1, y
(k)
n+1)
)
, k = 0, 1, 2, . . .
É importante veri�car se a aplicação do método trapezoidal garantirá conver-
gência para o tamanho de passo escolhido. Para isso, podemos mostrar que a
condição de convergência para o método do ponto-�xo é dada por:∣∣∣∣h2