Derivação Numérica

Teoria Completa

Introdução

Fala aí meus consagrados, tudo certinho? Antes de começar a mexer com aquelas EDO´s barra pesada, vamos retomar alguns conceitos importantes que vem láaaa do cálculo 1.

Mas é um assunto molezinha, estamos falando de derivadas.

Fala aí, tu lembras a definição de derivada? Não vale colar... e olha que eu nem estou falando da clássica “derivada representa a taxa de variação”.

Se não lembra, nem esquenta. To falando da definição raiz (que vem láaaa daquelas teorias de limites) hahaha é essa aqui em baixo: f ' x 0 = lim h → 0 ⁡ f x 0 + h - f x 0 h

Então para aproximarmos nossa derivada é só encontrarmos o valor de

f x 0 + h - f x 0 h

usando um h bem pequeno. Pronto, acabou esse tópico.

Ai... Capaaaz que seria tão fácil assim. Vamos partir daquela fórmula pra achar inúmeras ramificações. E agora a brincadeira começa a ficar boa.

Essas ramificações geralmente são obtidas pelo polinômio de Lagrange ou pelo truncamento da série de Taylor. Que, cá entre nós... é a mesmíssima coisa, já que o tal do Lagrange resolvia as coisinhas usando a série de Taylor.

Derivada Primeira

A primeira coisa que vamos fazer aqui é analisar o gráfico. Tá ligado que eu puxei a definição de derivadas usando limites né? Mas, derivação também tem outros conceitos relacionados...

É, estamos falando daquela reta que toca a curva, a famosa tangente.

Então se liga aqui, basicamente o que vai acontecer nessas fórmulas é o seguinte:

Perceba que quanto menor for o nosso h mais a nossa aproximação (reta verde) se aproxima do valor exato da derivada (reta azul)? Mas, precisamos ter alguns cuidados.

Falei ali encima que quanto menor o h melhor será nossa aproximação e iremos conseguir computar mais casas decimais.

Opa, espera aí! Tudo tem limite né? Imagine um computador processando essas informações... agora pense que você está cada vez mais reduzindo os intervalos que ele é capaz de computar... Isso quer dizer que quanto menor for o nosso h mais próximo do limite de representação da máquina ele vai chegando.

Então, na real se nós tivermos um h muito pequeno, diminuiremos o erro da aproximação. Maaaaaaaaas aumentaremos muito o erro de arredondamento ou truncamento então não exagere haha.

Dito isso, podemos ver quais são os métodos:

Diferença Avançada:

Se usarmos o polinômio de Taylor de grau 1 ficamos com:

f x ≅ f x 0 + f ' x 0 x - x 0

Sendo uma aproximação é válida para x próximo de x 0 . Vamos fazer a mudança de variáveis x = x 0 + h , sendo uma diferença adiantada... nós vamos adiantar (ou seja, acrescentar) alguns h na conta, obtendo:

f x 0 + h ≅ f x 0 + f ' x 0 x 0 + h - x 0

f x 0 + h ≅ f x 0 + h f ' x 0

f ' x 0 ≅ f x 0 + h - f x 0 h

Diferença Atrasada:

Esse nome é bem sugestivo, se no de diferença adianta nós adicionávamos h , na diferença atrasada fazemos o oposto: subtraímos h .

Ouuuu seja, ao invés de fazermos a substituição x = x 0 + h , fazemos x = x 0 - h , obtendo:

f x 0 - h ≅ f x 0 + f ' x 0 x 0 - h - x 0

f x 0 - h ≅ f x 0 - h f ' x 0

f ' x 0 ≅ f x 0 - f x 0 - h h

Diferença Central:

Já no caso da central temos que encontrar um caminho alternativo para ficar no centro, ou seja, entre as outras duas. Então, esse meio que faz uma média entre as duas. Somando as duas fórmulas ficamos com:

2 f ' x 0 ≅ f x 0 + h - f x 0 h + f x 0 - f x 0 - h h

2 f ' x 0 ≅ f x 0 + h - f x 0 - h h

