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.600 ]
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; }
Busca, inserção e remoção de elementos numa lista
[GAME-2] Acerte os rortões nas janelas (jogo com gráficos)
3º EP - Poli USP - Angry Birds (angry bixos)
Atualizando o Passado: Linux no Lenovo G460 em 2025
aaPanel - Um Painel de Hospedagem Gratuito e Poderoso
O macete do Warsaw no Linux Mint e cia
Visualizar arquivos em formato markdown (ex.: README.md) pelo terminal
Dando - teoricamente - um gás no Gnome-Shell do Arch Linux
Como instalar o Google Cloud CLI no Ubuntu/Debian
Mantenha seu Sistema Leve e Rápido com a Limpeza do APT!
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)
Pastas da raiz foram para a área de trabalho [RESOLVIDO] (10)
Será que eu deveria apreender C/C++ para desenvolver para Linux? (4)