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);
Kai S. schrieb: > Woran liegt es? RTFM nicht beachtet... Oliver P.S. log10...
:
Bearbeitet durch User
Außerdem weiß jeder Ingenieur, dass log10(x) = ln(x)/ln(10) ist
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)
Rainer V. schrieb: > Millionen von Mathe-Büchern können nicht lügen :) Seit wann lesen Programmierer Mathebücher? Georg
Georg schrieb: > Seit wann lesen Programmierer Mathebücher? Programmierer schon immer, nur "Progger" meinen sowas sei überflüssig.
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.
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
> 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.
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. >>
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.