f ' x 0 ≅ f x 0 + h - f x 0 - h 2 h

Erro na Derivada Primeira

Mas é claro que nosso querido erro não poderia ficar de fora! Se nós estamos fazendo aproximações, significa que precisamos saber o quão perto estamos do valor real.

Para esses casos o limitante do erro pode ser encontrado pela teoria lá de Lagrange ou Taylor também. Para as diferenças atrasada e avançada ele é dado por:

E ≤ h 2 ∙ max x ∈ a , b ⁡ f ' ' x

E para a diferença central temos:

E ≤ h 2 6 ∙ max x ∈ a , b ⁡ f 3 x

Onde a , b é um intervalo que contenha x 0 e x 0 + h para a diferença avançada, x 0 - h e x 0 para a diferença atrasada e x 0 - h e x 0 + h para a diferença central.

Aí você poderia argumentar que não faz muito sentido termos que saber a derivada segunda ou terceira da função para calcular o erro já que para estarmos derivando numericamente provavelmente não queremos calcular a derivada haha.

Eu concordo 100 % com você, mas o professor pode pedir então é sempre bom mencionar.

Exemplo

Bora resolver um exemplo que esse negócio vai ficar mais fácil do que você imagina.

Aproxime o valor da derivada de ln ⁡ x no ponto x 0 = 0.5 usando h = 0.05 pelos três métodos apresentados. Calcule também um limitante para o erro e o erro exato.

Pelo método da diferença avançada:

f ' 0.5 ≅ f 0.55 - f 0.5 0.05 = 1.90620

O limitante do erro é:

E ≤ h 2 ∙ max x ∈ a , b ⁡ f ' ' x

Onde h vale 0.05 . E a derivada segunda de ln ⁡ x é dada por f ' ' x = - 1 x 2 . O módulo máximo dessa função no intervalo 0.5,0.55 ocorre em x = 0.5 e tem como valor f ' ' 0.5 = 4 . Substituindo:

E ≤ 0.05 2 ∙ 4 = 0.1

O erro exato é:

E A = 2 - 1.90620 = 0.0938

Usando diferença atrasada:

f ' 0.5 ≅ f 0.5 - f 0.45 0.05 = 2.10721

Usando a mesma fórmula para o limitante do erro temos que o módulo máximo de f ' ' x no intervalo 0.45,0.5 ocorre em x = 0.45 e tem como valor f ' ' 0.45 = 4.938 . Substituindo:

E ≤ 0.05 2 ∙ 4.938 = 0.12345

O erro exato é:

E A = 2 - 2.10721 = 0.10721

E por último a diferença central:

f ' 0.5 ≅ f 0.55 - f 0.45 0.1 = 2.00671

Agora nossa fórmula para o erro muda um pouquinho. Temos: E ≤ h 2 6 ∙ max x ∈ a , b ⁡ f 3 x

A terceira derivada de ln ⁡ x é f 3 x = 2 x 3 . E o módulo máximo dela no intervalo 0.45,0.55 acontece em x = 0.45 onde temos f 3 0.45 = 21.948 . Substituindo:

E ≤ 0.05 2 6 ∙ 21.948 = 0.009

E o erro exato é:

E A = 2 - 2.00671 = 0.00671

Se juntarmos tudo isso numa tabelinha:

Derivada Segunda

Calma, relaxa que estamos quase acabando . Como faríamos uma aproximação para a derivada segunda de uma função f x avaliada em algum ponto?

Vimos lá encima que para a derivada de primeira o primeiro polinômio de Lagrange ou o polinômio de Taylor de grau 1 .

No caso da segunda derivada vamos usar até o segundo Polinômio de Lagrange ou o polinômio de Taylor de grau 2 . Fazendo aquelas mesmas substituições x = x 0 + h e x = x 0 - h e reorganizando ficamos com:

f x 0 + h ≅ f x 0 + h f ' x 0 + h 2 f ' ' x 0 2

f x 0 - h ≅ f x 0 - h f ' x 0 + h 2 f ' ' x 0 2

