Como as Calculadoras calculam as  funções matemáticas?
Foto de João G.
Por: João G.
02 de Dezembro de 2021

Como as Calculadoras calculam as funções matemáticas?

Aproximação de Funções pelo Polinomio de Taylor, possibilita calcular o valor das várias Funções matemáticas e estimar o erro

Cálculo

 Representação de Funções pela série de Taylor


 Grande parte das funções podem ser representadas através de uma série de potencias, chamada de série de Taylor de acordo com a expressão abaixo:

eq 1

eq 2


 onde  fn(a) representa a derivada de f(x) de ordem n calculada no ponto x=a.
 A série acima é chamada serie de Taylor de f(x) em torno do ponto a.
 
 Por exemplo, vamos representar a função exponencial e(x) em torno do ponto a=0, pela equação (2).
 Como todas as derivadas de e(x) em a=0 são iguais a 1, temos:

eq 3

eq 4


 que em torno de a=0 vale:

eq 5


 Para calcularmos na prática, em um computador, uma função pela série de Taylor, utilizamos um numero de termos finitos n , pois não temos como calcularmos um numero infinito de termos. A soma parcial até o termo de ordem n é chamada polinômio de Taylor de grau n de f em a, dado por:

eq 6


 No caso da f(x)=e(x) temos para os três primeiros termos:

eq 7

eq 8

eq 9

 


 Conforme utilizamos maior numero de termos, isto é, polinômio de Taylor com maior grau, nos aproximamos mais da função representada. Na figura abaixo mostramos a representação de e(x) pelos polinômios, T1, T2 e T3:
 

https://profes.com.br/arquivos/joaoguedes/grafpolinext1t2t3/ 


 
 No limite quando n tende ao infinito a função f(x) pode ser representada exatamente pelo polinômio de Taylor , ou seja a série infinita.

eq 10


 Se definirmos Rn(x) como o Resto da série, pela equação:
 eq 11
 


 então: 
 

eq 12

ou

eq 13



 então quando aproximamos a função f(x) pelo polinômio de Taylor de ordem n, o primeiro termo da equação 13, desprezando o Resto R, introduzimos um erro, por isto o Resto é chamado de erro de truncamento. Quanto maior for o grau do polinômio de Taylor utilizado, melhor é a aproximação e menor é o erro. No limite quando a polinômio de Taylor apresenta um grau muito alto, e tende para uma série infinita e o erro tende a 0.


 
 DESIGUALDADE DE TAYLOR:


 então o Resto da serie de Taylor satisfaz a desigualdade:

eq 14


 
 Exemplo: vamos calcular o resto da aproximação da função e(x) por um polinômio de Taylor com n=7, em torno do ponto a=0, no intervalo de 0 a 1.
  
 Temos que todas as derivadas de e(x) são iguais a própria e(x) então:

 


 
 Então o erro de se calcular e(x) no intervalo 0<= x<= 1, em torno de a=0 pelo polinômio de Taylor de grau 7 (oito termos da série) é $\le 0,0000677$.
 Se quisermos calcular a mesma função e(x) mas no intervalo 0<=x<=20 mantendo aproximadamente o mesmo erro absoluto anterior, temos que usar 77 termos que corresponde ao polinômio de Taylor de grau 76, pois:


  
  Vamos agora implementar um programa para calcular e(x) através do polinômio de Taylor, utilizando o numero necessário de termos para uma boa acurácia. Vamos utilizar o programa Scilab que tem licença geral publica (GNU) e pode ser baixado facilmente para PC ou MAC, sem custos.
  
  Apos abrir o Scilab vá no menu de topo em Aplicativos e abra o SciNotes (editor de textos integrado) onde vamos inserir a função (programa) e gravar para execução no console (tema principal do Scilab). Digite o programa abaixo no SciNotes e grave com o nome que desejar, no meu caso chamei de  minhasfuncoes. Pode se manter várias funções gravadas no mesmo arquivo. O programa está mostrado abaixo com os devidos comentários em cada linha.
  
https://profes.com.br/arquivos/joaoguedes/programcalculaexp/

Apos digitar o programa clique na barra de ferramentas horizontal na parte superior da janela do SciNotes, procure o item salvar e executar (pequeno triangulo do lado direito da barra), clique no mesmo , alem de salvar vai carregar a função no console , retornando uma mensagem no console conforme abaixo:


'/Users/joaocarlosnassarguedes/Desktop/Scilibsaves/minhasfuncoes.sce', -1)

significando que o arquivo com funções foi carregada para uso. 

Para rodar nossa função e(x), vamos digitar a linha abaixo no console, para capturar os resultados na matriz da esquerda

[Resultado, Diferenca-da-soma, Numero-de-termos]=calculaexponencial(1)

Rodando a função com três valores diferentes de x de entrada, iguais a 1, 10 e 18 , obtemos as saídas conforme tela baixo do console do Scilab:

https://profes.com.br/arquivos/joaoguedes/consolefuncaoexp/

Conforme verificamos a saída do calculo mostra o resultado da função e(x), para o valor de x de entrada,  a diferença da soma (que deve ser um numero pequeno, significando uma boa aproximação com baixo erro), e também o numero de termos necessários da serie de Taylor. Observe que para manter o erro baixo foram necessários calcular no caso de e(1),  13 termos, no caso de e(10), 42 termos e no caso de e(18), 64 termos da serie.

Conforme mencionado a necessidade de um numero maior de termos para manter o erro baixo se dá em virtude da formula do resto (eq 14) que repetimos abaixo, considerando f(x)=e(x)

eq 15

para calcularmos por exemplo e(18) com apenas 11 termos (n=10) teríamos o erro:

 


que dá aproximadamente erro  1,07 .1014, extremamente alto. 
Porem aplicando a mesma formula , usando 64 termos temos:

 que dá aproximadamente erro <= 0,11.
 
 
Computando Rn(18) com a formula (15) para vários valores de n obtemos o gráfico abaixo mostrando o comportamento do erro em função de de n:

https://profes.com.br/arquivos/joaoguedes/graficodoresto/


Utilizamos a escala do eixo Y com escala logarítmica  para melhor visualização uma vez que os valores tem uma faixa de variação muito grande para acomodar.
Observamos claramente que para valores pequenos de n= 5, 10, 20, os valores do erro são extremamente altos da ordem de 1010 a 1014 e para valores  grandes  de n= 70 a 80 o erro é da ordem de 10-6 a 10-10. Fica claro pelo gráfico que para reduzirmos o erro a valores pequenos temos que aumentar n e portando usar mais termos na série de aproximação da função.

Para nosso caso simulado com x=18, n=63 (64 termos da série), temos erro <= 0,11 conforme calculado acima, então log10(0,11)=-0,96 que corresponde ao ponto de cruzamento das linhas vermelhas do gráfico.

Então nossa aproximação deu e(18) ~=65659969,14 com erro aproximado erro <= 0,11 .Se precisarmos obter resultado com erro menor ainda , basta aumentarmos o numero de termos na série utilizada, aumentando n e recalculando a função.

 

Abraços,\\
João Carlos\\
jjjjcng2013@gmail.com

 

João G.
João G.
Rio de Janeiro / RJ
Identidade verificada
1ª hora grátis
nota média
0
avaliações
R$ 80
por hora
Graduação: Engenharia Eletrônica (Universidade Federal do Rio de Janeiro (UFRJ))
Cálculo I, Cálculo IV, Cálculo III
Aulas de matemática e física para ensino fundamental ,medio e superior. Professor com técnica testada. Engenheiro eletrônico com pós graduação .

Confira artigos similares

Aprenda sobre qualquer assunto