Mathe Problem mit Logarithmus

Tja, hätte ich in der Schule mal besser aufgepasst :roll_eyes:

Für ein kleines Umrechnngstool, das SMART Werte (Seagate) lesbar umsetzen soll, versuche ich folgende Formel in XOJO nachzustellen:

WhatsApp Bild 2024-04-08 um 18.27.27_ca2c976b

Leider kommt da bei mir nur Müll raus. Muss leider gestehen, dass ich mich die letzten 30 Jahre nicht um Logarithmen gekümmert habe und diese log Funktion in XOJO noch nie benutzt habe…
Hat da jemand eine Idee wie ich das umsetzen kann?

Wie sieht denn Dein Code aus? Wie hast Du die Umrechnung von log(e) auf log(10) gemacht? Ich nehme an, daß 10log der 10er Logarithmus ist. Z.B. Prof. Blumes: Vermischtes - Bonbons für den Chemieunterricht

1 Like

Hi,

Xojo’s Log function is not a base 10 logarithm, but a base e logarithm (or natural logarithm, often expressed as Ln). That’s probably the reason for your wrong results.

Beatrix provided the solution for that.

Hallo

Die Logarithmusfunktion von Xojo ist kein Logarithmus zur Basis 10, sondern ein Logarithmus zur Basis e (oder natürlicher Logarithmus, oft als Ln ausgedrückt). Das ist wahrscheinlich der Grund für Ihre falschen Ergebnisse.

Beatrix lieferte die Lösung dafür

Julen

1 Like

Das war wohl mein Problem! Ich habe überhaupt nicht umgerechnet! Danke für den Tipp! Da habe ich wohl noch extremen Nachholbedarf.

Your’e right! Thank you!

1 Like

Hier noch meine Lösung, für alle die es interessiert:

Um log(e) in log(10) umzuwandeln, benutze ich die Funktion:

Public Function log10(x as Double) As Double
  // Convert log(e) to log(10)
  Return Log(x) / Log(10)
End Function

Die Lösung zu obiger Formel lautet dann:

Var SmartValue As Double = -10 * log10(1/175724982)

wobei das Ergebnis noch gerundet werden muss.

Nochmals Danke für die Tipps !!