2 votos

Utilice $\log(x)$ para calcular $\log(x+1)$

Dado que conozco el valor de $\log(x)$ Me gustaría calcular el valor de $\log(x+1)$ en un ordenador.

Sé que podría utilizar la expansión de Taylor de $\log(1+x)$ pero que utiliza $x$ en lugar de $\log(x)$ . La razón por la que no quiero utilizar $x$ directamente es porque $\log(x)$ puede obtener valores bajos como $-1000$ y esto causará un desbordamiento.

Mi pregunta es si hay alguna forma de relacionar directamente $\log(x)$ a $\log(1+x)$ ?

3voto

Hagen von Eitzen Puntos 171160

Dado $y=\ln x$ y asumiendo aritmética flotante de doble precisión, se puede aproximar con seguridad

  • $\ln(1+x)\approx0$ para $x<4\cdot 10^{-324}$ es decir, para $y<-745$ .
  • $\ln(1+x)\approx x=e^y$ para $x<2^{-53}$ (es decir, si $x^2\ll x$ ), es decir, para $y<-37$
  • $\ln(1+x)\approx \ln x+\frac1x=y+e^{-y}$ para $y>37$
  • y en el rango intermedio sólo tienes que calcular $\ln(1+x)=\ln(1+e^y)$ .

En realidad, la mayoría de las CPU tienen un $\ln(1+x)$ adecuado para este problema

1voto

Yves Daoust Puntos 30126

En $x$ es minúsculo, el desarrollo Taylor de $\log(1+x)$ es perfectamente adecuada y la relación solicitada es

$$\log(1+x)\approx x=e^{\log(x)}.$$

Tienes que tomar el antilogaritmo del logaritmo dado.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X