Kebdn: Logarithmusrechnen mit javascript

Hi,
ich habe das Problem, dass Javascript für Logarithmusrechnungen immer den 10er Logarithmus und keinen natürlichen nimmt!

meine frage:
wie bekomme ich bei javascript einen natürlichen logarithmus hin!

mein script sieht ungefähr so aus.

<script type="text/javascript">
var test1=Math.log(10);
document.write(test1);
</script>

Wenn ich 10 in den Taschenrechner eintippe und dann auf "log" drücke bekomme ich als ergebnis 1.
Javascript verwendet aber den 10er logarithmus und errechnet ca. 2,30.
ich hoffe ihr versteht mein Problem!
Dank

Kebdn

  1. Hi Kebdn,

    ich glaube, du beschreibst dein Problem genau verkehrtrum. JS verwendet, genau wie viele andere Programmiersprachen oder Math-Bibliotheken, den natürlichen Logarithmus, also den Logarithmus zur Basis e=2.7181...

    Wenn ich 10 in den Taschenrechner eintippe und dann auf "log" drücke bekomme ich als ergebnis 1.
    Javascript verwendet aber den 10er logarithmus und errechnet ca. 2,30.

    Würde Javascript den dekadischen (aka Zehner-) Logarithmus verwenden, dann käme bei log(10) genau 1 heraus. Denk mal nach: Wie war nochmal der Logarithmus definiert?

    wie bekomme ich bei javascript einen natürlichen logarithmus hin!

    Also willst du in Wirklichkeit den Zehnerlogarithmus!
    Wenn du aber den Logarithmus y=log(x) zu einer beliebigen Basis b willst, dann geht das nach der Formel
      y = log(x)/log(b)
    In deinem Fall also
      y = log(x)/log(10)
    Das dürfte dir helfen.

    ich hoffe ihr versteht mein Problem!

    Ich glaube schon, bitte sehr.

    Gruß,

    Martin

    1. Hollo,

      falls die Antwort von Martin zu kompliziert war:
      Du schreibst einfach in dein JaveScript: log(x)/log(10) FÃr x=10 kommt dann 1 heraus, und auch sonst stimmts.
      Wenn du's zur Basis 2 brauchst, dann nimmst du halt  log(x)/log(2)  dann kommt bei x=2 genau 1 heraus. Dabei kann's dir egal sein, ob JavaScript mit Basis e, mit 10er, 2er oder sonstigen Logarithmen rechnet, das brauchst du gar nicht zu recherchieren.
      Das ist reine Mathematik und gilt daher selbstverstÃndlich fÃr alle Programmiersprachen.

      GruÃ
      Hans35

  2. Hallo,

    ich habe das Problem, dass Javascript für Logarithmusrechnungen immer den 10er Logarithmus und keinen natürlichen nimmt!

    Es ist genau anders herum.

    meine frage:
    wie bekomme ich bei javascript einen natürlichen logarithmus hin!

    ln(x) --> Math.log(x)

    Die Loesung fuer lg(x) wurde ja in den anderen Antworten bereits genannt.

    MfG, Thomas