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.854 ]
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;
}
Pilhas C/C++ - Analisador de expressões simples
Árvore B com Arquivos (inserção e pesquisa)
Porque Gentoo semi-binário atualmente (desabafo)
A combinação de WMs com compositores feitos por fora
Audacious, VLC e QMMP - que saudades do XMMS
SUNO OpenSource: Crie um servidor de gerador de música com IA
Instalando SVP4 e MPV (VapourSynth) no Gentoo
Migração do KDE Plasma para Cinnamon no Gentoo (com systemd) + Tema Colloid
Como desativar a economia de energia no Gentoo (Systemd, Wi-Fi, USB e SSH)
Linux mint cinnamon travando. (2)
Vulkan Gaming no Slackware [RESOLVIDO] (14)









