Uma série de Taylor é uma representação de uma função usando uma soma infinita. Os computadores frequentemente fazem aproximações dos valores de funções trigonométricas, exponenciais ou outras funções transcendentais somando um número finito dos termos da sua série de Taylor, e pode recriar este processo em Python. Os termos da soma baseiam-se em derivadas sucessivas da função, por isso precisará de identificar um padrão nos valores dessas derivadas para escrever uma fórmula para cada termo da série. Depois, use um loop para acumular a soma, controlando a precisão da sua aproximação com o número de iterações do loop.
Consulte a definição da série de Taylor para entender como cada termo pode ser calculado. Cada termo da série é indexado, tipicamente por "n", e o seu valor está relacionado com a enésima derivada da função representada. Para simplificar, use 0 para o valor de "a" na primeira tentativa. Esta versão especial da série de Taylor é chamada de série de Maclaurin. Experimente a função seno, pois as suas derivadas sucessivas são fáceis de determinar.
Escreva vários valores da enésima derivada da função seno avaliada em 0. Se n for 0, o valor é 0. Se n for 1, o valor é 1. Se n for 2, o valor é 0. Se n for 3, o valor é -1. A partir daqui, o padrão repete-se, então descarte todos os termos de índice par da série de Taylor, pois são multiplicados por 0. Uma fórmula para cada termo da série resultante é:
(-1)^n/(2n+1)! * x^(2n+1)
"2n+1" é usado no lugar de "n" para reindexar a série, efetivamente descartando os termos de índice par sem alterar o próprio índice. O fator (-1)^n contabiliza a alternância entre positivo e negativo de termos sucessivos. Este trabalho matemático preliminar pode parecer extrínseco, mas o código Python será muito mais fácil de escrever e reutilizar noutras séries de Taylor se o índice começar sempre em 0 e contar em incrementos de 1.
Abra o interpretador Python. Comece digitando os seguintes comandos para definir várias variáveis:
soma = 0
x = .5236
A variável "soma" será usada para acumular a soma da série de Taylor à medida que cada termo é calculado. A variável "x" é o ângulo (em radianos) para o qual deseja aproximar a função seno. Defina-o como preferir.
Importe o módulo "math" com o seguinte comando para ter acesso às funções "pow" e "factorial":
import math
Inicie um loop "for", definindo o número de iterações com a função "range":
for n in range(4):
Isto fará com que a variável de índice, n, comece em zero e conte até 4. Mesmo este pequeno número de iterações produzirá um resultado surpreendentemente preciso. O loop não executa imediatamente e não começará até ter especificado todo o bloco de código para iterar.
Digite o seguinte comando para adicionar o valor de cada termo sucessivo a "soma":
soma += math.pow(-1,n)/math.factorial(2*n+1)*math.pow(x,2*n+1)
Note que o comando está indentado com uma tabulação, o que indica ao Python que faz parte do loop "for". Note também como "pow" e "factorial" são usados no lugar da notação "^" e "!". A fórmula à direita do operador de atribuição "+=" é idêntica à do Passo 2, mas escrita em sintaxe Python.
Pressione "Enter" para adicionar uma linha em branco. Para o Python, isto indica a terminação do loop "for", então o cálculo é executado. Digite o comando "soma" para revelar o resultado. Se usou o valor de x dado no Passo 3, o resultado é muito próximo de .5, o seno de pi/6. Tente o processo novamente para diferentes valores de x e diferentes números de iterações do loop, verificando os resultados contra a função "math.sin(x)". Implementou em Python o próprio processo que muitos computadores usam para calcular valores para seno e outras funções transcendentais.
Faça indentação e digite o comando "soma" na segunda linha do loop "for" para obter um total acumulado da soma à medida que o código executa. Isto revela como cada termo sucessivo da série aproxima a soma cada vez mais do valor real da função.
Tecnologia Eletrônica © [www.351231.com]