Baixe o app para aproveitar ainda mais
Prévia do material em texto
Aproximac¸a˜o polinomial de Taylor Derivadas nume´ricas Diferenciac¸a˜o nume´rica Ricardo Biloti biloti@g.unicamp.br Ca´lculo Nume´rico – UNICAMP 2S/2018 http://goo.gl/7u4wn http://goo.gl/7u4wn Ricardo Biloti Diferenciac¸a˜o nume´rica Aproximac¸a˜o polinomial de Taylor Derivadas nume´ricas Licenc¸a Este trabalho e´ licenciado sob os termos da Licenc¸a Internacional Creative Commons Atribuic¸a˜o-Na˜oComercial-CompartilhaIgual 4.0. Para ver uma co´pia desta licenc¸a, visite http://creativecommons.org/licenses/by-nc-sa/4.0/. http://goo.gl/7u4wn Ricardo Biloti Diferenciac¸a˜o nume´rica Seus direitos e deveres sa˜o: • Voceˆ e´ livre para copiar e redistribuir este material, em qualquer meio ou formato, para adapta´-lo, transforma´-lo ou utiliza´-lo para construir seu pro´prio material. • Voceˆ deve dar os cre´ditos apropriados, fornecendo link para a licenc¸a e indicando se alterac¸o˜es foram feitas. Voceˆ pode fazer isto de qualquer forma razoa´vel, pore´m sem tentar passar a ideia ou sugerir que o autor endosse suas alterac¸o˜es ou seu uso do material. • Voceˆ na˜o pode utilizar este material para fins comerciais. • Se voceˆ alterar, transformar ou construir seu pro´prio material com base neste trabalho, voceˆ devera´ distribu´ı-lo sob a mesma licenc¸a usada no original. Aproximac¸a˜o polinomial de Taylor Derivadas nume´ricas O problema x0 Como aproximar f (x), para x pro´ximo de x0, de forma simples? http://goo.gl/7u4wn Ricardo Biloti Diferenciac¸a˜o nume´rica Perceba que, apesar da func¸a˜o ser complicada, em um regia˜o pequena, na vizinhanc¸a de um ponto, a func¸a˜o parece bem mais simples. A intenc¸a˜o aqui e´ construir uma aproximac¸a˜o para f que seja razoa´vel nessa pequena vizinhanc¸a. Aproximac¸a˜o polinomial de Taylor Derivadas nume´ricas Estrate´gia Encontrar um func¸a˜o simples que se parec¸a com f , perto de x0. Proposta Encontrar um polinoˆmio Tn, de grau n, tal que Tn(x0) = f (x0) T ′n(x0) = f ′(x0) ... T (n) n (x0) = f (n)(x0) http://goo.gl/7u4wn Ricardo Biloti Diferenciac¸a˜o nume´rica Na busca por uma func¸a˜o simples que se parec¸a com f , e´ necessa´rio em primeiro lugar definir precisamente o que entendemos por func¸a˜o simples e por se parecer com f . Um tipo de func¸a˜o simples e versa´til sa˜o polinoˆmios. De fato, apesar de sua simplicidade, polinoˆmios podem aproximar ta˜o bem quanto se queira qualquer func¸a˜o cont´ınua definida em um intervalo fechado e limitado (Teorema de Weierstrass). Resta definir o que se entende por uma func¸a˜o se parecer com outra. Como nossa intenc¸a˜o e´ obter uma boa aproximac¸a˜o em pontos pro´ximos de um ponto fixo x0, pediremos que am- bas, a func¸a˜o original e a aproximac¸a˜o, coincidam em valor de func¸a˜o e derivadas, no ponto x0. Lembre que um polinoˆmio de grau n tem (n + 1) coeficientes. Logo, as (n + 1) equac¸o˜es im- postas devem ser suficientes para derterminar unicamente todos os coeficientes do polinoˆmio. Claro que para isso e´ preciso que f tenha (n + 1) derivadas. Aproximac¸a˜o polinomial de Taylor Derivadas nume´ricas Polinoˆmio de Taylor de grau n Se Tn(x) = c0 + c1(x − x0) + c2(x − x0)2 + · · ·+ cn(x − x0)n, enta˜o T (k) n (x0) = k!ck Logo, ck = f (k)(x0) k! . http://goo.gl/7u4wn Ricardo Biloti Diferenciac¸a˜o nume´rica Ha´ va´rias maneiras de escrever um polinoˆmio de grau n. A forma escolhida tem a vantagem de facilitar bastante os ca´lculos. Quando escrito assim, a derivada de ordem k de Tn e´ Tn(x) (k)(x) = k!ck + [(k + 1)k · · · 2]ck+1(x − x0) + · · ·+ [n(n − 1) · · · (n − k)](x − x0)n−k . Assim T (k) n (x0) = kck , de onde sai diretamente a expressa˜o para os coeficientes ck , para k = 0, 1, . . . , n. O polinoˆmio Tn definido dessa forma e com esses coeficientes e´ denominado polinoˆmio de Taylor de grau n para f em torno de x0. Aproximac¸a˜o polinomial de Taylor Derivadas nume´ricas Polinoˆmio de Taylor e res´ıduo Se f tem (n + 1) derivadas, em torno de x0, enta˜o f (x) = Tn(x) + f (n+1)(ξ) (n + 1)! (x − x0)n+1 com ξ entre x e x0. http://goo.gl/7u4wn Ricardo Biloti Diferenciac¸a˜o nume´rica A ferramenta mais importante para a construc¸a˜o de aproximac¸o˜es nume´ricas para derivadas e´ o polinoˆmio de Taylor. Observe que o erro em aproximar uma func¸a˜o pelo polinoˆmio de Taylor de grau n esta´ relacionado com a derivada (n + 1) da func¸a˜o, pore´m em um ponto ξ desconhecido. Para ver isso, vamos construir uma func¸a˜o auxiliar. Para x 6= x0 fixo, defina R(z) ≡ f (x)− [ f (z) + f ′(z)(x − z) + · · ·+ f (n)(z) n! (x − z)n ] − K (n + 1)! (x − z)n+1, onde K e´ escolhido de maneira que R(x0) = 0. Veja que R(x) = 0. Como R se anula em x e em x0, pelo Teorema de Rolle, existe ξ entre x e x0 tal que R′(ξ) = 0. Mas R′(z) = −f ′(z)− [f ′′(z)(x − z)− f ′(z)]− [ f ′′′(z) 2 (x − z)2 − f ′′(z)(x − z) ] − · · · − [ f (n+1)(z) n! (x − z)n − f (n)(z) (n − 1)! (x − z) n−1 ] + K n! (x − z)n = [K − f (n+1)(z)] n! (x − z)n. Como R′(ξ) = 0, enta˜o K = f (n+1)(ξ). Assim, R(x0) = 0 se traduz em f (x) = Tn(x)− f (n+1)(ξ) (n + 1)! (x − x0)n+1. Aproximac¸a˜o polinomial de Taylor Derivadas nume´ricas Exemplo Tn(x) = f (x0)+f ′(x0)(x−x0)+ f ′′(x0) 2! (x−x0)2+· · ·+ f (n)(x0) n! (x−x0)n f (x) = cos(x), x0 = 0 f (x0) = cos(0) = 1 f ′(x0) = − sin(0) = 0 f ′′(x0) = − cos(0) = −1 f ′′′(x0) = sin(0) = 0 f iv (x0) = cos(0) = 1 http://goo.gl/7u4wn Ricardo Biloti Diferenciac¸a˜o nume´rica Neste exemplo vamos computar o polinoˆmio de Taylor para a func¸a˜o cosseno, em torno da origem. Para tanto e´ preciso avaliar as derivadas do cosseno em zero. Note que, como a derivada quarta de cosseno e´ a pro´pria func¸a˜o cosseno, a sequeˆncia de valores das sucessivas derivas de cosseno e´ perio´dica. Aproximac¸a˜o polinomial de Taylor Derivadas nume´ricas Exemplo cos(x) ≈ T8(x) = 1− x 2 2! + x4 4! − x 6 6! + x8 8! T8(x) http://goo.gl/7u4wn Ricardo Biloti Diferenciac¸a˜o nume´rica A linha tracejada e´ o gra´fico da func¸a˜o cosseno e a linha so´lida o gra´fico do polinoˆmio de Taylor de grau oito associado. Note que o polinoˆmio aproxima melhor a func¸a˜o qua˜o mais pro´ximo x estiver da origem. Aproximac¸a˜o polinomial de Taylor Derivadas nume´ricas Sucessivos polinoˆmios de Taylor http://goo.gl/7u4wn Ricardo Biloti Diferenciac¸a˜o nume´rica A linha mais grossa representa um determinada func¸a˜o, e os demais gra´ficos, os sucessivos polinoˆmios de Taylor. Perceba que cada polinoˆmio pode ser considerado uma boa aproxi- mac¸a˜o para a func¸a˜o em intervalos progressivamente maiores. Tente identificar no gra´fico o grau de cada polinoˆmio. Aproximac¸a˜o polinomial de Taylor Derivadas nume´ricas Sucessivos polinoˆmios de Taylor ao redor de outro ponto http://goo.gl/7u4wn Ricardo Biloti Diferenciac¸a˜o nume´rica Se o interesse na func¸a˜o se concentra em pontos ao redor de um determinado x0, e´ interessante utilizar polinoˆmios de Taylor ao redor desse ponto x0. Aproximac¸a˜o polinomial de Taylor Derivadas nume´ricas Derivadas nume´ricas Por que calcular derivadas nume´ricas de uma func¸a˜o f ? I A expressa˜o para f ′(x) na˜o e´ conhecida I A expressa˜o para f (x) na˜o e´ conhecida I f (x) e´ conhecida apenas em alguns pontos amostrados http://goo.gl/7u4wn Ricardo Biloti Diferenciac¸a˜o nume´rica Em diversos problemas e´ necessa´rio calcular derivadas de uma func¸a˜o, mas nem sempre isto e´ poss´ıvel analiticamente. Algumas situac¸o˜es onde isso pode acontecer sa˜o: • Apesar de f ser conhecida, na˜o se conhece a expressa˜o para f ′. • f pode estar descrita atrave´s de uma rotina computacional e na˜o de uma expressa˜o anal´ıtica. Logo, na˜o e´ ta˜o simples conseguir uma expressa˜o para f ′, justificandoaproximac¸o˜es nume´ricas para a derivada. Isto e´ bem comum em problemas de simulac¸a˜o nume´rica. Alternativamente, existem me´todos que, partindo de uma rotina computacional para o ca´lculo do valores de uma func¸a˜o, conseguem produzir outra rotina computacional para o ca´lculo de valores da derivada da func¸a˜o. • Por fim, o caso extremo e´ quando nem mesmo f e´ conhecida integralmente, mas apenas em pontos amostrados, por exemplo como resultado de um experimento. Aproximac¸a˜o polinomial de Taylor Derivadas nume´ricas Diferenc¸a centrada f (x + h) = f (x) + f ′(x)h + f ′′(x) 2! h 2 + f ′′′(ξ+) 3! h 3 f (x − h) = f (x)− f ′(x)h + f ′′(x)2! h2 − f ′′′(ξ−) 3! h 3 f (x + h)− f (x − h) = 2f ′(x)h + h33! [f ′′′(ξ+) + f ′′′(ξ−)] Logo f ′(x) = f (x + h)− f (x − h) 2h − f ′′′(ξ) 6 h2 Df (x) O(h2) Portanto |f ′(x)− Df (x)| ≤ M3h 2 6 , M3 = max |f ′′′(x)| http://goo.gl/7u4wn Ricardo Biloti Diferenciac¸a˜o nume´rica Para construir uma aproximac¸a˜o para derivada num ponto x , vamos utilizar avaliac¸o˜es de func¸a˜o em pontos pro´ximos, (x + h) e (x − h). Avaliando o polinoˆmio de segunda de Taylor f nestes pontos, percebe-se que a soma delas fornece uma aproximac¸a˜o para a derivada, com erro proporcional a h2. Assumindo que f ′′′ e´ cont´ınua, temos que [f ′′′(ξ+) + f ′′′(ξ−)]/2 = f ′′′(ξ), para algum ξ ∈ [ξi , ξ+] (por queˆ?). Como de fato ξ na˜o e´ conhecido, o melhor que podemos fazer e´ estimar um limitante superior para o erro da aproximac¸a˜o. Com esta estimativa do erro da aproximac¸a˜o, em princ´ıpio conclu´ımos que o erro pode ser reduzido arbitrariamente reduzindo-se o valor de h. Entretanto o menor valor positivo que h pode assumir esta´ ligado a` unidade de arredondamento da ma´quina. Como (x + h) = x(1 + h/x), h/x deve ser maior que u. Ou seja, para que a soma de fato incremente o valor de x , h na˜o pode ser inferior a x · u. Aproximac¸a˜o polinomial de Taylor Derivadas nume´ricas Notac¸a˜o de ordem Uma func¸a˜o g(h) = O(hp), quando h→ 0, se existem constantes C e h¯ tais que |g(h)| ≤ Chp, para todo h ≤ h¯ http://goo.gl/7u4wn Ricardo Biloti Diferenciac¸a˜o nume´rica Dizemos que uma func¸a˜o g e´ da ordem de hp se g for menor que um mu´ltiplo de hp , para h pequeno. Por exemplo, sin x = x − ξ3 6 , para algum ξ tal que |ξ| < x , por conta do polinoˆmio de Taylor para a func¸a˜o seno. Assim, a func¸a˜o g(x) ≡ x − sin x = O(x3). Aproximac¸a˜o polinomial de Taylor Derivadas nume´ricas Exemplo Para f (x) = sin(x), x = pi/3.2 e h = 10−n, n = 1, 2, . . . , 14: 0 2 4 6 8 10 12 14 n 1e-12 1e-09 1e-06 1e-03 1 lo g (er ro) http://goo.gl/7u4wn Ricardo Biloti Diferenciac¸a˜o nume´rica Como cos′′′(x) = − sin(x), temos que M3 = max | cos′′′(x)| = 1. O gra´fico exibe o erro da aproximac¸a˜o por diferenc¸a centrada da derivada de cosseno. Dife- rentemente do que hav´ıamos previsto, o erro na˜o reduz arbitrariamente, mas sim, desce ate´ um certo patamar para 10−6 < h < 10−5, ale´m do qual passa a subir. Note que neste exemplo o limite teo´rico para h, comentado anteriormente, era de x · u ≈ 10−16. Aproximac¸a˜o polinomial de Taylor Derivadas nume´ricas Erro em f Por estarmos em precisa˜o finita fl(f (x)) = f (x) + �(x) http://goo.gl/7u4wn Ricardo Biloti Diferenciac¸a˜o nume´rica De fato, no computador f na˜o e´ avaliada exatamente. Em cada avaliac¸a˜o de f um erro e´ cometido. Esse erro, pequeno e´ o responsa´vel por deteriorar a qualidade da aproximac¸a˜o para a derivada. Aproximac¸a˜o polinomial de Taylor Derivadas nume´ricas Ana´lise de erro Suponha que |�(x)| ≤ �f D[f (x) + �(x)] = f (x + h) + �(x + h)− f (x − h)− �(x − h) 2h = f ′(x) + f ′′′(ξ) 6 h2 + �(x + h)− �(x − h) 2h Logo |D[f (x) + �(x)]− f ′(x)| ≤ M3h 2 6 + �f h http://goo.gl/7u4wn Ricardo Biloti Diferenciac¸a˜o nume´rica Mesmo que o erro na avaliac¸a˜o de f seja muito pequeno, o impacto disto para a aproximac¸a˜o da derivada na˜o e´ negligencia´vel. Suponha �f e´ o erro ma´ximo cometido na avaliac¸a˜o da func¸a˜o f . Observe que a medida que h reduz, o comprometimento ma´ximo no ca´lculo da aproximac¸a˜o da derivada aumenta (�f /h). Aproximac¸a˜o polinomial de Taylor Derivadas nume´ricas Minimizando o erro Para que h, o erro e(h) = M3h 2 6 + �f h e´ m´ınimo? 0 = e ′(h) = M3h 3 − �f h2 Portanto h = 3 √ 3�f M3 http://goo.gl/7u4wn Ricardo Biloti Diferenciac¸a˜o nume´rica Como o erro na aproximac¸a˜o da derivada e´ limitado por uma soma de fatores, um decrescente com h e outro crescente com h, devemos nos perguntar qual o ponto de equil´ıbrio. Ou seja, para que valor h esse limitante e´ o menor poss´ıvel? Minimizando este limitante e(h), vemos que o h o´timo deveria ser h = 3 √ 3�f M3 . Aproximac¸a˜o polinomial de Taylor Derivadas nume´ricas Exemplo Para f (x) = sin(x), M3 = 1, �f ≈ 10−16, portanto h ≈ 7 · 10−6. 0 2 4 6 8 10 12 14 n 1e-12 1e-09 1e-06 1e-03 1 lo g (er ro) http://goo.gl/7u4wn Ricardo Biloti Diferenciac¸a˜o nume´rica Pelo gra´fico, podemos ver claramente os dois ingredientes que compo˜em o erro na aproximac¸a˜o da derivada: o erro da aproximac¸a˜o por diferenc¸a, dominante ate´ n ≈ 5; e o erro na avaliac¸a˜o da func¸a˜o, que passa a ser dominante para n > 6. Aproximac¸a˜o polinomial de Taylor Derivadas nume´ricas Exerc´ıcio Considere a diferenc¸a ∆[f ] ≡ f (x + h)− f (x) h I Construa o polinoˆmio de Taylor, de segunda ordem, para f e avalie em (x + h). I Mostre que ∆[f ] e´ uma aproximac¸a˜o para f ′(x) I Qual a ordem do erro desta aproximac¸a˜o? I Se fl(f (x)) = f (x) + �(x), com |�(x)| ≤ �f , qual o h o´timo para aproximar f ′(x)? http://goo.gl/7u4wn Ricardo Biloti Diferenciac¸a˜o nume´rica Aproximac¸a˜o para f (x + h): f (x + h) = f (x) + f ′(x)h + f ′′(ξ) 2! h2 Assim, ∆[f ] e´ obtido isolando-se f ′(x) acima. ∆[f ] = f (x + h)− f (x) h = f ′(x) + f ′′(ξ) 2 h. Ou seja |f ′(x)−∆[f ]| = |f ′′(ξ)| 2 h ≤ M2h 2 |f ′(x)−∆[f + �]| = |f ′′(ξ)| 2 h + �(x + h)− �(x) h ≤ M2h 2 + 2�f h O m´ınimo de M2h 2 + 2�f h e´ atingido quando h = 2 √ �f M2 . Aproximação polinomial de Taylor Derivadas numéricas
Compartilhar