soluç˜ao numérica de equaç˜oes diferenciais ordinárias

34
Cap´ ıtulo 10 Solu¸ ao Num´ erica de Equa¸ oes Diferenciais Ordin´ arias 10.1 Introdu¸ ao Equa¸ c˜oes diferenciais aparecem com grande freq¨ encia em modelos que descrevem quantitati- vamente fenˆomenos em diversas ´areas, como por exemplo mecˆanica dos fluidos, fluxo de calor, vibra¸ c˜oes,rea¸ c˜oesqu´ ımicas e nucleares, economia, biologia, etc. A motiva¸ c˜ao para a constru¸ c˜ao dos primeiros computadores foi ocasionada, em grande parte, pela necessidade de serem calculadas trajet´oriasbal´ ısticas de uma forma precisa e r´apida. Hoje em dia, os computadores est˜ ao sendo muito empregados na solu¸ c˜ao de equa¸c˜oes relacionadas com os foguetes bal´ ısticos, com a teoria de sat´ elites artificiais, com o estudo de redes el´ etricas, curvaturas de vigas, estabilidade de avi˜ oes, teoria de vibra¸ c˜oes e outras aplica¸ c˜oes. Exemplo 10.1 Considere a equa¸ ao dy dt =1 e t . (10.1) Esta ´ e uma equa¸ ao diferencial porque envolve a derivada dy dt de y = y(t). Apenas a vari´ avel independente t aparece do lado direito da equa¸c˜ ao (10.1). Portanto, uma solu¸c˜ ao ´ e a antiderivada de 1 e t e as regras de integra¸ ao podem ser empregadas para determinar y(t): y(t)= t + e t + c, (10.2) onde c ´ e a constante de integra¸ ao. Todas as fun¸ oes em (10.2) ao solu¸ oes de (10.1) porque satisfazem a condi¸ ao y (t)=1 e t . Na verdade, elas formam uma fam´ ılia de curvas. 1 Exemplo 10.2 Considere a temperatura y(t) de um objeto sob processo de resfriamento. A taxa devaria¸c˜ ao de temperatura do corpo est´a relacionada com a diferen¸ ca de temperatura entre a sua temperatura e a do meio que o cerca. Este fenˆ omeno pode ser expresso pela equa¸c˜ ao diferencial dy dt = k (y A) onde A ´ e a temperatura do meio, y ´ e a temperatura do objeto no tempo t e k ´ e uma constante positiva. O sinal negativo ´ e necess´ ario para garantir que dy dt ser´ a negativo quando a temperatura do corpo superar a temperatura do meio. 1 A varia¸c˜ao do valor de c representa um movimento da curva solu¸c˜ao para cima ou para baixo e ´ e poss´ ıvel encontrar uma determinada curva que passe pelos pontos desejados. 178

Upload: vanphuc

Post on 08-Jan-2017

222 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: Soluç˜ao Numérica de Equaç˜oes Diferenciais Ordinárias

Capıtulo 10

Solucao Numerica de EquacoesDiferenciais Ordinarias

10.1 Introducao

Equacoes diferenciais aparecem com grande frequencia em modelos que descrevem quantitati-vamente fenomenos em diversas areas, como por exemplo mecanica dos fluidos, fluxo de calor,vibracoes, reacoes quımicas e nucleares, economia, biologia, etc. A motivacao para a construcaodos primeiros computadores foi ocasionada, em grande parte, pela necessidade de serem calculadastrajetorias balısticas de uma forma precisa e rapida. Hoje em dia, os computadores estao sendomuito empregados na solucao de equacoes relacionadas com os foguetes balısticos, com a teoriade satelites artificiais, com o estudo de redes eletricas, curvaturas de vigas, estabilidade de avioes,teoria de vibracoes e outras aplicacoes.

Exemplo 10.1 Considere a equacao

d y

d t= 1− e−t. (10.1)

Esta e uma equacao diferencial porque envolve a derivada d yd t de y = y(t). Apenas a variavel

independente t aparece do lado direito da equacao (10.1). Portanto, uma solucao e a antiderivadade 1− e−t e as regras de integracao podem ser empregadas para determinar y(t):

y(t) = t+ e−t + c, (10.2)

onde c e a constante de integracao. Todas as funcoes em (10.2) sao solucoes de (10.1) porquesatisfazem a condicao y′(t) = 1− e−t. Na verdade, elas formam uma famılia de curvas.1

Exemplo 10.2 Considere a temperatura y(t) de um objeto sob processo de resfriamento. A taxade variacao de temperatura do corpo esta relacionada com a diferenca de temperatura entre a suatemperatura e a do meio que o cerca. Este fenomeno pode ser expresso pela equacao diferencial

d y

d t= −k (y −A)

onde A e a temperatura do meio, y e a temperatura do objeto no tempo t e k e uma constantepositiva. O sinal negativo e necessario para garantir que d y

d t sera negativo quando a temperaturado corpo superar a temperatura do meio.

1A variacao do valor de c representa um movimento da curva solucao para cima ou para baixo e e possıvelencontrar uma determinada curva que passe pelos pontos desejados.

178

Page 2: Soluç˜ao Numérica de Equaç˜oes Diferenciais Ordinárias

Introducao ao Calculo Numerico Solucao Numerica de Equacoes Diferenciais Ordinarias

Se a temperatura do objeto e conhecida no tempo t = 0, diz-se que esta e uma condicao iniciale inclui-se esta informacao na formulacao do problema, que fica:

d y

d t= −k (y −A) com y(0) = y0,

Pode-se usar a tecnica de separacao de variaveis para encontrar a solucao

y = A+ (y0 −A) e−k t.

Para cada escolha de y0 a curva solucao sera diferente, como mostra a figura. Pode-se observarque, a medida que o tempo passa, a temperatura do objeto se aproxima da temperatura do meio.Se y0 < A entao o objeto esta sendo aquecido, e nao resfriado.

Uma equacao envolvendo uma relacao entre uma funcao desconhecida e uma ou mais de suasderivadas e denominada equacao diferencial. Assim, uma equacao diferencial ordinaria (que temapenas uma variavel independente) de ordem n tem a forma

y(n) = f(x, y, y′, y′′. . . , y(n−1)). (10.3)

Sua solucao e uma funcao φ(x) n vezes diferenciavel em um intervalo determinado e que satisfaz(10.3), isto e,

φ(n) = f(x, φ, φ′, φ′′. . . , φ(n−1)). (10.4)

Exemplo 10.3

d y

d x= x+ y equacao diferencial ordinaria

∂2u

∂x2+∂2u

∂y2= 0 equacao diferencial parcial

Diz-se que a ordem de uma equacao diferencial e a ordem da mais alta derivada que aparecena equacao. Uma equacao diferencial e linear se a funcao e suas derivadas aparecem linearmentena equacao.Exemplo 10.4

x y′ = x− y equacao diferencial linear

y′′+ (1− y2) y′ + y = 0 equacao diferencial nao linear

Se, dada uma equacao de ordem m, a funcao, assim como as suas derivadas ate ordem m− 1sao especificadas em um mesmo ponto, entao tem-se um problema de valor inicial – PVI. Se, emproblemas envolvendo equacoes diferenciais ordinarias de ordem m ≥ 2, as m condicoes fornecidaspara busca da solucao unica nao sao todas dadas em um mesmo ponto, entao tem-se um problemade valor de contorno – PVC.Exemplo 10.5

y′(x) = yy(0) = 1 e um PVI

y(4)(x) + k y(x) = qy(0) = y′(0) = 0y(L) = y

′′(L) = 0

e um PVC

Embora existam varias tecnicas para solucionar, de forma aproximada, algumas classes selecionadasde equacoes diferenciais, a grande maioria das equacoes encontradas na pratica nao podem sersolucionadas analiticamente. Nao existe, por exemplo, nenhuma “expressao fechada” para asolucao de y′ = x3 + y2 com y(0) = 0. Neste caso, os recursos disponıveis sao os metodosnumericos, que aproximam a solucao desejada.

Um procedimento numerico para calcular a solucao de um dado PVI e um algoritmo paracalcular os valores aproximados y0, y1, y2, . . . , yn, . . . da solucao y = φ(t) em um conjunto depontos t0 < t1 < t2 < . . . < tn . . ., conforme a figura 10.1.

A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 179

Page 3: Soluç˜ao Numérica de Equaç˜oes Diferenciais Ordinárias

Introducao ao Calculo Numerico Solucao Numerica de Equacoes Diferenciais Ordinarias

Figura 10.1: Aproximacao da solucao em um PVI.

10.2 Problema de Valor Inicial

Suponha o seguinte problema de valor inicial (PVI)x′ = f(t, x)

x(t0) = x0(10.5)

onde x e uma funcao de t, com x′ = ddtx(t). A funcao f da a ”inclinacao” de x no ponto t. Por

exemplo, x′ = tan(t+ 3)

x(−1) = 1 (10.6)

A partir da equacao (10.5), pretende-se determinar x em um intervalo contendo o ponto inicialt0. Como a solucao analıtica do PVI (10.6) e x(t) = sec(t+3), podemos ver que−π/2 < t+3 < π/2,ja que sec t e indefinida para t = ±π/2.

Esse exemplo e muito particular, pois a sua solucao analıtica nos permite calcular valores parax. Tipicamente, no entanto, problemas da forma (10.5) nao tem solucao analıtica, e metodosnumericos devem ser utilizados para obter-se uma solucao aproximada, como nos exemplos aseguir:

1. A equacao y′ = x2 + y2 nao tem solucao elementar;

2. A equacao y′′ ± a(y′)2 + by = 0, a qual descreve vibracoes com amortecimento proporcionalao quadrado da velocidade, nao pode ser solucionada de forma analıtica;

3. Um problema de grande interesse historico – a solucao das equacoes diferenciais que governamo movimento de tres corpos sujeitos as suas proprias atracoes gravitacionais – tambem naotem solucao analıtica.

Em outras situacoes, e mais simples recorrer-se a uma solucao numerica de um problema dessetipo, utilizando-a para obter valores de uma solucao particular, como em

1. A equacao y′′ = −xy, sujeita a uma transformacao de variaveis, pode ser resolvida em termosde funcoes de Bessel;

2. Uma tabela de integrais elıpticas pode ser usada para resolver equacoes do tipo φ′′ = −senφ.

A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 180

Page 4: Soluç˜ao Numérica de Equaç˜oes Diferenciais Ordinárias

Introducao ao Calculo Numerico Solucao Numerica de Equacoes Diferenciais Ordinarias

10.2.1 Existencia da Solucao

Cabe, agora, uma pergunta: sera que todo e qualquer problema na forma (10.5) apresenta solucao?A resposta e nao e, mesmo assim, dependendo de certas consideracoes feitas a respeito de f , asolucao, se existir, so sera considerada na vizinhanca de t0. Por exemplo, considere

x′ = 1 + x2

x(0) = 0 (10.7)

A inclinacao em t = 0 e 1 (i.e. x′(0) = 1). Como a inclinacao e positiva, podemos dizer que x(t)esta crescendo perto de t = 0; logo, tambem 1+ x2 cresce. Ora, como x e x′ crescem, para algumvalor de t nao havera solucao, qual seja, x(t) = +∞; no entanto, o problema (10.7) apresentacomo solucao analıtica x(t) = tan t.

Vejamos entao alguns teoremas que garantem a existencia e a unicidade da solucao (as provasdos mesmos podem ser verificadas em [10]).

Teorema 10.2.1 Se f e contınua em um retangulo R centrado em (t0, x0), R = (t, x) : | t−t0 | ≤α, |x − x0 | ≤ β, entao o problema (10.5) tem uma solucao x(t) para | t − t0 | ≤ min(α, β/M),onde M e o maximo de | f(x, t) | no retangulo R.

Teorema 10.2.2 Se f e ∂f∂x sao contınuas no retangulo R, entao o problema (10.5) tem uma

