Implementação das séries de Taylor das funções seno e cosseno utilizando a linguagem Haskell, explorando conceitos fundamentais da programação funcional, como recursão, funções de alta ordem, listas infinitas e avaliação preguiçosa.
Este projeto foi desenvolvido como parte da disciplina de Cálculo II da Universidade Federal de Sergipe (UFS), com aplicações diretas dos conceitos abordados no curso de Cálculo Numérico I e Programação funcional no relatório.
Demonstrar como a formulação matemática das séries de Taylor pode ser traduzida de forma quase direta para um programa funcional em Haskell.
As aproximações implementadas são:
$\sin(x)$ $\cos(x)$
utilizando um número finito de termos da expansão de Taylor.
- Implementação recursiva do fatorial
- Aproximação da função seno
- Aproximação da função cosseno
- Uso de listas infinitas
- Avaliação preguiçosa (lazy evaluation)
- Aplicação do erro de Lagrange
- Demonstração da correspondência entre matemática e programação funcional
computational-taylor-series
├── assets/
│ └── output.png # Saída do programa
├── docs/
│ ├── serieTaylor.tex # Código-fonte em LaTeX
│ └── serieTaylor.pdf # Trabalho compilado
├── src/
│ └── taylor.hs # Implementação em Haskell
├── LICENSE
└── README.md- GHC (Glasgow Haskell Compiler)
Sem gerar um executável:
git clone https://github.com/FrankSteps/computational-taylor-series.git
cd computational-taylor-series/src
runghc taylor.hsGerando um executável:
git clone https://github.com/FrankSteps/computational-taylor-series.git
cd computational-taylor-series/src
ghc taylor.hs
./taylorO desenvolvimento matemático e computacional do projeto encontra-se em:
O documento aborda:
- fundamentos da programação funcional;
- séries de potência;
- dedução das séries de Taylor;
- implementação em Haskell;
- análise da convergência;
- erro de truncamento (resto de Lagrange);
- resultados experimentais.
- Richard L. Burden – Análise Numérica
- Hamilton Luiz Guidorizzi – Um Curso de Cálculo
- Miran Lipovača – Learn You a Haskell for Great Good!
- Jack Widman – Aprenda Programação Funcional
Este projeto está licenciado sob os termos da licença disponível em LICENSE.
