Vous êtes sur la page 1sur 7

4 Trabalho Mtodos Computacionais 2013

UNIVERSIDADE FEDERAL DE UBERLNDIA Faculdade de Engenharia Eltrica

Prof: Jos Roberto Camacho Aluno: Roberto Batista Neto

4 Trabalho:

Exerccio n 21, Lista 4

Uberlndia, 21 de Junho de 2013

4 Trabalho Mtodos Computacionais 2013

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.

2 MTODO NUMRICO DE DERIVAO NUMRICA COM DIFERENAS BACKWARD


Diferenciao numrica envolve estimativas de derivadas dentre um conjunto de dados. Em que para uma pequena flutuao dos dados. os resultados podem no ser completamente corretos, por possurem uma alta sensibilidade. Este processo determinado atravs de um polinmio interpolador, do qual determina-se sua derivada de acordo com o nmero de pontos desejados. Considerando um caso para a interpolao de trs pontos, tem-se: (x0,y0) , (x1,y1) e (x2,y2) onde os valores de x so igualmente espaados de h. O polinmio interpolador dado por: Q (x) = C0 + C 1(x - x0) + C2 (x - x0) (x x1) Para os seguintes valores de dos coeficientes, tem-se: C0 = y 0 (2) (1)

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)

4 Trabalho Mtodos Computacionais 2013


A equao (6) uma aproximao de segunda ordem para a primeira derivada em x 0 , considerando-se as diferenas positivas (forward differences). O termo diferenas positivas refere-se ao fato que a derivada foi estimada a partir de ndices de pontos que so maiores que x0 . As diferenas negativas (backward differences) estima a derivada utilizando os pontos que tem ndices menores ou iguais a x0 . Uma notao conveniente fornecer os subscritos tais como: (x -2,y -2), (x -1,y -1) e (x0,y0) onde os x so igualmente espaados de h e a frmula da primeira derivada dada por: (7)

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.

4 Trabalho Mtodos Computacionais 2013


Tabela 1 Frmulario de derivadas das diferenas negativas (backward differences). Derivada y' 0 w_4 0 0 0 3 0 0 11 0 3 1 w_3 0 0 -2 -16 0 -1 -56 -1 -14 -4 w_2 0 1 9 36 1 4 114 3 24 6 w_1 -1 -4 -18 -48 -2 -5 -104 -3 -18 -4 w0 1 3 11 25 1 2 35 1 5 1 n 2 3 4 5 3 4 5 4 5 5 C 1/h 1 / 2h 1 / 6h 1 / 12h 1 / h^2 1 / h^2 1/ 12*h^2 1 / h^3 1/ 2*h^3 1 / h^4

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.

Figura 1: Interface de entrada de funo pelo usurio

Inserida a funo plota-se o grfico.

Figura 2: Grfico da funo inserida pelo usurio.

4 Trabalho Mtodos Computacionais 2013


Existindo a possibilidade de o usurio trabalhar com valores de x de sua funo em graus ou em radianos/linear, o programa foi desenvolvido para essas possibilidades, sendo assim, o prximo passo perguntar ao usurio de qual forma se deseja trabalhar.

Figura 3: Interface de entrada da forma que se deseja trabalhar graus ou radianos/linear

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.

Figura 4 Interface de entrada dos valores de x, N e h.

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.

Figura 5: Interface de entrada do grau da derivada

4 Trabalho Mtodos Computacionais 2013


Ao digitar o valor correspondente que se deseja o clculo da derivada desejada o programa identificar a rotina adequada para o clculo, no caso D=1 ter a seguinte rotina.
if D == 1 Der=0; for I = 0 : N-1 C = (1/(hrad)); Der = Der+(W1(N-1,5-I)*Y(1,I+1))* C1(1,N-1); end end

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

4 Trabalho Mtodos Computacionais 2013


4 BIBLIOGRAFIA
[1] GRIFFITHS ,D. V.; SMITH, I.M. Numerical Methods for Engineers A Programming

Approach. Oxford University Press, 1993.


[2] CHAPMAN, Steven J. Programao em MATLAB para engenheiros. So Paulo: Thomson Learning, 2006.

Vous aimerez peut-être aussi