solucao unica no intervalo | t− t0 | < min(α, β/M).

Teorema 10.2.3 Se f e contınua na tira a ≤ t ≤ b, −∞ < x < ∞ e satisfaz a condicao deLipschitz em x,

| f(t, x1)− f(t, x2 | ≤ L|x1 − x2 |entao o problema (10.5) tem uma solucao unica em [a, b].

10.2.2 Erros na solucao numerica

Ao se aproximar numericamente a solucao de uma equacao diferencial – atraves de um processode integracao numerica – uma serie de erros surgem, os quais podem ser classificados como:

Erro de truncamento local (ETL): e o erro existente em uma iteracao da integracao numericaao substituirmos um processo infinito por um finito;

Erro de arredondamento local (EAL): e causado pela precisao finita do computador em uso;

Erro de truncamento global (ETG): e a acumulacao dos ETL ao longo do processo de inte-gracao; porem, ele existiria mesmo que se utilizasse uma aritmetica de precisao infinita, poise inerente ao metodo e independente do computador utilizado;

Erro de arredondamento global (EAG): e a acumulacao de todos os EAL;

Erro total (ETT): e a soma dos ETG e EAG.

A seguir, apresentaremos alguns dos diferentes metodos numericos para se obter uma aproximaccao para a solucao de (10.5).

10.2.3 Metodo da Serie de Taylor

Usualmente, um metodo numerico para a solucao de uma equacao diferencial produz um conjuntode valores; em nosso caso, para o problema (10.5), terıamos os pares (t0, x0), (t1, x1), . . ., (tm, xm).Isso nos mostra que a solucao numerica e sempre discreta; obviamente, uma expressao analıtica,contınua, pode ser obtida atraves da interpolacao de uma “spline” ou outra funcao aos pontoscalculados (ver Capıtulo 7).

A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 181

Page 5: Soluç˜ao Numérica de Equaç˜oes Diferenciais Ordinárias

Introducao ao Calculo Numerico Solucao Numerica de Equacoes Diferenciais Ordinarias

Mais uma vez, consideremos o problema (10.5); f e uma funcao de duas variaveis, e (t0, x0)um ponto unico atraves do qual passa a curva solucao. Essa solucao e uma funcao x(t) tal que

dx(t)dt

= f(t, x(t))∀t, | t− t0 | 1

com x(t0) = x0.Ometodo da serie de Taylor consiste em obtermos uma expansao em x de f(x, t), de acordo com

a serie de Taylor, ate um determinado numero de termos; uma vez obtida a expansao, integramo-lanum intervalo [t0, t1] e [x0, x1]. Considere, entao, o problema

x′ = cos t− senx+ t2

x(−1) = 3 (10.8)

Escrevendo a serie de Taylor para x, temos

x(t+ h) = x(t) + hx′(t) +h2

2!x′′(t) +

h3

3!x′′′(t) +

h4

4!x(4)(t) + . . .

de onde, para o problema (10.8), vem2

x′′ = −sent− x′ cosx+ 2t (10.9)x′′′ = − cos t− x′′ cosx+ (x′)2senx+ 2 (10.10)x(4) = sent− x′′′ cosx+ 3x′x′′senx+ (x′)3 cosx (10.11)

Obviamente, cada termo de ordem superior a 4 sera cada vez mais extenso; no entanto, pode-seobservar que (10.11) e escrita em termos de (10.10) a qual, por sua vez, e escrita em termos de(10.9) a qual e escrita, tambem, em termos de x′, dada no problema.

Utilizando apenas os termos acima, dizemos que o metodo de Taylor correspondente e dequarta ordem (de forma generica, o metodo de Taylor de n-esima ordem inclui todos os termos atehn

n! x(n)(t)). Os termos descartados (ordem superior a n) constituem o ETL. Na serie de Taylor, o

ETL e dado por

ETLn =1

(n+ 1)!hn+1x(n+1)(t+ θh), 0 < θ < 1 (10.12)

O processo de integracao consiste em se avaliar a serie truncada de Taylor em diferentes pontos(t, x). Deve-se fixar o intervalo de integracao em t, i.e. t0 ≤ t ≤ t1, bem como o passo de integra-cao, h, tal que o numero de iteracoes sera t1−t0

h . Daı, pode-se dizer que o ETG e, no mınimo, deordem O(hn).

Pode-se afirmar que o metodo de Taylor e extremamente dependente do problema a serresolvido, pois e necessario escrever explicitamente as derivadas (parciais) de x(t). Dessa forma,o algoritmo mostrado a seguir e apenas um modelo para o metodo de Taylor de quarta ordem, oqual deve ser adaptado para cada problema especıfico.

2Note que ao diferenciar termos como senx em relacao a t, devemos terdsenx(t)

dt, aplicando a regra da cadeia.

A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 182

Page 6: Soluç˜ao Numérica de Equaç˜oes Diferenciais Ordinárias

Introducao ao Calculo Numerico Solucao Numerica de Equacoes Diferenciais Ordinarias

Algoritmo 10.2.1 Metodo de Taylor de 4a Ordem

proc taylor 4(input: h, t0, t1, x0; output: x)n← | t1−t0 |

|h |t← t0x← x0

for k ← 0, 1, . . . , n do% Inclua as derivadas de f(x, t) nas linhas abaixox1 ← . . .x2 ← . . .x3 ← . . .x4 ← . . .x← x+ h

(x1 + h

2

(x2 + h

3

(x3 + h

4x4

)))t← t+ h

endforendproc

Note que o algoritmo 10.2.1 avalia a expansao de Taylor utilizando um esquema de multiplicacaoaninhada, como no metodo de Horner (vide Secao 3.5). Alem disso, o erro de truncamento local(i.e. a cada t) e da ordem de h5. Se usarmos, por exemplo, um passo de integracao h = 10−2,esse erro sera de 10−10 a cada iteracao em t; e possıvel, para k muito grande, que esses erros,acumulados, contaminem o processo de integracao numerica.

10.2.3.1 Vantagens e desvantagens

O metodo de Taylor exige a existencia de derivadas parciais de f na regiao onde a curva solucaopassa no plano t− x. Veja que esta exigencia nao e necessaria para a existencia de solucao. Alemdisso, cada derivada parcial deve ser individualmente codificada.

Como vantagens, o metodo e extremamente simples e, se for possıvel utilizar derivadas demaior ordem, a precisao do metodo e potencialmente alta.

10.2.4 Metodo de Euler

O metodo de Euler e uma simplificacao do metodo de Taylor, e nada mais e do que um metodode Taylor de 1a ordem, i.e.

xt+h = x(t) + hf(t, x) (10.13)

O metodo de Euler, o qual pode ser expresso atraves do algoritmo 10.2.2, e bastante utilizado, pornao exigir mais do que e expresso na definicao de um problema do tipo (10.5), apesar de apresentarum ETL de ordem O(h).

Cabe ressaltar que a primeira tentativa de resolucao numerica de uma equacao diferencial foifeita por Euler, por volta de 1768 D.C.

Algoritmo 10.2.2 Metodo de Euler

proc euler(input: h, t0, t1, x0; output: x)n← | t1−t0 |

|h |t← t0x← x0

for k ← 0, 1, . . . , n dox← x+ hf(t, x)t← t+ h

endforendproc

A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 183

Page 7: Soluç˜ao Numérica de Equaç˜oes Diferenciais Ordinárias

Introducao ao Calculo Numerico Solucao Numerica de Equacoes Diferenciais Ordinarias

Exemplo 10.6 Considere o problema

y′ = 1− t+ 4 y (10.14)y(0) = 1 (10.15)

A equacao (10.14) e do tipo diferencial linear de primeira ordem, sendo facil verificar que asolucao que cumpre a condicao inicial (10.15) e

y = φ(t) =14t− 3

16+1916e4 t.

Assim, com a formula de Euler e um incremento h = 0, 1 e possıvel determinar um valoraproximado para a solucao em t = 0, 2 do PVI acima.

Neste caso, f(t, y) = 1 − t + 4 y. Para usar a aproximacao de Euler, calcula-se inicialmentef0 = f(0, 1) = 5. Entao:

y1 = y0 + h f(0, 1)= 1 + (0, 1) (5)= 1, 5,

Na etapa seguinte,

y2 = y1 + h f(t1, y1)= 1, 5 + (0, 1) f(0, 1 , 1, 5)= 1, 5 + (0, 1) (6, 9)= 2, 19,

Este resultado pode ser comparado com o valor exato de φ(0, 2) que e φ(0, 2) = 2, 5053299.Logo, o erro e aproximadamente 2, 51− 2, 19 = 0, 32. Um erro desta grandeza (erro percentual de12%) nao e normalmente aceitavel.Sugestao: Experimente refazer seus calculos considerando espacamentos progressivamente menorese observe o que acontece.

10.2.5 Metodo de Heum

Este metodo introduz uma ideia nova para a construcao de um algoritmo para solucao do problemade valor inicial

y′(t) = f(t, y(t))y(t0) = y0

no intervalo [a, b].Para obter o ponto (t1, y1), usa-se o teorema fundamental do calculo e integra-se y′(t) sobre

[t0, t1]: ∫ t1

t0

y′(t) dt = y(t1)− y(t0), (10.16)

onde a antiderivada de y′(t) e a funcao desejada, y(t). Quando a equacao (10.16) e resolvida paray(t1) o resultado e

y(t1) = y(t0) +∫ t1

t0

f(t, y(t)) dt. (10.17)

Agora, usando integracao numerica, pode-se aproximar a integral definida em (10.17). A regrados trapezios com passo h = t1 − t0 fornece

y(t1) ≈ y(t0) + h2 [f(t0, y(t0)) + f(t1, y(t1))] . (10.18)

A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 184

Page 8: Soluç˜ao Numérica de Equaç˜oes Diferenciais Ordinárias

Introducao ao Calculo Numerico Solucao Numerica de Equacoes Diferenciais Ordinarias

Note que esta formula ainda envolve o valor de y(t1), que nao e conhecido. Por isto, usa-se aformula de Euler para estimar este valor. Substituindo o valor de y(t1) calculado pela formula deEuler na equacao (10.18), a formula resultante e chamada de metodo de Heum:

y1 = y0 +h

2[f(t0, y0) + f(t1, y0 + h f(t0, y0))] . (10.19)

Este processo e repetido, gerando uma sequencia de pontos que aproximam a solucao y = φ(t).A cada passo, o metodo de Euler e usado como um preditor e a regra dos trapezios, como umacorrecao para que o valor final seja obtido.

A formula geral para o metodo de Heum e entao dada por

pn+1 = yn + h f(tn, yn) (10.20)

yn+1 = yn +h

2[f(tn, yn) + f(tn+1, pn+1)] (10.21)

10.2.5.1 Erro de truncamento para o metodo de Heum

O erro de truncamento local para este metodo e da forma

| en | ≤ h3

12maxt∈I

φ′′(t) (10.22)

onde y = φ(t) e a solucao exata e o erro de truncamento global, ou seja, o erro acumulado depoisde m passos, e da forma

|En | ≤ C h2

onde C e uma constante. Portanto, quando o passo h e reduzido por um fator de 12 , pode-se

esperar que o erro de truncamento global seja reduzido por um fator de 14 .

Observacao: A formula de Heum e um exemplo de um metodo em dois estagios: calcula-se primeiroyn+h fn pela formula de Euler e depois utiliza-se este resultado para calcular yn+1 com a equacao(10.21). O aprimoramento da equacao (10.21) em relacao a formula de Euler esta no fato de queo erro de truncamento local da equacao (10.21) e O(h3), ao passo que, para o metodo de Euler,este e O(h2). Note que esta melhoria de precisao e conseguida com maior esforco computacional,pois e preciso estimar f(t, y) duas vezes a fim de passar de tn para tn+1.

Se f(t, y) depender exclusivamente de t e nao de y, a resolucao da equacao diferencial y′ =f(t, y) se reduz a integracao de f(t). Neste caso, o metodo de Heum reduz-se a

yn+1 = yn +h

2[f(tn) + f(tn+1)] ,

que e a regra dos trapezios para integracao numerica.

Exemplo 10.7 Use o metodo de Heum com h = 1 para aproximar y(2) para o problema

y′ =t− y2

y(0) = 1

O primeiro passo e calcular p1 com o metodo de Euler:

p1 = y0 + h f(t0, y0)

= 1 + 10− 12

= 0, 5

Agora, utiliza-se efetivamente a formula de Heum para calcular y1, que e uma aproximacao paraa solucao em t = 1:

y1 = y0 +h

2[f(t0, y0) + f(t1, p1)]

= 1 +12(−0, 5 + 0, 25) = 0, 875

A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 185

Page 9: Soluç˜ao Numérica de Equaç˜oes Diferenciais Ordinárias

Introducao ao Calculo Numerico Solucao Numerica de Equacoes Diferenciais Ordinarias

Para aproximar y(2), calcula-se p2 e y2:

p2 = y1 + h f(t1, y1)

= 0, 875 + 11− 0, 875

2= 0, 9375

e

y2 = y1 +h

2[f(t1, y1) + f(t2, p2)]

= 0, 875 +12(0, 0625+ 0, 53125) = 1, 171875

10.2.6 Metodos de Runge-Kutta

Os metodos de Runge-Kutta sao similares ao metodo da serie de Taylor, com a vantagem de naonecessitarem das derivadas de ordem superior a 1, Vejamos isso atraves do metodo de Runge-Kuttade segunda ordem.

Escrevendo a serie de Taylor para x(t+ h), vem

x(t+ h) = x(t) + hx′(t) +h2

2!x′′(t) +

h3

3!x′′′(t) + . . . (10.23)

e, valendo-nos do PVI (10.5), temos, usando a regra de cadeia,

x′(t) = f

x′′(t) = ft + fxx′ = ft + fxf

x′′′(t) = ftt + ftxf + (ft + fxf)fx + f(fxt + fxxf)

onde o subscrito indica derivacao parcial em relacao aquela variavel. Daı, os primeiros tres termosde (10.23) podem ser reescritos como

x(t+ h) = x+ hf +12h2(ft + ffx) +O(h3)

= x+12hf +

12h(f + hft + hffx) +O(h3) (10.24)

onde x ≡ x(t) e f ≡ f(t, x). Podemos eliminar de (10.24) os termos envolvendo as derivadasparciais ft, fx, usando os primeiros termos da serie de Taylor em duas variaveis,

f(t+ h, x+ hf) = f + hft + hffx +O(h2)

de onde (10.24) pode ser reescrita como

x(t+ h) = x+12hf +

12hf(t+ h, x+ hf) +O(h3)

e, descartando O(h3), escrevemos

x(t+ h) = x(t) +12(F1 + F2), F1 = hf(t, x), F2 = hf(t+ h, x+ F1) (10.25)

a qual e a formula para o metodo de Runge-Kutta de segunda ordem, tambem chamado de metodode Heum.

De forma geral, temos

x(t+ h) = x+ w1hf + w2hf(t+ αh, x+ βhf) +O(h3) (10.26)

onde w1, w2, α e β sao parametros a escolher.

A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 186

Page 10: Soluç˜ao Numérica de Equaç˜oes Diferenciais Ordinárias

Introducao ao Calculo Numerico Solucao Numerica de Equacoes Diferenciais Ordinarias

Reescrevendo (10.26) usando a serie de Taylor em duas variaveis, temos

x(t+ h) = x+ w1hf + w2h(f + αhft + βhffx) +O(h3) (10.27)

e, comparando (10.24) com (10.27), vemos que as seguintes condicoes devem ser impostas:w1 + w2 = 1w2α = 1

2w2β = 1

2

(10.28)

e, em (10.25), temos w1 = w2 = 1/2, α = β = 1.

10.2.6.1 Metodo modificado de Euler

O metodo modificado de Euler e obtido com w1 = 0, w2 = 1 e α = β = 1/2,

x(t+ h) = x(t) + F2, F1 = hf(t, x), F2 = hf(t+

12h, x+

12F1

)(10.29)

10.2.6.2 Metodo de Runge-Kutta de 4a Ordem

O metodo de Runge-Kutta de 4a ordem pode ser escrito como

x(t+ h) = x(t) +16(F1 + 2F2 + 2F3 + F4) (10.30)

F1 = hf(t, x)

F2 = hf

(t+

12h, x+

12F1

)

F3 = hf

(t+

12h, x+

12F2

)F4 = hf(t+ h, x+ F3)

10.2.6.3 Erros do metodo de Runge-Kutta

Mais uma vez, nos deparamos com um ETL, o qual e da ordem de O(h5) para o metodo deRunge-Kutta de 4a ordem. Vejam que no primeiro passo, um valor x(t0 + h) e calculado; existetambem um valor x(t0 + h), o qual e o valor exato (e desconhecido), tal que o erro e = x − x eCh5, para h 1. O valor de C independe de h mas depende de t0 e de x.

Para estimar Ch5, assumamos que C nao muda quando h e somado a t0; chamemos de u ovalor da solucao em t0 + h e de v o valor da solucao em t0 + h

2 +h2 . Temos, entao,

x(t0 + h) = v + Ch5

x(t0 + h) = u+ 2C(h

2

)5

e, subtraindo v de u, obtemos

Ch5 =u− v1− 2−4

(10.31)

Com isso, e possıvel estimar o ETL, calculando-se |u− v |, e verificando se ele encontra-se abaixode uma tolerancia pre-especificada (por exemplo, 10−5). Se nao estiver, entao o passo h podeser reduzido (normalmente pela metade); caso contrario, se o ETL e muito menor do que aquelatolerancia, h pode ser aumentado (multiplicando-o por dois, normalmente).

10.2.6.4 Avaliacao da Funcao versus Ordem do Metodo Runge-Kutta

A tabela 10.1 mostra que, ao se aumentar a ordem do metodo, o numero de vezes que a funcaodeve ser avaliada cresce rapidamente. Essa e a principal razao pela qual nao se utilizam metodosde Runge-Kutta de ordem muito grande.

A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 187

Page 11: Soluç˜ao Numérica de Equaç˜oes Diferenciais Ordinárias

Introducao ao Calculo Numerico Solucao Numerica de Equacoes Diferenciais Ordinarias

Ordem 1 2 3 4 4 5 6 6Avaliacao 1 2 3 4 5 6 7 8

Tabela 10.1: Numero de vezes que f(t, x) deve ser avaliada nos metodos de Runge-Kutta.

i ai ai − bi ci di1 di2 di3 di4 di5

1 16135

1360 0 0

2 0 0 14

14

3 665612825 − 128

427538

332

932

4 2856156430 − 2197

752401213

19322197 − 7200

219772962197

5 − 950

150 1 439

216 −8 3680513 − 845

41046 2

55255

12 − 8

27 2 − 35442565

18594104 − 11

40

Tabela 10.2: Coeficientes do metodo Runge-Kutta-Fehlberg.

10.2.6.5 Metodo Adaptativo de Runge-Kutta-Fehlberg

Em 1969, Fehlberg propos um metodo que permite ajustar o passo de integracao num metodo deRunge-Kutta, de forma adaptativa. Esse metodo baseia-se na combinacao do metodo de Runge-Kutta de quarta ordem com cinco avaliacoes, com o metodo de Runge-Kutta de quinta ordem comseis avaliacoes. A primeira vista, tal metodo – abreviado por RKF – e desvantajoso com relacao aometodo classico; porem, ele combina as constantes envolvidas nos dois metodos de Runge-Kuttautilizados, de forma a obter duas formulas, de diferentes ordens, as quais envolvem valores def(t, x) avaliadas nos mesmos pontos.

O metodo RKF e de quinta ordem e obtem duas aproximacoes diferentes para a solucao, x(t+h)e x(t+ h), dadas por

x(t+ h) = x(t) +6∑

i=1

aiFi (10.32)

x(t+ h) = x(t) +6∑

i=1

biFi (10.33)

Fi = hf

t+ cih, x+ i−1∑

j=1

dijFj

, i = 1, 2, . . . , 6 (10.34)

onde os valores dos coeficientes presentes nas equacoes (10.32)-(10.33) sao dados na tabela 10.2.A equacao (10.32) e de quinta ordem e a equacao (10.33) e de quarta ordem. O ETL do metodo

RKF e dado pela diferenca entre ambas,

e = x(t+ h)− x(t+ h) =6∑

i=1

(ai − bi)Fi (10.35)

e, portanto, e pode ser usado para se monitorar o comportamento do algoritmo.O algoritmo adaptativo procura ajustar o valor do passo, h, sempre que o erro, e, tornar-se

maior do que uma tolerancia δ, pre-especificada. Procura-se, entao, uma solucao x no intervalot0 ≤ t ≤ t1, com x(t0) = x0. O passo do metodo pode ser alterado sempre que o erro exceder aoETL (Ch5); nesse caso, devemos reduzir o passo (pela metade, por exemplo). Note que, sempreque o passo for reduzido, deve-se descartar os ultimos valores de t e x.

Por outro lado, a escolha de h pode ter sido muito conservadora, i.e. o valor de h e pequenodemais para aquele problema; nesse caso, podemos aumentar h, dobrando-o, sempre que C(2h)5 <δ4 , ou seja, Ch

5 < δ128 .

O algoritmo 10.2.3 ilustra o metodo de Runge-Kutta-Fehlberg, incorporando o controle dopasso apresentado.

A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 188

Page 12: Soluç˜ao Numérica de Equaç˜oes Diferenciais Ordinárias

Introducao ao Calculo Numerico Solucao Numerica de Equacoes Diferenciais Ordinarias

Algoritmo 10.2.3 Metodo de Runge-Kutta-Fehlberg

proc runge kutta fehlberg(input: h, t0, t1, x0, δ; output: x)% Inicializa ai, ai − bi, ci, di

% de acordo com a tabela 10.2n← | t1−t0 |

|h |t← t0x← x0

k ← 0while k ≤ n do

Fi ← hf(t+ cih, x+

∑i−1j=1 dijFj

), i = 1, 2, . . . , 6

x← x

x← x+∑6

i=1 aiFi

e←∑6i=1(ai − bi)Fi

∆← t1 − tif |∆ | ≤ |h | thenh← ∆

endift← tif | e | ≥ δ thenh← h

2x← xt← tn← n+ 1

endifif | e | < δ

128 thenh← 2h

endifendwhile

endproc

10.2.7 Metodos de passo multiplo

Os metodos da serie de Taylor e de Runge-Kutta sao chamados de metodos de passo simples, poisapenas x(t) e utilizado para se obter x(t+ h).

Suponhamos agora que, para um conjunto de nos t0, t1, . . ., tn, tenhamos calculado os valoresf(t0, x), f(t1, x), . . ., f(tn, x). Note que o espacamento entre os nos nao e necessariamente omesmo. Chamando de x(t) a solucao ao PVI (10.5), entao

∫ tn+1

tn

x′(t)dt = x(tn+1)− x(tn)

de onde podemos escrever

x(tn+1) = x(tn) +∫ tn+1

tn

f(t, x(t))dt (10.36)

Para aproximar a integral em (10.36), usaremos

∫ tn+1

tn

f(t, x(t))dt ≈ h(Afn +Bfn−1 + Cfn−2 +Dfn−3 (10.37)

onde fi ≡ f(ti, x(ti)), e A, B, C e D sao coeficientes obtidos exigindo-se que (10.37) seja exatasempre que o integrando seja um polinomio de grau menor ou igual a 3. Usando a base de Newton

A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 189

Page 13: Soluç˜ao Numérica de Equaç˜oes Diferenciais Ordinárias

Introducao ao Calculo Numerico Solucao Numerica de Equacoes Diferenciais Ordinarias

para representar o espaco polinomial Π3,p0(t) = 1p1(t) = tp2(t) = t(t+ 1)p3(t) = t(t+ 1)(t+ 2)

e tomando t0 = 0, h = 1, podemos aproximar o membro esquerdo de (10.37) por∫ 1

0

pi(t)dt = Api(0) + Bpi(−1) + Cpi(−2) +Dpi(−3), i = 0, 1, . . . n

o que nos leva a um sistema de cinco equacoes a cinco variaveis:

Ap0(0) +Bp0(−1) + Cp0(−2) +Dp0(−3) =∫ 1

0 p0(t)dtAp1(0) +Bp1(−1) + Cp1(−2) +Dp1(−3) =

∫ 1

0p1(t)dt

. . ....

. . .Ap3(0) +Bp3(−1) + Cp3(−2) +Dp3(−3) =

∫ 1

0p3(t)dt

(10.38)

Como os pi sao conhecidos, o termo independente do sistema tem seus elementos perfeitamentedeterminados: ∫ 1

0

1 dt = 1∫ 1

0

t dt =12∫ 1

0

t(t+ 1) dt =56∫ 1

0

t(t+ 1)(t+ 2) dt =94

Podemos, portanto, escrever o sistema (10.38) na forma matricial1 1 1 1−1 −2 −3

2 6−6

ABCD

=

1125694

cuja solucao e

A =5524, B = −59

24, C =

3724, D = − 9

24.

Assim, podemos escrever (10.37) como

∫ tn+1

tn

f(t, x(t))dt ≈ h

24(55fn − 59fn−1 + 37fn−2 − 9fn−3)

e, substituindo em (10.36), temos

xn+1 = xn +h

24(55fn − 59fn−1 + 37fn−2 − 9fn−3) (10.39)

com ti = t0 + ih, 0 ≤ i ≤ n, a qual e conhecida como formula de Adams-Bashforth de 4a ordem.De forma a aumentar a exatidao da solucao, a formula de Adams-Bashforth e usada em conjunto

com outras formulas, de maior ordem. Por exemplo, se incluirmos o termo fn+1 na aproximacao

A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 190

Page 14: Soluç˜ao Numérica de Equaç˜oes Diferenciais Ordinárias

Introducao ao Calculo Numerico Solucao Numerica de Equacoes Diferenciais Ordinarias

para a integral em (10.36), e descartarmos o termo fn−4 , podemos obter, de forma semelhante, aformula de Adams-Moulton de 4a ordem,

xn+1 = xn +h

24(9fn+1 + 19fn − 5fn−1 + fn−2) (10.40)

Veja que a equacao (10.40) nao pode ser usada para se obter xn+1 a partir de xn, pois fn+1

e calculada em xn+1. Mas, se usarmos a formula de Adams-Bashforth (10.39) para predizer umvalor xn+1 para xn+1, e usarmos (10.40) para corrigir xn+1 (com fn+1 ≡ f(tn+1, xn+1), obtemosum algoritmo altamente eficaz, chamado de “previsor-corretor”. Inicialmente, e necessario obtervalores para x1, x2, x3 e x4 – usualmente atraves do metodo de Runge-Kutta – e, entao, estimarxn+1 atraves de (10.39), corrigindo essa estimativa com (10.40).

Exemplo 10.8 Considere o problema de valor inicial

y′ = 1− t+ 4 yy(0) = 1

Determine um valor aproximado da solucao y(t) com um incremento h = 0, 1 em t = 0, 4. Use asformulas de quarta ordem de Adams-Bashforth, de Adams-Moulton e de predicao-correcao.Solucao: Como dados iniciais, usa-se os valores iniciais y1, y2 e y3 determinados com o auxıliodo metodo de Runge-Kutta de quarta-ordem. Em seguida, calculando os valores correspondentesde f(t, y), obtem-se

y0 = 1 f0 = 5y1 = 1, 6089333 f1 = 7, 3357332y2 = 2, 5050062 f2 = 10, 820025y3 = 3, 8294145 f3 = 16, 017658

1. Usando a formula de Adams-Bashforth, determina-se que y4 = 5, 7836305.

2. A formula de Adams-Moulton leva a equacao

y4 = 4, 9251275+ 0, 15 y4,

de onde y4 = 5, 7942676.

3. Finalmente, usando o resultado da formula de Adams-Bashforth como preditor, pode-se usara formula (10.40) como corretor. O valor do preditor, y4 = 5, 7836305, leva a f4 = 23, 734522e, de acordo com a equacao (10.39), o valor corrigido de y4 e 5, 7926721.

Considerando que o valor da solucao exata no ponto t = 0, 4 seja φ(0, 4) = 5, 7942260, ometodo de Adams-Bashforth, embora seja o mais simples e rapido (ja que envolve o uso de umaunica formula explıcita), e o menos preciso. O uso da formula de Adams-Moulton como correcaoaumenta o numero de calculos necessarios, mas o metodo continua a ser explıcito. Neste problema,o erro no valor corrigido de y4 (y4 = 5, 7926721) e reduzido aproximadamente sete vezes emrelacao ao erro no valor do preditor (y4 = 5, 7836305). O metodo de Adams-Moulton sozinho(y4 = 5, 7942676) e o que fornece o resultado mais preciso, com erro 40 vezes menor que oerro associado ao metodo preditor-corretor. E necessario nao esquecer, porem, que o metodo deAdams-Moulton e implıcito, o que significa que e preciso resolver uma equacao em cada passo.Neste problema em questao, a equacao e linear, de modo que a solucao nao e difıcil de encontrar.Entretanto, em outros problemas esta parte do processo pode ser muito mais demorada.

A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 191

Page 15: Soluç˜ao Numérica de Equaç˜oes Diferenciais Ordinárias

Introducao ao Calculo Numerico Solucao Numerica de Equacoes Diferenciais Ordinarias

10.2.7.1 Convergencia, Estabilidade e Consistencia

Todo metodo de passo multiplo pode ser descrito por uma equacao do tipo

akxn + ak−1xn−1 + . . .+ a0xn−k = h(bkfn + bk−1fn−1 + . . .+ b0fn−k) (10.41)

onde x0, x1, . . ., xk−1 sao obtidos por algum outro metodo, e (10.41) e usada com n = k, k + 1,. . .. A equacao (10.41) e dita ser implıcita se bk = 0, pois xn aparecera em ambos os lados daigualdade; caso contrario, o metodo e dito explıcito.

Um metodo de passo multiplo definido por (10.41) e dito ser convergente se

limh→0

x(h, t) = x(t) (10.42)

com t fixo, e h livre, para todo t num intervalo t0 ≤ t ≤ tm, desde que os valores iniciais satisfacama mesma equacao e f satisfaca o teorema basico de existencia de solucao (10.2.1), i.e.

limh→0

x(h, t0 + nh) = x0, 0 ≤ n < k (10.43)

Para se analisar a estabilidade e a consistencia de um metodo de passo multiplo, utilizamosdois polinomios, associados a equacao (10.41):

p(z) = akzk + ak−1z

k−1 + . . .+ a0

q(z) = bkzk + bk−1zk−1 + . . .+ b0

(10.44)

Entao, as condicoes necessarias para a estabilidade e consistencia podem ser escritas como:

Estabilidade: O metodo e dito estavel se todas as raızes de p estao contidas em um disco de raio| z | ≤ 1 e se cada raiz de modulo 1 e simples.

Consistencia: O metodo e dito consistente se p(1) = 0 e p′(1) = q′(1).

O teorema a seguir estabelece que a convergencia de um metodo de passo multiplo dependeda estabilidade e da consistencia.

Teorema 10.2.4 Um metodo de passo multiplo conforme a equacao (10.41) e convergente se esomente se ele e estavel e consistente.

A prova pode ser consultada em [10].De posse desses resultados, podemos verificar se um metodo e convergente, como mostra o

exemplo a seguir.

Exemplo 10.9 O metodo de Milne,

xn − xn−2 = h(13fn +

43fn−1 +

13fn−2

)(10.45)

e um metodo implıcito, caracterizado porp(z) = z2 − 1q(z) = 1

3z2 + 4

3z +13

cujas raızes de p(z) sao +1 e −1 (ambas simples). Como p′(z) = 2z, p′(1) = 2 e q(1) = 2, ometodo e estavel e consistente, logo e convergente.

A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 192

Page 16: Soluç˜ao Numérica de Equaç˜oes Diferenciais Ordinárias

Introducao ao Calculo Numerico Solucao Numerica de Equacoes Diferenciais Ordinarias

10.2.7.2 Erros de truncamento

Suponha que a equacao (10.41) foi utilizada para se calcular xn, e que xn−1, xn−2, . . . sao exatos,i.e. xi = x(ti) para i < n, onde x(t) e a solucao da equacao diferencial. Entao, o ETL e definidocomo e = x(tn) − xn. Este erro nao e devido a erros de arredondamento mas sim devido aformulacao (10.41).

Podemos definir um operador funcional linear L, correspondente a (10.41), dado por

Lx =k∑

i=0

(aix(ih)− hbix′(ih)) (10.46)

assumindo, por simplicidade, k = n e t = 0. A operacao Lx pode ser aplicada a qualquer funcaox diferenciavel. Representando x por uma expansao de Taylor em t = 0, L pode ser expresso por

Lx = d0x0 + d1hx′(0) + d2hx′′(0) + . . . (10.47)

onde os coeficientes di sao obtidos rearranjando os termos h, ao substituirmos na equacao (10.46)as expressoes para x e x′, na forma de Taylor:

x(ih) =∞∑

j=0

(ih)j

j!x(j)(0)

x′(ih) =∞∑

j=0

(ih)j

j!x(j+1)(0)

resultando, entao, em

d0 =∑k

i=0 ai

d1 =∑k

i=0(iai − bi)d2 =

∑ki=0

(i2

2 ai − ibi)

. . .

dj =∑k

i=0

(ij

j! ai − ij−1

(j−1)!bi

), j = 1, 2, . . .

(10.48)

De posse desses coeficientes, podemos estabelecer a ordem do erro de truncamento local.

Teorema 10.2.5 Se (10.41) e de ordem m, x ∈ ICm+2, ∂f∂x e contınua, e xn−1, xn−2, . . . sao

exatos, entao

x(tn)− xn =dm+1

akhm+1x(m+1)tn−k +O

(hm+2

)e o ETL e, portanto, de ordem O

(hm+1

).

10.2.7.3 Erros de truncamento globais

Suponha que todos os calculos foram efetuados com precisao infinita (sem erros de arredonda-mento), e que em tn temos calculado o valor de xn, o qual difere da solucao exata x(tn). Note quexn e diferente de x(tn) pois ele e obtido por uma aproximacao a uma serie de Taylor.

O ETG e definido como x(tn)− xn, e ele nao e simplesmente a soma de todos os erros locais.Como na iteracao usamos o valor xn−1 para aproximar xn, e xn−1 tem um erro, entao o processornumerico esta, na verdade, seguindo uma curva solucao “errada”. O que acontece, entao, quandoduas diferentes condicoes iniciais sao utilizadas?

Consideremos o PVI x′ = f(t, x)x(0) = s (10.49)

com fx = ∂f∂x contınua e fx(t, x) ≤ λ em 0 ≤ t ≤ T , ∞ < x <∞.

A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 193

Page 17: Soluç˜ao Numérica de Equaç˜oes Diferenciais Ordinárias

Introducao ao Calculo Numerico Solucao Numerica de Equacoes Diferenciais Ordinarias

A solucao de (10.49) e uma funcao em t, dependente do valor inicial s, e a denotamos entaocomo x(t, s); definimos, ainda, u(t) = ∂

∂sx(t, s). Podemos obter uma equacao diferencial para udiferenciando (10.49) em relacao a s,

u′ = fx(t, x)uu(0) = 1 (10.50)

a qual e chamada de equacao variacional. O exemplo a seguir ilustra como obter u.

Exemplo 10.10 Determine u explicitamente no PVIx′ = x2

x(0) = s

Solucao: A derivada de f em relacao a x e fx = 2x, logo a equacao variacional eu′ = 2xuu(0) = 1

A solucao do PVI e x(t) = s(1− st)−1, logou(t)′ = 2s(1− st)−1u(t)u(0) = 1

de onde u(t) = 1(1− st)−2.

Os teoremas que seguem permitem estabelecer a ordem do ETG.

Teorema 10.2.6 Se fx ≤ λ, entao a solucao da equacao variacional satisfaz |u(t) | ≤ eλt, parat ≥ 0.

Prova: Por (10.50), vemu′

u= fx = λ− α(t)

onde α(t) ≥ 0. Integrando, vem

log |u | = λt−∫ t

0

α(τ) dτ

e, como t ≥ 0, a integral na equacao acima e maior ou igual a zero; consequentemente, log |u | ≤λt. Como a funcao exponencial e crescente para t ≥ 0, |u | ≤ eλt. Teorema 10.2.7 Se a equacao (10.49) e resolvida com valores iniciais s e s+δ, as curvas solucaoem t diferem de, no maximo, | δ |eλt.

Prova: Usando o teorema do valor medio e o teorema 10.2.6,

|x(t, s)− x(t, s+ δ) | =∣∣∣∣ δδsx(t, s+ θδ)

∣∣∣∣ | δ | = |u(t) || δ | ≤ | δ |eλt

Teorema 10.2.8 Se os erros de truncamento locais em t1, t2, . . ., tn nao excedem δ em magnitude,entao o ETG em tn nao excedera δ(enλh − 1)(eλh − 1)−1.

Prova: Sejam δ1, δ2, . . . os ETLs associados aos pontos t1, t2, . . . Ao calcular x2, haviaum erro δ1 na condicao inicial e, pelo teorema 10.2.7, o efeito deste erro em t2 e de, no maximo,| δ1 |eλh, ao qual e adicionado o ETL em t2. Logo, o ETG nesse no e de, no maximo, | δ1 |eλh+δ2;por analogia, em t3 teremos (| δ1 |eλh + δ2)eλh + | δ3 | e, entao

n∑k=1

|, δk |e(n−k)λh ≤ δn−1∑k=0

ekλh = δenλh − 1eλh − 1

Teorema 10.2.9 Se o ETL e de ordem O(hm+1

), entao o ETG e de ordem O (hm).

Prova: No teorema 10.2.8, seja δ de ordem O(hm+1

). Como ez−1 e de ordem O(z) e nh = t,

temos uma reducao de uma unidade na ordem, usando a formula no teorema 10.2.8.

A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 194

Page 18: Soluç˜ao Numérica de Equaç˜oes Diferenciais Ordinárias

Introducao ao Calculo Numerico Solucao Numerica de Equacoes Diferenciais Ordinarias

10.2.8 Sistemas de Equacoes Diferenciais Ordinarias

Um sistema de equacoes diferenciais ordinarias e expresso comox′1 = f1(t, x1, x2, . . . , xn)x′2 = f2(t, x1, x2, . . . , xn). . .x′n = fn(t, x1, x2, . . . , xn)

(10.51)

onde n funcoes x1, x2, . . ., xn devem ser determinadas. Elas sao funcoes da variavel independentet e x′i =

ddtxi. Como exemplo, considere

x′ = x+ 4y − etx′ = x+ y + 2et (10.52)

cuja solucao geral e x = 2ae3t − 2be−t − 2ety = ae3t + be−t + 1

4et

onde a e b sao constantes arbitrarias. Note que (10.52) e um sistema linear em x e y.Uma das razoes para se utilizar um sistema (10.51) e quando temos de resolver uma EDO

nao-linear. Suponhay(n) = f(t, y, y′, . . . , y(n−1))

com y(i) = di

dti y. Escrevendo

x1 = y, x2 = y′, x3 = y′′, . . . , xn = yn−1

temos

x′1 = x2

x′2 = x3

x′3 = x4

. . .x′n = f(t, x1, x2, . . . , xn)

Tal substituicao de variaveis e necessaria em muitos casos, de forma a poder utilizar algum“software” que nao resolve uma EDO nao-linear, porem oferece a solucao de sistemas de EDOs.Vejamos alguns exemplos:

Exemplo 10.11 Obtenha o sistema de EDOs correspondente a equacao

sen(t)y′′′ + cos(ty) + sen(t2 + y′′) + (y′)3 = log t

Solucao: Introduzindo as variaveis x1 = y, x2 = y′ e x3 = y′′, temosx′1 = x2

x′2 = x3

x′3 = (log t− x32 − sen(t2 + x3 − cos(tx1))(sent)−1

Exemplo 10.12 Converta o sistema de EDOs nao-linear abaixo para um sistema de EDOs line-ares:

(x′′)2 + tey + y′ = x′ − xy′y′′ − cos(xy) + sen(tx′y) = x

Solucao: Introduzindo as variaveis x1 = x, x2 = x′, x3 = y e x4 = y′′, temosx′1 = x2

x′2 =√x2 − x1 − x4 − tex3

x′3 = x4

x′4 = (x1 − sen(tx2x3) + cos(x1x3))x−14

A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 195

Page 19: Soluç˜ao Numérica de Equaç˜oes Diferenciais Ordinárias

Introducao ao Calculo Numerico Solucao Numerica de Equacoes Diferenciais Ordinarias

Podemos representar de maneira compacta o sistema (10.51) utilizando uma notacao matricial.Seja entao X um vetor cujas componentes sao x1, x2, . . ., xn, os quais sao funcoes de t, e F ovetor com componentes f1, f2, . . ., fn. Entao, um PVI para sistema de EDOs pode ser escritocomo

X ′ = F (t,X)X(t0) = X0

(10.53)

10.2.8.1 Metodo da Serie de Taylor

O metodo da serie de Taylor, visto na secao 10.2.3, pode ser utilizado nesse caso, devidamenteadaptado. Escreve-se a expansao em serie para cada variavel,

xi(t+ h) = xi(t) + hx′i(t) +h2

2!x′′i (t) +O(h

3)

e, escrevendo o sistema resultante em forma matricial, vem

X(t+ h) = X(t) + hX ′(t) +h2

2!X ′′(t) +O(h2) (10.54)

Note que as derivadas em (10.54) podem necessitar ser calculadas em uma determinada ordem,devido a dependencias existentes entre as mesmas, no sistema considerado.

Teoricamente, as equacoes no sistema (10.54) nao necessitam conter t explicitamente. Podemosescreve-las na forma

x′i = fi(x0, x1, . . . , xn)com x0 ≡ t – cuja equacao diferencial correspondente e x′0 = 1. O sistema (10.54) pode entao serescrito na forma autonoma

X ′ = F (X) (10.55)onde X = (x0, x1, . . . , xn)T . O exemplo a seguir ilustra essa tecnica.

Exemplo 10.13 Escreva o sistema(sent)y′′′ + cos(ty) + sen(t2 + y′′) + (y′)3 = log t

y(2) = 7y′(2) = 3y′′(2) = −4

na forma autonoma.Solucao: Escrevendo x0 = t, x1 = y, x2 = y′ e x3 = y′′, vem

x′0 = 1x′1 = x2

x′2 = x3

x′3 = (log x0 − x32 − sen(x2

0 + x3)− cos(x0x1))(senx0)−1

com condicao inicial X0 = (2, 7, 3,−4)T .

10.2.8.2 Metodo de Runge-Kutta

Se um sistema de EDOs em um PVI encontra-se na forma autonoma (10.55), o metodo de Runge-Kutta de quarta ordem pode ser escrito como

X(t+ h) = X(t) +h

6(F1 + 2F2 + 2F3 + F4) (10.56)

F1 = hF (X)

F2 = hF

(X +

12F1

)

F3 = hF

(X +

12F2

)F4 = hF (X + F3)

A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 196

Page 20: Soluç˜ao Numérica de Equaç˜oes Diferenciais Ordinárias

Introducao ao Calculo Numerico Solucao Numerica de Equacoes Diferenciais Ordinarias

De forma similar, podemos obter variacoes dos metodos de Runge-Kutta-Fehlberg e de passomultiplo para um sistema de EDOs na forma autonoma.

10.2.9 Solucao via decomposicao em autovalores e autovetores

Seja um sistema de equacoes diferenciais ordinarias lineares com coeficientes constantes, expressona forma autonoma:

x′1 = a11x1 + a12x2 + . . .+ a1nxn

. . .x′n = an1x1 + an2x2 + . . .+ annxn

(10.57)

ou,X ′ = AX (10.58)

Se procuramos obter um vetor solucao X e tomamos como tal um vetor na forma X(t) = eλtv,com λ ∈ IR e v um vetor constante, e substituımos em (10.58), obtemos

λeλtv = eλtAv (10.59)

e, seAv = λv

for satisfeita, entao a funcao vetorial eλtv e solucao de (10.58). Agora, para qual λ essa igualdadee satisfeita? Os teoremas a seguir qualificam esse escalar e o vetor v.

Teorema 10.2.10 Se λ e um autovalor de A e v o autovetor correspondente, entao X(t) = eλtve solucao de X ′ = AX.

Teorema 10.2.11 Se An×n tem um conjunto de autovetores v1, v2, . . ., vn linearmente independentes,com Avi = λivi, entao o espaco solucao da equacao X ′ = AX tem uma base xi = eλitvi, para1 ≤ i ≤ n.

Se A tem a propriedade expressa no teorema 10.2.11, entao existe uma matriz nao-singular Vcujas colunas sao os vetores v1, v2, . . ., vn,

Vn×n =

v11 v12 . . . v1n

v21 v22 . . . v2n

......

......

vn1 vn2 . . . vnn

. (10.60)

Em forma matricial, podemos escrever Avi = λivi como

AV = V Λ (10.61)

onde

Λn×n =

λ1

λ2

. . .λn

. (10.62)

Agora, a resolucao da equacao (10.58) pode ser bastante simplificada se fizermos a troca devariaveis X = V Y . Como V e nao-singular, podemos escrever

Y ′ = V −1X ′ = V −1AX = V −1AV Y = ΛY

a qual e uma equacao muito mais simples de se resolver, dada a forma de Λ. As equacoes emY ′ = ΛY sao ditas desacopladas e podem ser resolvidas separadamente, como mostra o exemploa seguir.

A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 197

Page 21: Soluç˜ao Numérica de Equaç˜oes Diferenciais Ordinárias

Introducao ao Calculo Numerico Solucao Numerica de Equacoes Diferenciais Ordinarias

Exemplo 10.14 Resolva o PVI X ′ = AX com

A =

1 0 10 0 00 0 −1

, X(0) =

576

Solucao: Os autovalores de A sao λ1 = 1, λ2 = 0 e λ3 = −1; seus autovetores correspondentessao v1 = (1, 0, 0)T , v2 = (0, 1, 0)T e v3 = (1, 0,−2)T . Logo,

V =

1 0 10 1 00 0 −2

, V −1 =

1 0 1

20 1 00 0 − 1

2

Se Y = (y1, y2, y3)T , entao Y ′ = ΛY , com

Λ =

1 0 00 0 00 0 −1

= V −1AV

de onde podemos escrever:y′1 = y1y′2 = 0y′3 = −y3

, Y (0) = V −1X(0) =

87−3

cuja solucao ey1 = 8et, y2 = 7, y3 = −3e−t.

Como X = V Y , a solucao e, por fim,

x1 = 8et − 3e−t, x2 = 7, x3 = 6e−t

.

10.2.9.1 O expoente de uma matriz

A solucao da equacao (10.58) pode ser expressa atraves da forma eA, a qual e definida como

eA = I +A+12!A2 +

1!A3 + . . . (10.63)

e, para t ∈ IR, entao tA = At, de onde

eAt =∞∑

k=0

tk

k!Ak (10.64)

e, diferenciando em relacao a t, temos

d

dteAt = AeAt (10.65)

Assim, a solucao do problema (10.5) e

X(t) = eAtX(0) (10.66)

Se a matriz A for diagonalizavel, i.e., AV = V Λ, com V e Λ definidos conforme (10.60) e(10.62), entao a solucao de (10.5) pode ser escrita como

X = V Y = V(eΛtV −1X(0)

)= V

eλ1t

eλ2t

. . .eλnt

V −1X(0) (10.67)

Em caso contrario, uma analise atraves da forma de Jordan da matriz A deve ser realizada.

A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 198

Page 22: Soluç˜ao Numérica de Equaç˜oes Diferenciais Ordinárias

Introducao ao Calculo Numerico Solucao Numerica de Equacoes Diferenciais Ordinarias

10.2.10 Equacoes rıgidas

A rigidez em um sistema de equacoes diferenciais refere-se a uma grande disparidade nas escalasde tempo dos componentes do vetor solucao. Como consequencia, metodos numericos que saosatisfatorios para outros sistemas, normalmente falham em sistemas rıgidos; isto acontece quandoa estabilidade no processo numerico ocorre apenas quando passos de integracao muito pequenospodem ser empregados. Tais sistemas surgem em diferentes areas de aplicacao:

Controle de naves espaciais: a trajetoria de voo para re-entrada na atmosfera deve ser suave,mas rapidas correcoes devem ser feitas caso ocorrer qualquer desvio;

Monitoracao de processos quımicos: quaisquer mudancas de natureza fısica e quımica podemter uma grande variacao nas escalas de tempo envolvidas;

Circuitos eletronicos: transientes da ordem de microssegundos sao impostos ao circuito comoum todo.

Como exemplo, vejamos o comportamento do metodo de Euler (10.13) para o problemax′ = λxx(0) = 1 (10.68)

o qual pode ser escrito, nesse caso, como

xn+1 = xn + hλxn = (1 + hλ)xn, x0 = 1 (10.69)

Entao, na n-esima iteracao,xn = (1 + hλ)n (10.70)

mas a solucao de (10.68) ex(t) = eλt

a qual tende a zero, se λ < 0, quando t tende a infinito. Ora, a equacao (10.70) so tende a zerose e somente se | 1 + hλ | < 1. Somos, entao, obrigados a escolher h tal que 1 + hλ > −1; comoλ < 0, temos que h < −2/λ.

Por exemplo, se λ = −20, h < 0, 1, apesar da solucao que queremos obter ser praticamenteplana (e quase zero) imediatamente apos t = 0, quando x = 1 (note que x(t) = e−20t ≤ 2, 1 ×10−9 | t ≥ 1). O metodo de Euler, entao, procedera com passos pequenos, quando o problemaindica que passos grandes devem ser tomados – isso e um aspecto que caracteriza a rigidez doproblema. A funcao e−20t e dita transiente porque seu efeito fısico e de pouca duracao (pois decairapidamente para zero). Desejamos entao um procedimento numerico que permita acompanharfuncoes transientes com passos pequenos ate que o efeito transiente seja desprezıvel, quando entaopassos grandes podem ser tomados.

Ja o metodo implıcito de Euler, definido por

xn+1 = xn + hf(tn+1, xn+1), n ≥ 0 (10.71)

apresentara, para esse problema, uma restricao que e satisfeita para quaisquer valores de h > 0.Para o problema em questao, o metodo implıcito e escrito como

xn+1 = xh + hλxn+1, x0 = 1

ouxn+1 = (1 − hλ)−1xn

de onde, na n-esima iteracao,xn = (1− hλ)−n

e, para λ < 0, e necessario satisfazer | 1 − hλ |−1 < 1, o que e verdadeiro para qualquer valorpositivo de h.

A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 199

Page 23: Soluç˜ao Numérica de Equaç˜oes Diferenciais Ordinárias

Introducao ao Calculo Numerico Solucao Numerica de Equacoes Diferenciais Ordinarias

10.3 Problemas de Valor de Fronteira

Um problema de valor de fronteira (PVF) caracteriza-se pela especificacao de valores para a funcaox(t) nos extremos do intervalo de integracao em t,

x′′ = f(t, x, x′)x(a) = α, x(b) = β (10.72)

Esse tipo de problema e mais difıcil de ser resolvido do que um PVI, conforme veremos a seguir.Para um PVI, havıamos assumido que, se a funcao x(t) fosse “suave”, entao provavelmente

(sujeito tambem a outras condicoes), o problema teria solucao. Em um PVF, no entanto, isto naose aplica, como pode-se ver no exemplo a seguir.

Exemplo 10.15 Considere o PVF x′′ = x′

x(0) = 3, x(π) = 7 (10.73)

cuja solucao e x(t) = Asent+B cos t. Usando essa expressao e igualando aos valores especificadospara x, vem

3 = x(0) = Asen0 +B cos 0 = B7 = x(π) = Asenπ +B cosπ = −B

o que e uma contradicao e, logo, o PVF (10.73) nao tem solucao, apesar de f ser uma funcao“suave”.

O teorema a seguir, por Keller (1968), fala da existencia de solucao de um PVF escrito numaforma bastante particular.

Teorema 10.3.1 O problema de valor de fronteirax′′ = f(t, x)x(0) = 0, x(1) = 0

tem solucao unica se ∂f∂x e contınua, nao-negativa, e limitada na tira 0 ≤ t ≤ 1, −∞ < x <∞.

Considere entao o exemplo a seguir:

Exemplo 10.16 O PVF x′′ = (5x+ sen(3x))et

x(0) = x(1) = 0

tem solucao unica, pois ∂f∂x = (5 + 3 cos(3x))e

t, a qual e contınua em 0 ≤ t ≤ 1, −∞ < x < ∞.Alem disso, e limitada por 8e e nao assume valores negativos, pois 3 cos(3x) ≥ −3.

O teorema 10.3.1 apresenta o PVF em uma forma bastante particular. A fim de podermosutiliza-lo para problemas mais gerais, e necessario fazer uma troca de variaveis. Considere, entao,o PVF

x′′ = f(t, x)x(a) = α, x(b) = β (10.74)

com x = x(t). Escrevendo t = a + (b − a)s, reduzimos (10.74) a forma requerida pelo teorema10.3.1 (note que s = 0 corresponde a t = a e s = 1 a t = b). Escrevendo, agora,

y(s) = x(a+ λs)

com λ = b− a, obtemosy′ = λx′(a+ λs)y′′ = λ2x′′(a+ λs)

A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 200

Page 24: Soluç˜ao Numérica de Equaç˜oes Diferenciais Ordinárias

Introducao ao Calculo Numerico Solucao Numerica de Equacoes Diferenciais Ordinarias

e y(0) = x(a) = α, y(1) = x(b) = β. Entao, se x e solucao de (10.74), y e solucao dey′′(s) = λ2f(a+ λs, y(s))y(0) = α, y(1) = β (10.75)

e, se y e solucao de (10.75),

x(t) = y(t− ab− a

)

e solucao de (10.74), conforme o teorema a seguir.

Teorema 10.3.2 Considere os seguintes PVF:x′′ = f(t, x)x(a) = α, x(b) = β (10.76)

y′′ = g(t, y)y(0) = α, y(1) = β (10.77)

onde g(p, q) = (b− a)2f(a+ (b− a)p, q). Entao, se y e solucao de (10.77),

x(t) = y(t− ab− a

)

e solucao de (10.76); e, se x e solucao de (10.76), entao

y(a+ (b − a)t)

e solucao de (10.77).Prova:

x(a) = y

(a− ab− a

)= y(0) = α

x(b) = y

(b− ab− a

)= y(a) = β

x′(t) = y′(t− ab− a

)1

b− ax′′(t) = y′′

(t− ab− a

)1

(b− a)2 = g(t− ab− a , y

(t− ab− a

))1

(b − a)2

= (b− a)2f(a+ (b− a) t− a

b− a , y(t− ab− a

))1

(b− a)2= f(t, x(t))

A seguir, veremos alguns dos metodos disponıveis para resolver um PVF.

10.3.1 Metodo do disparo

Considere o problema (10.72). Uma maneira de resolve-lo e atraves da resolucao do problema(relacionado) de valor inicial

x′′ = f(t, x, x′)x(a) = α, x′(a) = z (10.78)

e integrar a equacao no intervalo a ≤ t ≤ b, a fim de obter uma solucao aproximada, na esperancade que x(b) = β. Se tal nao ocorrer, a estimativa para x′(a) pode ser modificada, e o processo deintegracao repetido novamente.

A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 201

Page 25: Soluç˜ao Numérica de Equaç˜oes Diferenciais Ordinárias

Introducao ao Calculo Numerico Solucao Numerica de Equacoes Diferenciais Ordinarias

A solucao de (10.78) e xz , onde o subscrito em z indica a derivada. A ideia, aqui, e relacionarz tal que xz(b) = β. Escrevendo

φ(z) = xz(b)− β (10.79)

podemos reduzir o problema de resolver (10.72) a encontrar a raiz da funcao nao-liner φ(z), parao qual metodos como o da bisseccao, secante e de Newton (vide Capıtulo 2) podem ser utilizados.Note, no entanto, que a funcao φ e custosa de se avaliar, pois envolve a solucao de um PVI! Porisso, deve-se procurar minimizar seu impacto no metodo como um todo, por exemplo, utilizandopassos de integracao pequenos apenas quando φ(z) e proximo de zero.

Para problemas lineares, o metodo da secante obtem a solucao exata em uma unica iteracao.Se o PVF tiver a forma

x′′ = u(t) + v(t)x + w(t)x′

x(a) = α, x(b) = β (10.80)

com u, v e w funcoes contınuas em a ≤ x ≤ b. Suponha que (10.80) foi resolvida para duascondicoes iniciais diferentes, obtendo solucoes x1 e x2,

x1(a) = α, x′1(a) = z1x2(a) = α, x′2(a) = z2

(10.81)

Combinando linearmente x1 e x2, temos

y(t) = λx1(t) + (1− λ)x2(t) (10.82)

com λ um parametro. Note que y(a) = α, satisfazendo uma das condicoes de (10.81) (independentedo valor de λ). Para a outra condicao, selecionamos λ tal que y(b) = β, i.e.

β = y(b) = λx1(b) + (1− λ)x2(b)

λ =β − x2(b)

x1(b)− x2(b)(10.83)

Assim, podemos obter ambas as solucoes ao mesmo tempo, resolvendo dois PVI simultaneamente:x′′ = f(t, x, x′)x(a) = α, x′(a) = 0

x′′ = f(t, x, x′)x(a) = α, x′(a) = 1

onde f(t, x, x′) = u(t) + v(t)x + w(t)x′, cujas solucoes sao x1 e x2, respectivamente. Procedemosentao a formulacao de um sistema de EDOs na forma autonoma,

x0 = 1x′1 = x3

x′2 = x4

x′3 = f(x0, x1, x3)x′4 = f(x0, x2, x4)

(10.84)

e, para resolvermos (10.80), executamos os seguintes passos:

1. Resolver (10.84), com os valores discretos de x1(ti) e x2(ti) para a ≤ t0 ≤ ti ≤ tm = b, osquais devem ser armazenados em vetores;

2. Calcular o valor de λ por (10.83);

3. Calcular y(ti) por (10.82), para cada ti.

O teorema a seguir enuncia a solucao do PVF linear.

Teorema 10.3.3 Se o PVF linear tem solucao, entao x1 e uma solucao, ou x1(b)− x2(b) = 0 ey e uma solucao.

A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 202

Page 26: Soluç˜ao Numérica de Equaç˜oes Diferenciais Ordinárias

Introducao ao Calculo Numerico Solucao Numerica de Equacoes Diferenciais Ordinarias

10.3.2 Metodo de Newton

O metodo de Newton (vide secao 2.4) pode ser usado para resolver o PVF nao-linear. Seja xz asolucao do problema

x′′z = f(t, xz, x′z)

xz(a) = α, x′z(a) = z(10.85)

e z e tal que φ(z) = xz(b) − β = 0. Relembrando, a equacao governante do metodo de Newtonpara a funcao φ e

zn+1 = zn − φ(zn)φ′(zn)

(10.86)

A derivada φ′ e determinada diferenciando parcialmente com respeito a z as funcoes componentesem (10.85):

∂xz

∂z = ∂f∂t

∂t∂z +

∂f∂xz

∂xz

∂z +∂f∂x′

z

∂x′z

∂z∂∂zxz(a) = 0, ∂

∂zx′z(a) = 1

(10.87)

Introduzindo a variavel v = ∂xz

∂z e simplificando, vemv′′ = fxz(t, xz , x

′z)v + fx

′z(t, xz , x

′z)v

v(a) = 0, v′(a) = 1 (10.88)

a qual e denominada de primeira equacao variacional. A equacao (10.88) pode ser resolvida, acada iteracao, juntamente com a equacao (10.85). Ao final, v(b) sera obtida, i.e.

v(b) =∂xz(b)∂z

= φ′(z)

10.3.3 Metodo da colocacao

O metodo da colocacao e aplicavel a muitos problemas. Suponha que e dado um operador linearL (integral ou diferencial) e desejamos resolver a equacao

Lu = w (10.89)

com w conhecido. Procuramos, entao, resolve-la selecionando um conjunto de vetores V = v1,v2, . . ., vn e, combinando-os linearmente, obter a solucao u, na forma

u = c1v1 + c2v2 + . . .+ cnvn (10.90)

Como L e um operador linear, podemos escrever

Lu =n∑

j=1

cjLvj

logo,n∑

j=1

cjLvj = w (10.91)

De forma geral, usualmente nao podemos resolver (10.91) e obter os coeficientes ci; porem,podemos exigir que os dois termos em (10.91) sejam identicos em determinados pontos. No metododa colocacao, os vetores u, w e vj sao funcoes no mesmo domınio, e temos

n∑j=1

cj(Lvj)(ti) = w(ti), 1 ≤ i ≤ n (10.92)

o qual reduz-se a um sistema de n equacoes lineares. As funcoes vj e os pontos ti devem serescolhidos tal que a matriz cujas entradas sao (Lvj)(ti) seja nao-singular.

A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 203

Page 27: Soluç˜ao Numérica de Equaç˜oes Diferenciais Ordinárias

Introducao ao Calculo Numerico Solucao Numerica de Equacoes Diferenciais Ordinarias

Podemos usar diferentes funcoes para calcular os vetores vj , porem as chamadas “B-splines”sao bastante adequadas. Suponha um problema na forma

u′′ + pu′ + qu = wu(a) = α, u(b) = β (10.93)

onde Lu = u′′ + pu′ + qu. Como necessitamos de funcoes com as primeira e segunda derivadascontınuas, vamos considerar aqui as “B-splines” Bk

i cubicas, apesar de nada impedir que se usemaquelas de grau k maior. Assumimos, tambem, que os nos ti da “B-spline” sao igualmenteespacados: ti+1 − ti = h, e os nos serao os pontos de colocacao.

Seja n o numero de funcoes a serem usadas e, portanto, o numero de coeficientes a seremdeterminados; logo, necessitamos de n condicoes para determina-los. O problema (10.93) apresentaduas condicoes de fronteira, as quais devem satisfazer

n∑j=1

cj(Lvj)(a) = α,n∑

j=1

cj(Lvj)(b) = β (10.94)

Para as demais n− 2 condicoes, temosn∑

j=1

cj(Lvj)(ti) = w(ti), 1 ≤ i ≤ n− 2 (10.95)

e podemos, entao, definir

h =b− an− 3 (10.96)

ti = a+ (i− 1)h, i = 0,±1,±2, . . . (10.97)

Os nos ti pertencentes ao intervalo [a, b] sao

a = t1 < t2 < . . . < tn−3 < tn−2 = b

os quais sao os pontos de colocacao. Para definirmos as “B-splines” B3j , necessitamos de alguns

pontos fora do intervalo [a, b] os quais, por (10.97), encontram-se dispostos assim:

t−3 < t−2 < t−1 < t0 <at1

< t2 < t3 < . . . < tn−4 < tn−3 <b

tn−2< tn−2 < tn−2 < tn−1 < tn < tn+1

Ora, as “B-splines” cubicas tem a forma segundo a figura 10.2, e estamos interessados naquelas

Figura 10.2: Forma das ”B-splines” cubicas.

que nao sao identicamente nulas no intervalo [a, b], as quais sao as “B-splines” B3−2, B

3−1, B

30 , B

31 ,

. . ., B3n−3. Assim, podemos escrever

vj = B3j−3, 1 ≤ j ≤ n.

A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 204

Page 28: Soluç˜ao Numérica de Equaç˜oes Diferenciais Ordinárias

Introducao ao Calculo Numerico Solucao Numerica de Equacoes Diferenciais Ordinarias

Como utilizamos espacamento igual entre os nos, podemos defini-las atraves de uma unicaformulacao, B3(t), dada por

B3(t) =

(t+2)3

6 , −2 ≤ t ≤ −11+3(t+1)+3(t+1)2−3(t+1)3

6 , −1 ≤ t ≤ 01+3(1−t)+3(1−t)2−3(1−t)3

6 , 0 ≤ t ≤ 1(2−t)3

6 , 1 ≤ t ≤ 20, c.c.

(10.98)

a qual tem a forma

Figura 10.3: ”B-spline” cubica: (a) (t + 2)3)/6, (b) (1 + 3(t + 1) + 3(t + 1)2 − 3(t + 1)3)/6, (c)(1 + 3(1− t) + 3(1− t)2 − 3(1− t)3)/6, (d) ((2 − t)3)/6.

O exemplo a seguir mostra como obter os nos.

Exemplo 10.17 Suponha que desejamos obter m pontos de colocacao, com m = 4. Como doispontos extras sao dados pelas condicoes de fronteira, teremos quatro pontos internos e, como cada“B-spline” cubica necessita de cinco pontos, teremos de obter dois pontos a mais em cada extremodo intervalo [a, b]. Como m = 6, teremos n = 8 pontos, de onde h = 1/5 e os nos serao:

i −1 0 1 2 3 4 5 6 7 8ti −2/5 −1/5 0 1/5 2/5 3/5 4/5 1 6/5 7/5

10.3.4 Derivacao numerica

Um problema num domınio contınuo pode ser discretizado de forma que as variaveis dependentessejam consideradas existentes apenas para pontos discretos. Desta maneira, as derivadas saoaproximadas por diferencas. O metodo de diferencas finitas e baseado em algumas propriedadesda serie de Taylor e em aplicacoes diretas da definicao de derivadas. Ele e o mais antigo dosmetodos aplicados na obtencao de solucoes numericas de equacoes diferenciais. A ideia destemetodo de aproximacao e bastante simples.

Como exemplo, toma-se a derivada de uma funcao f(x) no ponto x, que e definida por

f ′(x) = limh→0

f(x+ h)− f(x)h

. (10.99)

Se h e suficientemente pequeno, a expressao do lado direito e uma aproximacao para o valorexato de f ′(x). Esta aproximacao pode ser melhorada com a reducao de h. Entretanto, paraqualquer valor finito de h, um erro, que tende a zero para h tendendo a zero, e introduzido. Estee o chamado erro de truncamento. A potencia de h com a qual ele tende a zero e chamada deordem da aproximacao a diferencas e pode ser obtida atraves de um desenvolvimento em serie deTaylor de f(x+ h) em torno do ponto x. Desenvolvendo f(x+ h), obtem-se

f(x+ h) = f(x) + h f ′(x) +h2

2f

′′(x) + . . . (10.100)

A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 205

Page 29: Soluç˜ao Numérica de Equaç˜oes Diferenciais Ordinárias

Introducao ao Calculo Numerico Solucao Numerica de Equacoes Diferenciais Ordinarias

e portanto,f(x+ h)− f(x)

h= f ′(x) +

h

2f

′′(x) + . . . . (10.101)

Diz-se que essa aproximacao para f ′(x) e de primeira ordem em h e escreve-se

f ′(x) =f(x+ h)− f(x)

h+O(h), (10.102)

indicando que o erro de truncamento e de O(h), isto e, tende a zero quando h tende a zero.Para entender como estas formulas sao aplicadas na aproximacao das derivadas considera-se

uma discretizacao do eixo x. O domınio contınuo e substituıdo por um conjunto discreto de n+1pontos xi, i = 0, 1, . . . , n, com espacamento constante e igual a h entre os pontos, conforme repre-sentacao na figura 10.4. Denota-se por fi os valores da funcao f(x) nos pontos xi = ih (ou seja,fi e igual a f(xi)).

x− h x x+ h

i− 1 i i+ 1

Figura 10.4: Representacao esquematica dos pontos no eixo das abscissas.

As seguintes aproximacoes em diferencas finitas podem ser definidas para a primeira derivadano ponto x = xi, f ′(x)i:

f ′i =fi+1 − fi

h+O(h), (10.103)

f ′i =fi − fi−1

h+O(h). (10.104)

A primeira formula e denominada diferenca ascendente e a segunda, diferenca descendente.Ambas sao aproximacoes de primeira ordem para f ′(x)i. Outras formulas, com diferentes ordensde aproximacao, podem ser obtidas. A mais comum e a de segunda ordem, obtida conformedescricao abaixo.

Fazendo duas expansoes diferentes em serie de Taylor para a primeira derivada,

f(x+ h) = f(x) + h fx(x) +h2

2f ′′(x)(x) + . . . (10.105)

e

f(x− h) = f(x)− h fx(x) +h2

2f

′′(x) + . . . , (10.106)

e subtraindo (10.106) de (10.105), obtem-se

f ′(x) =f(x+ h)− f(x− h)

2h+O(h2), (10.107)

que e uma aproximacao de segunda ordem para f ′(x). Na notacao de diferencas finitas, estaexpressao fica

f ′i =fi+1 − fi−1

2h+O(h2), (10.108)

cuja ordem de precisao e maior do que em (10.103) e (10.104).Uma ilustracao grafica para os tres tipos de aproximacoes para a derivada de primeira ordem,

dados por (10.103), (10.104) e (10.108), e fornecida pela figura (10.5).

A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 206

Page 30: Soluç˜ao Numérica de Equaç˜oes Diferenciais Ordinárias

Introducao ao Calculo Numerico Solucao Numerica de Equacoes Diferenciais Ordinarias

Figura 10.5: Ilustracao grafica para as derivadas de primeira ordem [8].

Ainda, para exemplificar outras formulas de diferencas finitas, sao apresentadas as aproxima-coes centrais de segunda ordem para as derivadas abaixo:

f(2)i =

fi+1 − 2 fi + fi−1

h2+O(h2), (10.109)

f(3)i =

fi+2 − 2 fi+1 + 2 fi−1 − fi− 22 h3

+O(h2), (10.110)

f(4)i =

fi+2 − 4 fi+1 + 6 fi − 4 fi−1 + fi−2

h4+O(h2), (10.111)

Na verdade, formulas em diferencas para a aproximacao de derivadas podem ser construıdascom um numero arbitrario de pontos adjacentes. Na pratica, em qualquer esquema numerico, epreciso fazer o balanco entre a ordem de precisao e o numero de pontos simultaneamente envolvidosnos calculos.

Exemplo 10.18 A partir dos valores abaixo, calcular f ′(1, 4) usando diferencas ascendentes,descendentes e centrais.

x 1, 2 1, 3 1, 4 1, 5 1, 6f(x) 1, 5095 1, 6984 1, 9043 2, 1293 2, 3756

1. Diferencas ascendentes:

f ′(1, 4) =f(1, 5)− f(1, 4)

0, 1= 2, 2500

2. Diferencas descendentes:

f ′(1, 4) =f(1, 4)− f(1, 3)

0, 1= 2, 059

3. Diferencas centrais:

f ′(1, 4) =f(1, 5)− f(1, 3)

2 · 0, 1 = 2, 1545

Exemplo 10.19 Seja f(x) = cos x. Calcule aproximacoes para f′′(0, 8) com h = 0, 1, h = 0, 01,

h = 0, 001. Utilize 9 casas decimais em seus calculos. Depois, compare com o valor real f′′(0, 8) =

− cos 0, 8.

A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 207

Page 31: Soluç˜ao Numérica de Equaç˜oes Diferenciais Ordinárias

Introducao ao Calculo Numerico Solucao Numerica de Equacoes Diferenciais Ordinarias

10.3.5 Solucao por diferencas-finitas

Considere novamente o problema (10.72). Podemos resolve-lo se substituirmos as derivadas poraproximacoes em diferencas-finitas, conforme visto anteriormente.

Para tanto, particionamos o intervalo [a, b] nos pontos ti,

a = t0 < t1 < . . . < tn < tn+1 = b

espacados igualmente entre si, i.e.

ti = a+ ih, h =b− an+ 1

, 0 ≤ i ≤ n+ 1

Denotando o valor aproximado x(ti) por yi, podemos reescrever o problema (10.72) na formadiscreta

y0 = αyi−1−2yi+yi+1

h2 = f(ti, yi,

yi+1−yi−12h

), 1 ≤ i ≤ n

yn+1 = β(10.112)

onde as derivadas y′ e y′′ sao aproximadas por aproximacoes centrais, conforme as equacoes(10.108) e (10.109).

De forma geral, o problema (10.112) reduz-se a um sistema nao-linear de equacoes, como podeser visto no exemplo a seguir.

Exemplo 10.20 Suponha f(t, x, x′) = xt + 2x′. Usando (10.112), para n = 2, temos:y0 = αy0 − 2y1 + y2 = h2

(yt11 + 2

(y2−y0

2h

))y1 − 2y2 + y3 = h2

(yt22 + 2

(y3−y1

2h

))y3 = β

e, procedendo as substituicoes possıveis, chegamos ao seguinte sistema nao-linear de equacoes:1−(2 + h2) (1 − h)(1 + h) −(2 + h2)

1

y0yt11

yt22

y3

=

α(−(1 + h)α(h− 1)β

β

o qual deve ser resolvido atraves de um metodo especıfico como, por exemplo, o metodo de Newton.

10.3.5.1 O caso linear

Se o PVF e da forma (10.80), entao o sistema (10.112) reduzir-se-a a um conjunto de equacoeslineares, as quais podem ser escritas como

y0 = αaiyi−1 + diyi + ciyi+1 = bi 1 ≤ i ≤ nyn+1 = β

(10.113)

com

ui = u(ti)vi = v(ti)wi = w(ti)

ai = −1− h2wi+1

di = 2 + h2vi

ci = −1 + h2wi

bi = −h2ui

A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 208

Page 32: Soluç˜ao Numérica de Equaç˜oes Diferenciais Ordinárias

Introducao ao Calculo Numerico Solucao Numerica de Equacoes Diferenciais Ordinarias

o que nos permite escrever o sistema de equacoes lineares como

d1 c1a1 d2 c2

a2 d3 c3. . .

. . .. . .

an−2 dn−1 cn−1

an−1 dn

y1y2y3...

yn−1

yn

=

b1 − a0αb2b3...

bn−1

bn − cnβ

(10.114)

o qual apresenta as seguintes caracterısticas:

1. E tridiagonal;

2. Se h e pequeno e vi > 0, entao (10.114) e diagonal dominante, pois

| 2 + h2vi | >∣∣∣∣ 1 + h2wi

∣∣∣∣+∣∣∣∣ 1− h2wi

∣∣∣∣ = 2,assumindo que |hwi/2 | ≤ 1.

3.

| di | − | ci | − | ai−1 | = 2 + h2vi −(1− h

2wi

)−

(1 +

h

2wi

)= h2vi

10.4 Exercıcios

Exercıcio 10.1 O nucleo radioativo do plutonio decai de acordo com a equacao diferencial

dQ

d t= −0, 0525Q

Se 50mg de plutonio 241 estiverem presentes numa amostra no dia de hoje, determine quantoplutonio existira daqui a 2 anos. Considere h = 1 e h = 0, 5. Discuta seus resultados.

Exercıcio 10.2 Um capital de R$1000, 00 e depositado em uma conta. Sabendo que sobre eleincide uma taxa de 10% de juros compostos ao ano, determine qual sera o saldo na conta ao finalde 5 anos.

Exercıcio 10.3 Em psicologia, a lei de Weber-Fechner para a resposta-estımulo diz que a taxade variacao d R

d S da reacao R e inversamente proporcional ao estımulo. O valor inicial e o nıvelmınimo de estımulo que pode ser consistentemente detectado. O problema de valor inicial paraeste modelo e

R′ =k

SR(s0) = 0

Suponha que s0 = 0, 1 e use o metodo de Heun com h = 0, 1 para resolver

R′ =1S

R(0, 1) = 0

no intervalo [0, 1; 0, 5].

A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 209

Page 33: Soluç˜ao Numérica de Equaç˜oes Diferenciais Ordinárias

Introducao ao Calculo Numerico Solucao Numerica de Equacoes Diferenciais Ordinarias

Exercıcio 10.4 Usar o metodo de Taylor de 4a ordem para resolverx′ = cos t− senx+ t2

x(−1) = 3

com h = 10−2, t0 = −1, t1 = 1 e x0 = 3. Apos, usar a solucao obtida como um novo valor de x0,e repetir o processo, desta vez com x0 = −10−2. Explique o que ocorre.

Exercıcio 10.5 Um paraquedista salta de um aviao e ate o momento que ele abre o para-quedas,a resistencia do ar e proporcional a v

32 . Assuma que o intervalo de tempo e [0, 2] e que a equacao

diferencial para a direcao vertical e

v′ = 32− 0, 032 v 32

v(0) = 0

Use o metodo de Taylor de segunda ordem com h = 0, 5 e encontre a solucao para este problema.

Exercıcio 10.6 Assuma que a curva P (t) para uma determinada populacao obedeca a equacaodiferencial para uma curva logıstica P ′ = aP − b P 2. Seja t o tempo em anos e h = 10 o passo.Os valores a = 0, 02 e b = 0, 00004 produzem um modelo para a populacao. Considerando que noano de 1990 a populacao era 76, 1 milhoes, obtenha, usando o metodo de Heun, uma estimativapara esta populacao no ano de 2010.

Exercıcio 10.7 Resolva o exercıcio 10.4 usando o metodo de Runge-Kutta de 2a ordem.

Exercıcio 10.8 Resolva o exercıcio 10.4 usando o metodo de Runge-Kutta de 4a ordem.

Exercıcio 10.9 Use o metodo de Runge-Kutta 4a ordem para resolverx′ = ext + cos(x− t)

x(1) = 3

com h = 0, 01. Apresente o ultimo valor para x antes de ocorrer “overflow”.

Exercıcio 10.10 Supondo o metodo de Runge-Kutta de 3a ordem,

x(t+ h) = x(t) +19(2F1 + 3F2 + 4F3)

F1 = hf(t, x)

F2 = hf

(t+

12h, x+

12F1

)

F3 = hf

(t+

34h, x+

34F2

)

mostre que, para x′ = x+ t, ele e equivalente ao metodo de Taylor de 3a ordem.

Exercıcio 10.11 Em uma reacao quımica, uma molecula de A se combina com uma molecula deB para formar uma molecula do produto quımico C. Sabe-se que a concentracao, y(t), no tempot, e a solucao do problema de valor inicial:

y′ = k (a− y) (b− y)y(0) = 0

onde k e uma constante positiva e a e b sao as concentracoes iniciais de A e de B, respectivamente.Suponha que k = 0, 01, a = 70 milimoles/litro e b = 50 milimoles/litro. Use os metodos de Runge-Kutta de ordem N = 2 e N = 4 com h = 0, 5 para encontrar a solucao em [0, 2].

A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 210

Page 34: Soluç˜ao Numérica de Equaç˜oes Diferenciais Ordinárias

Introducao ao Calculo Numerico Solucao Numerica de Equacoes Diferenciais Ordinarias

Exercıcio 10.12 Resolva o PVI x′ = x2

x(0) = 1no intervalo 0 ≤ t ≤ 2 usando o metodo de Runge-Kutta-Fehlberg. Compare com a solucaoanalıtica dada por x(t) = (1 − t)−1. Explique o que ocorre perto da discontinuidade em t = 1,quando se usa o algoritmo 10.2.3.

Exercıcio 10.13 Determine as caracterısticas numericas do metodo de passo multiplo cuja equa-cao e

xn + 4xn−1 − 5xn−2 = h(4fn−1 + 2fn−2)

Exercıcio 10.14 Resolva o sistemax′1 = senx1 + cos(tx2)x′2 = sen(tx1)t−1 , x1(−1) = 2, 37, x2(−1) = −3, 48

usando o metodo de Euler, para −1 ≤ t ≤ 1 e h = 0, 01.

Exercıcio 10.15 Seja o sistemax′1 = (−1− 9c2 + 12sc)x1 + (12c2 + 9sc)x2

x′2 = (−12s2 + 9s)x1 + (−1− 9s2 − 12sc)x2, x1(0) = −2, x2(0) = 1

onde c = cos(6t), s = sen(6t). Para 0 ≤ t ≤ 10, h = 0, 01, responda:

1. Compare a solucao numerica com a solucao analıtica,x1 = e−13t(s− 2c)x2 = e−13t(2s+ c)

2. Recalcule a solucao numerica, para −0, 01 ≤ t ≤ 10 e 0, 02 ≤ t ≤ 10. Houve diferenca dasolucao obtida no item 1? Explique.

Exercıcio 10.16 Uma das equacoes basicas dos circuitos eletricos e

Ld i

d t+R i = E

onde L e a indutancia, R e a resistencia, i e a corrente e E, a forca eletromotriz. ConsidereL = 3H, R = 15Ω, E = 110V e i = 0 quando t = 0. Determine o valor da corrente quandot = 0, 5 s, tomando h = 0, 1 s e usando o metodo de predicao-correcao de quarta ordem.

Exercıcio 10.17 Um exemplo de um sistema de equacoes diferenciais nao lineares e o modelopresa-predador. Seja x(t) a populacao de coelhos no tempo t e y(t) a de raposas. O modelopresa-predador exige que x(t) e y(t) satisfacam

x′ = Ax−B xyy′ = C xy −Dy

Para fins de simulacao numerica, pode-se considerar os coeficientes:

A = 2 B = 0, 02 C = 0, 0002 D = 0, 8,

Use o metodo de Runge-Kutta para resolver a equacao diferencial no intervalo [0, 5] se

1. x(0) = 3000 coelhos e y(0) = 120 raposas;

2. x(0) = 5000 coelhos e y(0) = 100 raposas.

Exercıcio 10.18 Resolva o PVF linearx′′ = et−3 + (t2 + 2)x+ (sent)x′

x(2, 6) = 7, x(5, 1) = −3usando as equacoes (10.80)-(10.84). O PVI associado devera ser resolvido pelo metodo de Runge-Kutta-Fehlberg.

A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha 211