780 likes | 1.16k Vues
Derivadas e EDO. Renato Assunção DCC, UFMG. Derivada numerica. Lembre da definição de derivada Como no caso da integral, a definição e’ uma operação de limite quando h 0 Uma estimativa simples e’ então tomar h ≈0 e usar a aproximação
E N D
Derivadas e EDO Renato Assunção DCC, UFMG
Derivada numerica • Lembre da definição de derivada • Como no caso da integral, a definição e’ uma operação de limite quando h 0 • Uma estimativa simples e’ então tomar h ≈0 e usar a aproximação • Este e’ chamado o método das diferença sucessiva (forwarddifferencemethod)
Precisão da diferença sucessiva • Se f e’ diferenciavel duas vezes, podemos escrever sua expansao de Taylor de 2ª ordem: • Onde ε(x, x+h) • Entao • Portanto, o erro de Dhf e’
Exemplo • Considere a função e calcule • Pelo método da diferença sucessiva: • Por outro lado, sabemos do calculo que f ’(x)=1/(1+x2) e portanto
Um método mais preciso • Considere as seguintes DUAS expansões de Taylor: • Isolando f ’ (x) encontramos: • Isto produz o método da diferença simétrica
Diferença simétrica • Este método e’ uma media dos métodos de diferença sucessiva e diferença retroativa. • Qual a precisão desta media? • Como • e • O método da diferença simétrica tem um erro de aproximação igual a
Extrapolação de Richardson • Extrapolação de Richardson pode ser usada para melhorar qualquer método numérico que tenha a ordem de grandeza de seu erro conhecida. • Podemos usa-la para melhorar: • Diferença sucessiva (O(h)) • Diferença simétrica (O(h2)) • Nos podemos ser bastante específicos sobre o impacto da extrapolação de Richardson nestes dois casos.
Se nos tivéssemos tomado a expansão completa de Taylor quando derivamos o método das diferenças simétricas teríamos: • ou • onde k2, k4, .. são constantes independentes de h.
Agora podemos olhar a precisao da extrapolacao de Richardson para diferencassimetricas (p=2): • 4/3 Dh/2 – 1/3 Dh • Do slide anterior: • Multiplicando pelos fatores apropriados temos • Substituindo (2) em (1) temos • Assim, diferenças simétricas com extrapolação de Richardson tem erro O(h4)
Estimando a derivada segunda • Vamos considerar de novo as duas expansões de Taylor: • Isolando f’’(x) encontramos • E assim temos a aproximação
Calculo diferencial e integral • Newton e Leibniz inventaram o calculo diferencial e integral por volta de 1670. • O objetivo era ter ferramentas matemáticas apropriadas para lidar com o movimento e mudanças no tempo. • Entender, modelar e predizer o movimento dos corpos celestes era um dos maiores objetivos da ciência naqueles tempos. • Para os homens daquele tempo, compreender o movimento dos céus era ouvir a voz de Deus.
Calculo diferencial e integral • Logo depois ocorre uma explosão cientifica revolucionaria: Os irmãos Bernoulli, Euler, Lagrange, Laplace, etc. • A ciência e engenharia modernas nascem, vicejam, crescem e criam o que temos hoje em dia. • Derivadas e integrais aparecem em todos os modelos científicos para descrever a natureza se um processo de mudança estiver envolvido no fenômeno estudado. • A mais famosa lei da fisica, a 3ª lei de Newton, envolve uma segunda derivada: F = m * d2 y(t)/dt2
Um passo alem: Equações diferenciais • Equação não linear usual: • achar os valores de t para os quais a igualdade f(t)=0 e’ valida • Equação diferencial ordinária: achar as funções y(t) para as quais a igualdade g(t, y(t), y’(t)) = 0 PARA TODO t • Por exemplo: achar y(t) tal que seja valida a equação • y’(t)–3y(t) = 0 OU SEJA y’(t) = 3y(t). • Isto e’, queremos achar as todas as funções y(t) tais que a sua função derivada y’(t) seja igual a 3 vezes a própria função y(t).
EDO de 1ª ordem • Achar y(t) tal que y’(t) = 3y(t) • Geometricamente: • Desenhe o gráfico da função y(t) • Calcule a inclinação da reta tangente y’(t) em cada ponto t • A inclinação deve ser igual a 3 vezes o valor da função y(t) • Existe alguma função que satisfaz esta condição? • Se existem, e’ possível encontra-las? • Técnicas de solução ANALITICA de EDO: solução exata
EDO de 1ª ordem • Achar y(t) tal que y’(t) = 3y(t) • Que tal y(t) = t2 ?? • Neste caso, y’(t) = 2 t t2 = y(t) • Que tal y(t) = cos(t) ? • Neste caso, y’(t) = -sen(t) cos(t) = y(t) • OU ainda y(t) = log(t) ?? • y‘(t) = 1/t que não e’ a própria função y(t)=log(t)
EDO de 1ª ordem • Achar y(t) tal que y’(t) = 3y(t) • Que tal y(t) = e3t ?? • De fato, para esta função, temos y’(t) = 3 e3t = 3 y(t) • e’ uma solução da equação diferencial. • Existe alguma outra função que também seja solução? • Sim: todas as funções da forma y(t) = c e3t onde c R também e’ uma solução. • Existem outras? Não, estas são todas, não existem mais funções para as quais temos y’(t) = 3 y(t) • PARA TODO t
EDO 1ª ordem com valor inicial • Achar y(t) tal que • y’(t) = 3y(t) • E ALEM DISSO, y(0) = 2 • Agora, colocamos uma restrição adicional, uma condição sobre o valor inicial da função y(t). • No tempo t=0, a função deve valer y(0)=2 • Como todas as soluções de y’(t) = 3y(t) são da forma y(t) = c e3t temos de encontrar alguma que satisfaça a condição inicial. • 2 = y(0) = c e3*0 = c.1 y(t) = 2 e3t
Notação: ordinária? • Equações diferenciais: ok • Mas por que Equações diferenciais ORDINÁRIAS? • Existem Equações diferenciais EXTRAORDINÁRIAS? • Não. O palavra “ordinária” e’ usada para diferenciar das equações diferenciais PARCIAIS. • Parciais: equações que envolvem funções de mais de uma variável e suas derivadas parciais. • Exemplo: Equação de difusão do calor numa barra de densidade homogênea. • Seja u(t,x) a temperatura no ponto x no tempo t • Então onde c depende do material
EDO de 1ª ordem • Equações diferenciais ordinárias de 1ª ordem são equações envolvendo apenas a derivada y’(t) e a funcao y(t) e possivelmente outras funções FIXAS e conhecidas (tais como sin(t) ou exp(t)). • Por exemplo: • y’(t) = p(t) * y(t) + g(t) • Casos particulares: • y’(t) = 3 * y(t) + sin(t) • y’(t) = (3*t2 + 2t -1) * y(t) + sin(t)
EDO de ordem n • EDO ordem n são equações envolvendo : • As derivadas yn(t), yn-1(t),..., y’(t) • a função y(t) • e possivelmente outras funções FIXAS e conhecidas (tais como sin(t) ou exp(t)). • Por exemplo, uma EDO de 2ª ordem: • y”(t) = sin(t) * y’(t) + y(t) + 3t • Qual a (ou as) FUNCAO y(t) tal que a sua FUNCAO derivada segunda y’’(t) obedece a equação acima? • Mas isto e’ so’ um exercício de matemáticos sem ter o que fazer, certo?
Exemplos de EDOs famosas • Decaimento radioativo: proporção carbono-14/carbono-12 presente na matéria orgânica viva é constante. • No entanto, na matéria orgânica morta a quantidade de 14C diminui com o tempo, a uma taxa proporcional à quantidade existente. • Se designarmos essa quantidade por Q, teremos: • Q’(t) = -c Q(t) onde c > 0 e’ uma constante
Exemplos de EDOs famosas • Corpo em queda livre com atrito devido a resistência do ar: • Mv’(t) = mg – k v(t) ou v’(t) + k/m v(t) – g = 0 • Engenharia Química: balanço de massa ou volume ou energia num reator químico. • O volume de líquido num tanque e a concentração de uma solução A mudam com o tempo. • Entra e sai líquido a taxas constantes e diferentes. • Os líquidos possuem concentrações de A diferentes. • Descrever a concentração de A em cada instante : terminamos em uma EDOs
Exemplos de EDOs famosas • Oscilador harmônico amortecido: • y’’(t) + a y’(t) + b y(t) = 0 • Para descrever a física do átomo de hidrogênio: • Legendre: (1-t2)y’’(t) – 2 t y’(t) + k(k+1) y(t) = 0 • Para descrever o comprimento de onda no átomo de hidrogênio: • Laguerre: t y’’(t) + (1-t) y’(t) + k y(t) = 0 • Membranas vibratórias: • Bessel : t2 y’’(t) + t y’(t) + (t2 – k2) y(t) = 0 • Mecânica quântica: • Hermite: y’’(t) – 2 t y’(t) + 2 k y(t) = 0 • Arco-íris • y’’(t) + t y(t) = 0
EDO linear de 1ª ordem • Suponha que y’(t) = a(t) * y(t) + b(t) • Solução: • Com o fator integrante • Se y’(t) = - y2(t) EDO NÃO-LINEAR. • Esta EDO particular pode ser resolvida pelo método de separação de variáveis .
EDO de 1ª ordem • Vamos considerar problemas do seguinte tipo: • Existe alguma solução? Quando ela e’ única? • TEOREMA:
Métodos numéricos: Euler • Nosso problema de EDO de 1ª ordem: • Euler e’ o método mais simples. • Acha uma aproximação para a solução y(t) num intervalo [t0, tN] • Divide o intervalo em N subintervalos de comprimentos iguais: t0, t1, ..., tN onde tk=t0 + k * h com h=(tN-t0)/N • Se h e’ pequeno, temos
Método de Euler • Nosso problema de EDO de 1ª ordem: • t0, t1, ..., tN onde tk=t0 + k * h com h=(tN-t0)/N • Se h e’ pequeno, temos • Algoritmo: • Temos uma aproximação y0, y1, y2, ..., yN para y(t)
y(t) Valor de y(t0+ h) (t0, y0) Passo h t Método de Euler – 1ª iteracao Slope Valor aproximado y1 t0 t1 Interpretação gráfica: primeiro passo do método de Euler
y(t) Valor verdadeiro y(x2) y2 Valor aproximado y1 h Tamanho do passo t t1 t2 Método de Euler – 2ª iteração Note que y2 e’ o Valor em x2 de uma reta que passa por (t1, y1) e que tem inclinação f(t1,y1). Segunda iteração do método de Euler
y(t) Valor verdadeiro y(t2) y2 Valor aproximado y1 h Tamanho do passo t t1 t2 Método de Euler – 2ª iteração NÃO ESTAMOS USANDO y*2 = y(t1) + f(t1, y(t1))h uma reta passando por y(t1) e com inclinação f(t1,y(t1)) pois NOS NÃO TEMOS y(t1) Na 1ª iteração obtivemos uma aproximação y1 para y(t1)
y Valor verdadeiro y(ti+1) yi+1,Valor aproximado yi h Tamanho do passo t ti ti+1 Método de Euler – iteração i Passo genérico do método de Euler
Erros em Euler • Assim, na n-ésima iteração, gostaríamos de aproximar yn+1 pelo valor em tn+1 = tn+h da reta tangente a y(t) no ponto (tn, y(tn)) • Entretanto, NÃO TEMOS y(tn) • mas somente uma aproximação yn • Assim, temos dois erros acumulando-se • em cada iteração do método de Euler. • Existe um erro em aproximar y(tn) • por yn , a n-ésima iteração • Além disso, gostaríamos de ter f(tn,y(tn)) • mas usamos f(tn,yn)
Exemplo Uma esfera possui temperatura de 1200K (ou 920oC ) e comeca a resfriar ‘a temperatura ambiente de 300K (ou 27oC). Assumindo que o calor e’ dissipado sem interferência, a equação diferencial que reflete a temperatura (t) da esfera no tempo t deve satisfazer a seguinte EDO Encontrar a temperatura em t=480 segundos usando o método de Euler. Assuma um passo de tamanho h=240 segundos
Solução Primeira iteração: e’ a temperaturaaproximadaem
Solução - continuação Iteração 2: Para e’ a temperatura aproximada em
Solução – continuação A solução exata da EDO e’ dada pela raiz da equação não-linear A solução (480) desta equação não-linear em t=480 segundos e’ Bem diferente da aproximação:
Efeito do tamanho do passo h Temperatura aos 480 segundos como uma função do passo h (valor exato)
Comparação com resultado exato Apenas h=480, 240 e 120
Efeito do tamanho do passo h em Euler Valor exato
Mais um exemplo • Considere a EDO • Como x0=0 então xn=nh • Iteração: • Usando h=0.1 e 0.001 • E comparando com a • solução exata • temos a tabela ao lado
Erros no método de Euler Vimos que o método de Euler PODE ter erros grandes. Para entender a ordem de grandeza desses erros, vamos fazer a expansão de Taylor em torno de xi Isto e’: Os dois primeiros termos da serie de Taylor e’ o método de Euler O erro na aproximação e’ dado por
Runge - Kutta • Euler fez a seguinte aproximação • Que tal usar uma aproximação melhor para a integral? • Por exemplo, podemos usar a regra do trapézio: • Neste caso, teremos então a aproximação • E o algoritmo
Runge-Kutta • Encontramos a equação de iteração: • Existe um problema no entanto: yn+1 aparece dos dois lados da equação acima. Não conseguimos isolar yn+1. • Uma possibilidade e’ substituir yn+1 NO LADO DIREITO por sua aproximação baseada em Euler: yn+1 = yn + f(tn,yn)h • Este e’ o metodo de Runge-Kutta de 2ª ordem
RungeKutta de 2ª ordem • Equação de iteração: • ou simplesmente • onde • Assim, este e’ um método de Euler com inclinação (s1+s2)/2
Runge – Kutta de 2ª ordem • E’ possível uma interpretação gráfica-geométrica deste método de Runge-Kutta. Temos • com • Isto corresponde ao seguinte esquema em dois passos: • Tome um passo preliminar de Euler com inclinação s1 em tn: • Com isto, obtenha uma segunda inclinação s2em tn+h • A atualização de Euler realmente dada usa a média das inclinações s1 em tn e s2 em tn+h
Um segundo método de Runge-Kutta • O método de Runge-Kutta que acabamos de estudar começou aproximando uma integral pela regra do trapézio: • Podemos usar alguma outra regra: Simpson ou midpoint • Vamos usar midpoint: • Neste caso • Note que y(t+h/2) no lado direito não e’ conhecido. Vamos usar Euler de novo para este valor.
2º. Método de Runge - Kutta • Temos a aproximação • Usamos a aproximação de Euler para o termo y(tn+h/2): • y(tn+h/2) ≈y(tn)+h/2 * f(tn, yn) • Substituindo a iteração para yn+1 temos • Este método e’ conhecido como método de Euler modificado ou método do ponto médio
2º metodo de Runge-Kutta • Também podemos ver este novo método de Runge-Kutta como um processo em dois estágios. • Escrevemos • como • onde