1 votos

Generación incremental de una curva logarítmica

¿Hay alguna forma de encontrar el incremento de un barrido log10 para una serie discreta a partir de los valores de inicio, parada y duración?

Por ejemplo, en el caso simple de un barrido lineal, el siguiente valor siempre se puede encontrar como.

yn=yn1+(yfinishystart)Δttfinishyn=yn1+(yfinishystart)Δttfinish

Estoy un poco oxidado con logaritmos y no puedo calcular la ecuación similar para una curva log 10, ¿es posible?

0voto

Suzu Hirose Puntos 3759

No estoy 100% seguro de lo que intentas hacer pero puedes aproximar un logaritmo usando Δx/xΔx/x para que log(x+Δ)=log(x)+Δ/xlog(x+Δ)=log(x)+Δ/x He aquí una demostración numérica:

package main

import (
    "fmt"
    "math"
)

func main() {
    start := 1.0
    step := 0.01
    max := 1000
    logs := make([]float64, max)
    logs[0] = 0
    for i := 1; i < max; i++ {
        x := start + float64(i)*step
        logs[i] = logs[i-1] + step*1/x
        fmt.Printf("%.3f %.4f %.4f\n", x, math.Log(x), logs[i])
    }
}

Ejecútelo en línea aquí

Si necesita log10log10 entonces sólo hay que dividir por log(10)2.3log(10)2.3 por lo que se incrementa en Δ/(x×log(10))Δ/(x×log(10))

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