Somando:

f x 0 + h + f x 0 - h ≅ 2 f x 0 + h 2 f ' ' x 0

Isolando a derivada segunda:

f ' ' x 0 ≅ f x 0 + h - 2 f x 0 + f x 0 - h h 2

Ah pode chamar esse método de Diferença Central para a Derivada Segunda.

Booooora fazer exercício!!!

Expandir

Exercício Resolvido #1

UFAL – Professor Eduardo Toledo de Lima Junior. (ADAPTADO)

Usando a fórmula mais acurada, determine a aceleração no tempo 1,5 s :

MOSTRAR SOLUÇÃO COMPLETA

Passo 1

Bom, esse é um exercício inicial do assunto, então é bem tranquilo. A dificuldade vai aumentando com o passar dos exercícios. Vamos lá!

A fórmula mais acurada é das diferenças centradas, que é:

f ' x 0 = f x 0 + h - f ( x 0 - h ) 2 h

De acordo com os valores tabelados, percebemos que h = 0,5 , já que os valores de t espaçam 0,5 s entre si.

Como queremos a aceleração no ponto 1,5 s , precisamos encontrar a derivada nesse ponto. Então vamos apenas aplicar essa fórmula.

Passo 2

No ponto x = 1,5 s :

f ' 1,5 = f 1,5 + 0,5 - f ( 1,5 - 0,5 ) ( 2 ) ( 0,5 )

Resolvendo essa equação:

f ' 1,5 = 4,52 - 1,25 ( 2 ) ( 0,5 ) = 3,27

Resposta

f ' 1,5 = 3.27

Exercício Resolvido #2

Richard L. Burden e J. Douglas Faires, Numerical Analysis, 9ª ed. Brooks/Cole, Cengage Learning, pag 182, exercício 3

Os dados do último exercício foram tirados das funções abaixo. Calcule o erro absoluto das suas aproximações do exercício 1 e encontre limitantes para o erro.

a f x = sin ⁡ x

b f x = e x - 2 x 2 + 3 x - 1

MOSTRAR SOLUÇÃO COMPLETA

Passo 1

a Relembrando as aproximações que encontramos no último exercício:

f ' 0.5 ≅ 0.852

f ' 0.6 ≅ 0.796

f ' 0.7 ≅ 0.796

O valor exato vai ser:

f x = sin ⁡ x

f ' x = cos ⁡ x

f ' 0.5 = 0.87758

f ' 0.6 = 0.82534

f ' 0.7 = 0.76484

E A f ' 0.5 = 0.852 - 0.87758 = 0.02558

E A f ' 0.6 = 0.796 - 0.82534 = 0.02934

E A f ' 0.7 = 0.796 - 0.76484 = 0.03116

Passo 2

Agora temos que encontrar o limitante para o erro usando a fórmula

E ≤ h 2 ∙ max x ∈ a , b ⁡ f ' ' x

Onde f ' ' x = - sin ⁡ x e tem seu módulo máximo no intervalo 0.5,0.6 em x = 0.6 e seu módulo máximo no intervalo 0.6,0.7 em x = 0.7 :

f ' ' 0.6 = 0.56464

f ' ' 0.7 = 0.64422

Substituindo nas fórmulas:

E A f ' 0.5 ≤ 0.1 2 ∙ 0.56464 = 0.028232

E A f ' 0.6 ≤ 0.1 2 ∙ 0.64422 = 0.032211

E A f ' 0.7 ≤ 0.1 2 ∙ 0.64422 = 0.032211

Passo 3

Organizando numa tabelinha:

Passo 4

b As aproximações que encontramos no último exercício foram:

f ' 0 ≅ 3.707

f ' 0.2 ≅ 3.152

f ' 0.4 ≅ 3.152

O valor exato vai ser:

f x = e x - 2 x 2 + 3 x - 1

f ' x = e x - 4 x + 3

f ' 0 = 4

f ' 0.2 = 3.4214

f ' 0.4 = 2.8918

E A f ' 0 = 3.707 - 4 = 0.293

