Académique Documents
Professionnel Documents
Culture Documents
4 Trabalho:
1 OBJETIVO
Este trabalho tem como objetivo o estudo e implementao computacional do mtodo numrico de derivao numrica com diferenas backward. Resolver o exerccio 21 da lista 4 verificando a estratgia utilizada pelo mtodo fazendo as devidas.
C2
C2
( y1 y0 ) h
(3)
y 2 2 y1 y 0 2h 2
(4)
A diferenciao da equao (1) : Q (x) = C1 + C2 [2x - (x0 + x1)] Do qual o valor para x0 , tem-se: (5)
Q' (x 0 ) = y'0 =
1 (3 y0 4 y1 y2 ) 2h
(6)
y'0 =
1 (3 y0 4 y1 y2 ) 2h
(8)
Nota-se que as equaes (6) e (8) envolvem coeficientes de mesma magnitude mas de sinais opostos. Para o clculo da derivada de segunda ordem de (6) em x0 , tem-se: Q (x0) = y0 = 2.C2 = constante (9)
y' ' 0
1 ( y 0 2 y1 y 2 ) h2
(10)
A terceira e a quarta ordens de derivadas sero nulas. Em geral, quando tem-se n + 1 dados igualmente espaados em x, a interpolao polinomial ser de ordem n, e a ensima derivada ser difcil de ser deduzida. Por exemplo, se formos deduzir a quarta derivada de um conjunto de dados discretos, ser requerido um mnimo de cinco pontos. Um resumo da frmula de diferenas negativas (backward differences) est apresentado na tabela 1 abaixo.
y' 0
y' 0
y' 0
Onde, n representa o nmero de pontos a serem interpolados e C o coeficiente multiplicador do polinmio interpolador. A frmula genrica de se obter a kth derivada: y0(k) = C (w0 . y0 + w-1 . y-1 + ... + w-n+1 . y-n+1) + E (11)
3 METODOLOGIA E RESULTADOS
Foi implementado o algoritmo mtodo numrico de derivao numrica com diferenas backward em script do MATLAB, em que foram desenvolvidos algoritmos genricos. Primeiramente solicitado ao usurio que digite a funo desejada em que se deseja o clculo da derivada utilizando diferenas backward. Veja um exemplo abaixo em que se insere a funo seno.
Os prximos passos so a insero dos valores de entrada de x, no nmero de pontos N em que se far as diferenas backward e seus espaamentos.
Com o valor do ponto que se deseja calcular a derivada, com os espaamentos h, e o nmero de pontos o usurio no necessita de inserir os outros valores o programa calcula automaticamente os valores da f(x) para valores de x igualmente espaados a uma distancia h no sentido backward. Para isso foi implementado a seguinte rotina.
for i=1:N-1 x =arad-i*hrad; X(1,k)= x; y = eval(fx); Y(1,k) = y; k=k+1; Y; end
Como resultado para o exemplo estudado. Y = [0.5000 0.4226 0.3420 0.2588 0.1736] X = [0.5236 0.4363 0.3491 0.2618 0.1745] Exatamente igual a tabela presente na lista 4 exerccio 10. Por final solicitado ao usurio o grau da derivada desejada.
A rotina foi baseada na equao (11) frmula genrica de se obter a kth derivada apresentada anteriormente. A matriz W1 corresponde aos valores do coeficientes w para derivada de primeira ordem como pode ser visto na tabela 1, o valor de N (nmero de pontos) determinar qual linha a ser utilizada. O vetor Y so os valores da funo para o espaamento desejado no sentido backward, e o vetor C1 corresponde ao valor de C da tabela para derivada primeira condicionado ao nmero de pontos N. Como resultado obteve-se como o esperado. O Valor da derivada encontrada: 0.8660 Para valores trabalhados em radianos tambm vlido como pode ser visto na figura abaixo