Cálculo de logaritmo de um número por Série de Taylor em C
Publicado por Perfil removido (última atualização em 18/05/2012)
[ Hits: 13.727 ]
Download logaritmo-metodo-a-001.c
A descrição vai ao código.
Ainda não sei um modo simples de dizer o que seria uma derivada, que é algo a ser usado neste algoritmo.
O que faz parte da teoria sobre Séries de Taylor.
Portanto entender a fórmula da Série não é o problema, mas o porquê de ter sido escrita daquela forma.
Existe uma fórmula T(x) chamada de "Termo Geral".
Calcula-se um valor para cada número natural (0, 1, 2, 3 ... ) inteiros não-negativos nessa fórmula em ordem crescente
Os valores são somados de forma acumulativa: T(0) + T(1) + T(2) + T(3) + ...
Quanto mais se calcule e se soma, maior a precisão. Porém demora bastante. O custo computacional é maior que o de outros métodos.
Requer muitos passos para um resultado preciso.
Para se entender como foi feita essa fórmula de termo geral T(x) é que se precisa saber derivadas.
Qualquer erro encontrado ou dúvida, fiquem à vontade.
#include <stdio.h>
#include <math.h>
// Algoritmo "A"
// Logaritmo por Serie de Taylor
// Favor compilar com
// gcc logaritmo-metodo-a-001.c -o logaritmo-metodo-a-001 -lm
// Calcula logaritmo natural - Base "e"
// Apenas para valores baixos e numa faixa estreita por causa de uma coisa chamada "divergencia" (para encurtar)
// Podem ser necessarias muitas iterações
// Calculos em outras bases e valores maiores requer mais passos e calculos
// Nocoes de Calculo e Analise (Matematica) ajudam
int main (void) {
double s = 0.0;
double t = 1.0;
double i = 1.0;
double x = .5;
x -= 1;
do {
// printf("t= %3.1f\t i= %5.1f\t x= %15.25f\t s= %15.25f\n", t, i, x, s);
s += t * (pow(x, i)/i);
t = -t;
i ++;
} while (i<100);
// printf("t= %3.1f\t i= %5.1f\t x= %15.25f\t s= %15.25f\n", t, i, x, s);
printf("e^(%15.25f) = %15.25f\n", s, exp(s));
return 0;
}
Algoritmo de ordenação Quick Sort
Google Code Jam 2010 - Africa Classification Round
Jogo Windows Invaders (com gráficos)
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
E aí? O Warsaw já está funcionando no Debian 13? [RESOLVIDO] (15)
Secure boot, artigo interessante, nada técnico. (4)
copiar library para diretorio /usr/share/..... su com Falha na a... (1)