E A f ' 0.2 = 3.152 - 3.4214 = 0.2694

E A f ' 0.4 = 3.152 - 2.8918 = 0.2602

Passo 5

Agora vamos encontrar o limitante para o erro usando a fórmula

E ≤ h 2 ∙ max x ∈ a , b ⁡ f ' ' x

Onde f ' ' x = e x - 4 e tem seu módulo máximo no intervalo 0,0.2 em x = 0 e seu módulo máximo no intervalo 0.2,0.4 em x = 0.2 :

f ' ' 0 = 3

f ' ' 0.2 = 2.7786

Substituindo nas fórmulas:

E A f ' 0 ≤ 0.2 2 ∙ 3 = 0.3

E A f ' 0.2 ≤ 0.2 2 ∙ 2.7786 = 0.27786

E A f ' 0.4 ≤ 0.2 2 ∙ 2.7786 = 0.27786

Passo 6

Organizando numa tabelinha:

Resposta

a

b

Exercício Resolvido #3

Richard L. Burden e J. Douglas Faires, Numerical Analysis, 9ª ed. Brooks/Cole, Cengage Learning, pag 182, exercício 1

Usando as fórmulas de diferença avançada e diferença atrasada determine os valores que estão faltando nas tabelas abaixo:

MOSTRAR SOLUÇÃO COMPLETA

Passo 1

Para o primeiro valor da tabela nós só podemos usar a diferença avançada assim como para o último só podemos usar a diferença atrasada.

Para o do meio podemos usar qualquer um dos dois. Eu vou escolher a diferença avançada mesmo.

a

f ' 0.5 ≅ f 0.6 - f 0.5 0.1 = 0.5646 - 0.4794 0.1 = 0.852

f ' 0.6 ≅ f 0.7 - f 0.6 0.1 = 0.6442 - 0.5646 0.1 = 0.796

f ' 0.7 ≅ f 0.7 - f 0.6 0.1 = 0.6442 - 0.5646 0.1 = 0.796

Repare que as aproximações de f ' 0.7 e de f ' 0.6 ficaram iguais! Isso porque escolhemos o método da diferença avançada para f ' 0.6 .

Se tivéssemos escolhido o método da diferença atrasada os valores de f ' 0.5 e de f ' 0.6 teriam sido os mesmos.

Passo 2

b

f ' 0 ≅ f 0.2 - f 0 0.2 = 0.7414 - 0 0.2 = 3.707

f ' 0.2 ≅ f 0.4 - f 0.2 0 . 2 = 1.3718 - 0.7414 0 . 2 = 3.152

f ' 0 . 4 ≅ f 0.4 - f 0.2 0.2 = 1.3718 - 0.7414 0.2 = 3.152

Resposta

a

f ' 0.5 ≅ 0.852

f ' 0.6 ≅ 0.796

f ' 0.7 ≅ 0.796

b

f ' 0 ≅ 3 . 707

f ' 0.2 ≅ 3.152

f ' 0.4 ≅ 3.152

Exercício Resolvido #4

Richard L. Burden e J. Douglas Faires, Numerical Analysis, 9ª ed. Brooks/Cole, Cengage Learning, pag 182, exercício 3

Os dados do último exercício foram tirados das funções abaixo. Calcule o erro absoluto das suas aproximações do exercício 1 e encontre limitantes para o erro.

a f x = sin ⁡ x

b f x = e x - 2 x 2 + 3 x - 1

MOSTRAR SOLUÇÃO COMPLETA

Passo 1

a Relembrando as aproximações que encontramos no último exercício:

f ' 0.5 ≅ 0.852

f ' 0.6 ≅ 0.796

f ' 0.7 ≅ 0.796

O valor exato vai ser:

f x = sin ⁡ x

f ' x = cos ⁡ x

f ' 0.5 = 0.87758

f ' 0.6 = 0.82534

f ' 0.7 = 0.76484

E A f ' 0.5 = 0.852 - 0.87758 = 0.02558

E A f ' 0.6 = 0.796 - 0.82534 = 0.02934