Saltar al contenido

Convertir escala lineal a logarítmica

Guadalupe, miembro de este gran equipo de trabajo, nos hizo el favor de redactar este escrito porque conoce muy bien dicho tema.

Solución:

Notación

Como es la convención tanto en matemáticas como en programación, la función “log” se toma como base-e. La función “exp” es la función exponencial. Recuerda que estas funciones son inversas tomamos las funciones como:

Exp : ℝ → ℝ+y

registro : ℝ+ → ℝ.

Solución

Solo estás resolviendo una ecuación simple aquí:

y = a exp bx

Resolver un y b pasando por los puntos x=0.1, y=0.1 y x=10, y=10.

Observe que la razón y1/año2 es dado por:

y1/año2 = (a exp bx1) / (a ​​exp bx2) = exp b(x1-X2)

Lo que le permite resolver para b

b = logaritmo (y1/año2) / (X1-X2)

El resto es fácil.

b = registro (10 / 0,1) / (10 – 0,1) = 20/99 registro 10 ≈ 0,46516870565536284

un = y1 / exp caja1 ≈ 0.09545484566618341

Más sobre notación

En su carrera encontrará personas que usan la convención de que la función logarítmica usa base e, base 10 e incluso base 2. Esto no significa que nadie tenga razón o no. es simplemente un convención de notación y todos son libres de usar la convención de notación que prefieran.

La convención tanto en matemáticas como en programación de computadoras es usar el logaritmo en base e, y usar la base e simplifica la notación en este caso, por eso lo elegí. No es lo mismo que la convención utilizada por calculadoras como la proporcionada por Google y su TI-84, pero, de nuevo, las calculadoras son para ingenieros, y los ingenieros usan una notación diferente a la de los matemáticos y programadores.

Los siguientes lenguajes de programación incluyen una función de registro base-e en la biblioteca estándar.

  • C log() (y C++, por inclusión)

  • Java Math.log()

  • JavaScript Math.log()

  • Pitón math.log() (incluido Numpy)

  • Fortran log()

  • C#, Math.Log()

  • R

  • Máxima (estrictamente hablando un CAS, no un idioma)

  • esquema log

  • ceceo log

De hecho, no puedo pensar en un soltero lenguaje de programación donde log() es cualquier otra cosa que no sea el logaritmo en base e. Estoy seguro de que tal lenguaje de programación existe.

Me doy cuenta de que esta respuesta es seis años demasiado tarde, pero podría ayudar a alguien más.

Dada una escala lineal cuyos valores van de x0 a x1, y una escala logarítmica cuyos valores van de y0 a y1, el mapeo entre x e y (en cualquier dirección) viene dado por la relación que se muestra en la ecuación 1:

 x - x0    log(y) - log(y0)
------- = -----------------      (1)
x1 - x0   log(y1) - log(y0)

donde,

x1 > x0
x0 <= x <= x1

y1 > y0
y0 <= y <= y1
y1/y0 != 1   ; i.e., log(y1) - log(y0) != 0
y0, y1, y != 0

EJEMPLO 1

Los valores en el eje x lineal van de 10 a 12, y los valores en el eje y logarítmico van de 300 a 3000. Dado y=1000, ¿cuál es x?

Reorganizando la ecuación 1 para resolver los rendimientos de 'x',

                 log(y) - log(y0)
x = (x1 - x0) * ----------------- + x0
                log(y1) - log(y0)

                log(1000) - log(300)
  = (12 - 10) * -------------------- + 10
                log(3000) - log(300)

  ≈ 11

EJEMPLO 2

Dados los valores de su pregunta, los valores en el eje x lineal van de 0,1 a 10, y los valores en el eje y logarítmico van de 0,1 a 10, y la base logarítmica es 10. Dado x=7,5, ¿cuál es y?

Reorganizando la ecuación 1 para resolver los rendimientos de 'y',

          x - x0
log(y) = ------- * (log(y1) - log(y0)) + log(y0)
         x1 - x0

        /  x - x0                                
y = 10^|  ------- * (log(y1) - log(y0)) + log(y0) |
         x1 - x0                                /

        / 7.5 - 0.1                                  
  = 10^|  --------- * (log(10) - log(0.1)) + log(0.1) |
          10 - 0.1                                  /

        / 7.5 - 0.1                    
  = 10^|  --------- * (1 - (-1)) + (-1) |
          10 - 0.1                    /

  ≈ 3.13

:: EDITAR (11 de octubre de 2020) ::

Por lo que vale, la base numérica 'n' puede ser cualquier número positivo con valor real. Los ejemplos anteriores usan el logaritmo en base 10, pero la base del logaritmo podría ser 2, 13, e, pi, etc. Aquí hay una hoja de cálculo que creé que realiza los cálculos para cualquier base numérica positiva de valor real. Las celdas de "solución" son de color amarillo y tienen bordes gruesos. En estas figuras, elegí al azar el logaritmo base n=13, es decir, z = log13(y).

Valores de la hoja de cálculo


Figura 1. Valores de la hoja de cálculo.

fórmulas de hoja de cálculo
Figura 2. Fórmulas de hoja de cálculo.

Mapeo de valores X e Y
Figura 3. Mapeo de valores X e Y.

Si te apasiona este mundo, tienes la libertad de dejar una crónica acerca de qué le añadirías a esta crónica.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *