Pular para o conteúdo

Cálculo de logaritmo de um número por Série de Taylor em 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.
Perfil removido removido
Hits: 13.940 Categoria: C/C++ Subcategoria: Avançado
  • Download
  • Nova versão
  • Indicar
  • Denunciar

Descrição

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.
Download logaritmo-metodo-a-001.c Enviar nova versão

Esconder código-fonte

#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;

}

Biblioteca de tipos abstratos

Escaneando diretório

jogo Sokoban (com gráficos)

Calculadora em C++

Árvore B com Arquivos (inserção e pesquisa)

#1 Comentário enviado por levi linux em 22/05/2012 - 12:54h
Muito bom!

Contribuir com comentário

Entre na sua conta para comentar.