Calcule as aproximações de diferenças finitas usando os pontos abaixo. Compare com os resultados fornecidos pelos códigos MATLAB/OCTAVE fdcoeffV e fdcoeffF disponíveis no site do livro do Leveque (http://staff.washington.edu/rjl/fdmbook/). Dê a ordem de precisão de cada aproximação.
u^prime(barx+h / 2) usando barx-h, barx, barx+h;

Passo 1

Então, o que a gente quer aqui é aproximar a derivada
u'l(bar x + tfrac h2r)
usando os valores de nos três pontos , e .
O assunto é diferença finita e vamos usar a ideia de expansão de Taylor (ou interpolação de Lagrange) para encontrar coeficientes que combinem esses três valores de forma a dar uma boa aproximação da derivada.

Passo 2

Vamos chamar o ponto em que queremos a derivada de
x^* = bar x + h2
Então escrevemos Taylor de u(bar x+h) = u(x^*) + u'(x^*) h2 + u''(x^*)2!l(tfrac h2r)^2 + O(h^3) e u(bar x) = u(x^*) - u'(x^*) h2 + u''(x^*)2!l(tfrac h2r)^2 + O(h^3) em torno de :
  1. em :
  1. em :

Passo 3

Subtraindo a segunda da primeira, a parte em u(bar x+h)-u(bar x) = l[u'(x^*)tfrac h2 + O(h^3)r] - l[-u'(x^*)tfrac h2 + O(h^3)r] = u'(x^*),h + O(h^3) e o termo em u'(x^*) = u(bar x+h)-u(bar x)h + O(h^2) se cancelam até , sobrando
Logo, isolando :
Repare que o valor em entra com coeficiente zero – ou seja, a fórmula depende só de e .

Passo 4

Isso mostra duas coisas importantes:
  1. A aproximação é
u'!l(bar x + tfrac h2r) approx u(bar x+h)-u(bar x)h
  1. O termo de erro é , ou seja, a ordem de precisão é 2.

Resposta

A fórmula de diferença finita para boxed u'!l(bar x + tfrac h2r) approx u(bar x+h)-u(bar x)h, usando fica
e ela é de segunda ordem de precisão ( ).
Os códigos do Leveque (fdcoeffV, fdcoeffF) vão dar exatamente esses coeficientes e confirmar a ordem 2.

Exercícios relacionados