• Domingo 22 de Diciembre de 2024, 16:57

Autor Tema:  Re: sobre logaritmos  (Leído 13714 veces)

dheak

  • Miembro activo
  • **
  • Mensajes: 62
    • Ver Perfil
Re: sobre logaritmos
« en: Sábado 20 de Abril de 2002, 03:06 »
0
Alguien sabe como puedo hacer un logaritmo de base n, siendo n cualquier numero entero > 0? En lenguaje C o C++. Gracias

ogmr2001

  • Miembro activo
  • **
  • Mensajes: 32
    • Ver Perfil
Re: sobre logaritmos
« Respuesta #1 en: Sábado 20 de Abril de 2002, 17:14 »
0
Que clase de logaritmo,digo es que no te explicas mas detalladamente.

dheak

  • Miembro activo
  • **
  • Mensajes: 62
    • Ver Perfil
Re: sobre logaritmos
« Respuesta #2 en: Sábado 20 de Abril de 2002, 23:49 »
0
Bueno, vamos a ver, me refiero a la base de un logaritmo. La tecla log que todos tenemos en la calculadora, te calcula el logaritmo en base 10 de un numero, la tecla ln de la calculadora lo hace en base e (e=2,7...), pues bien, me gustaria saber como se calcula el logaritmo (en C o C++) en cualquier base entera.

Veámoslo de otra manera. Dada la ecuación y = e^x, despejando x nos queda: x = ln y. Dada y = 10^x, despejando x queda: x = log y, esta vez el logaritmo es base 10, y el ln es base e. Pues bien, y = n^x, siendo n un numero entero positivo, despejar x, quedando así: x = log y, siendo n la base del logaritmo.

En lenguaje C, para calcular logaritmo en base e (o logaritmo neperiano) existe la función double log(double x), y el logaritmo base 10, la funcion double log10(double x). Pues me gustaria saber si hay alguna funcion que te permita calcular el logaritmo de un numero para cualquier base n.

Gracias

dheak

  • Miembro activo
  • **
  • Mensajes: 62
    • Ver Perfil
sobre logaritmos
« Respuesta #3 en: Miércoles 1 de Mayo de 2002, 22:48 »
0
vaya, me respondo mis propias preguntas.

Bueno, pongo esto porque supongo que mucha gente tendra el mismo problema. Bueno, pues aqui va la solucion:

Tenemos la ecuacion log(base n) x. Pues como en C/C++ no tenemos una funcion para calcular esto (o al menos yo no la se) hay que construirla:

double logBase(double x, double base)
{
   return(log(x)/log(base));
}

Bueno, espero que os sirva de algo (a mi me ha servido). Gracias a xAn.

Saludos.