Série de Taylor para e^x em C

Fiz um programa, em C, que calcula a série de taylor de e^x para n termos. E a função é recursiva. Para quem não entende lhufas de programação, funções recursivas são um tipo de função que são elegantes e bem mais legais que funções iterativas (em que é preciso usar um laço – loop -). Eis o código abaixo para quem tiver interesse.

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int fatorial( int n )
{
if ( n <= 1 )
return 1;
else
return  n*fatorial(n-1);
}

double taylor_ex (int n_term, double value)
{
if (n_term <= 1)
return 1;
else
return taylor_ex(n_term-1, value) + pow(value, n_term-1)/fatorial(n_term-1);
}

int main()

{
double y;
y = taylor_ex(5, 2);
printf(“taylor eh %g\n”, y);
return 0;
}

 

*/ breve comentário do código. Fatorial é uma função que calcula n! e taylor_ex é a minha função. Se alguém tiver um algoritmo para calcular derivada, aí é fácil generalizar a minha função para computar a expansão de taylor para qualquer função. Como eu não sei calcular derivada em C, só implemento para funções cuja derivada é analiticamente fácil de resolver. */

*/ Postando no blog saiu sem a identação correta. Mal aê.

Sobre Manoel Galdino

Corinthiano, Bayesiano e Doutor em ciência Política pela USP.
Esse post foi publicado em internet, Manoel Galdino e marcado , , , , , , . Guardar link permanente.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s