Hallo, ich habe ein Problem in Java. Ich möchte den Logarithmus berechnen. Allerdings liefert es mir das falsche Ergebnis aus. Statt log(x) berechnet er ln(x). Woran liegt es? Was muss ich ändern? Eingabe: erg = 10*Math.log(80);
Gast
#4683353
Math.log10(80)
Kai S. schrieb: > Woran liegt es? RTFM nicht beachtet... Oliver P.S. log10...
Oh hehe, danke :D
Gast
#4683375
Außerdem weiß jeder Ingenieur, dass log10(x) = ln(x)/ln(10) ist
Gast
#4683380
Horst schrieb: > Außerdem weiß jeder Ingenieur, dass log10(x) = ln(x)/ln(10) ist Und woher weißt du das?
Bernd schrieb:
> woher weißt du das?
Millionen von Mathe-Büchern können nicht lügen :)
log_n(x)= ln(x)/ln(n)= log10(x)/log10(n)= log_n(x)/log_n(n)
Gast
#4683727
Rainer V. schrieb: > Millionen von Mathe-Büchern können nicht lügen :) Seit wann lesen Programmierer Mathebücher? Georg
Gast
#4684967
Georg schrieb: > Seit wann lesen Programmierer Mathebücher? Programmierer schon immer, nur "Progger" meinen sowas sei überflüssig.
Gast
#4685149
Georg schrieb: > Seit wann lesen Programmierer Mathebücher? Mit ein bisschen mathematischem Grundverständnis über die Eigenschaften des Logarithmus kann man sich das Nachlesen in Mathebücher sogar sparen und es selber ausrechnen.
Wolfgang schrieb: > mathematischem Grundverständnis... sich das Nachlesen in Mathebücher > sogar sparen und es selber ausrechnen. Wie war das noch mit der Henne und dem Ei? Das Problem des TE lag auch sicher mehr darin, daß er log() und ln() vom Taschenrechner oder aus der Schule kennt, aber in manchen Programmiersprachen log() anstatt ln() verwendet wird.
Gast
#4688024
Rainer V. schrieb: > Das Problem des TE lag auch sicher mehr darin, daß er log() und ln() > vom Taschenrechner oder aus der Schule kennt ... Wie die Funktionen der Log-Familie in der Schule, auf dem Taschenrechner oder in irgendeiner Programmiersprache oder sonstwo genannt werden, ist nun mal nicht vernünftig einheitlich geregelt. Im Zweifelsfall sollte man die Funktion einfach auf eine bekannte Zahl loslassen. Gute Kandidaten sind 10.0, 2.718 und vielleicht noch 2.0 Wo siehst du da ein Henne-Ei-Problem?
Henne-Ei-Problem als Frage formuliert: Wie soll jemand Grundlagen zu Mathematik erfahren, ohne jemals Mathe-Bücher gelesen oder Unterricht gehabt zu haben, und wie soll jemand ohne Grundlagen mit Logarithmen rechnen? Immerhin geht es da nicht um das Abzählen von bis zu 10 Fingern (das könnte ja noch jeder Trottel) - LG
Gast
#4689997
> Wie die Funktionen ... ist > nun mal nicht vernünftig einheitlich geregelt. Im Zweifelsfall sollte > man die Funktion einfach auf eine bekannte Zahl loslassen. > Gute Kandidaten sind 10.0, 2.718 und vielleicht noch 2.0 Dann gib mal in einer deutschen Excel-Version in eine Zelle ein: > =log10(2,718) < In meinem LibreOffice steht dann drin: > 3,4342494524 < ;-)
Elektrofan schrieb: > Dann gib mal in einer deutschen Excel-Version in eine Zelle ein: > > =log10(2,718) < > > In meinem LibreOffice steht dann drin: > > 3,4342494524 < ;-) Das hängt in beiden Fällen von den länderspezifischen Einstellungen ab. Ist als Dezimaltrennzeichen das Komma (',') eingestellt, sollte in beiden Fällen 0,434249... herauskommen, ansonsten eben 3,434249..., also 3 (= log10(1000)) mehr.
Gast
#4690151
Elektrofan schrieb: >> Gute Kandidaten sind 10.0, 2.718 und vielleicht noch 2.0 > > Dann gib mal in einer deutschen Excel-Version in eine Zelle ein: > > =log10(2,718) < > > In meinem LibreOffice steht dann drin: > > 3,4342494524 < ;-) Was kann LibreOffice Calc dafür, wenn du nicht 2.718 eingibst, sondern eine 10^3 größere Zahl.
Rainer V. schrieb: > Wie war das noch mit der Henne und dem Ei? Das Problem des TE lag auch > sicher mehr darin, daß er log() und ln() vom Taschenrechner oder aus der > Schule kennt, aber in manchen Programmiersprachen log() anstatt ln() > verwendet wird. Nein, sein Problem lag darin, dass er nicht die 10 Sekunden aufgewendet hat mal in die Dokumentation zu sehen. Den Cursor auf dem Statement positionieren, eine Sekunde warten bis der Tooltip für log aufpoppt und einfach mal lesen was da steht: >> double java.lang.Math.log(double a) >> >> log >> >> public static double log(double a) >> >> Returns the natural logarithm (base e) of a double value. >>
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.