2009-06-07 5 views
2

Ich möchte eine log10 einer ganzen Zahl in Python, um herauszufinden, und ich bekomme ein Fehler wie Mathe Domain ErrorPython Logarithmus

mein Code ist dies w = math.log10 (q * q1) /math.log10 (2)

wobei q1, q2 ganze Zahlen sind

ja q1 0 ist manchmal

+2

wo ist q2? Warum sind all deine Fragen Unsinn? – SilentGhost

Antwort

7

q q1 oder gleich null oder eine von ihnen negativ?

+0

danke sehr albern von mir !! – Hick

10

Sie können nur den Logarithmus einer positiven Zahl berechnen. Der Versuch, den Logarithmus für eine negative Zahl oder Null zu berechnen, führt in Python zu einem "mathematischen Domänenfehler".

Durch die Art und Weise: es sieht aus wie Sie tatsächlich einen Logarithmus Basis 2. Sie tun können, dies mit math.log zu berechnen versucht:

w=math.log(q*q1, 2) 

Die zweiten, optionalen Parameter sind die Basis. Es ist standardmäßig e (dh natürlich log).

0

versuchen Sie sicherzustellen, dass der Wert, dessen Protokoll Sie suchen, niemals 0 sein kann. Da log (0) zu negativer Unendlichkeit neigt, gibt Ihnen der Funktionsaufruf einen mathematischen Domänenfehler. Korrigiere das und ich denke, es wird dir gut gehen.

Verwandte Themen