negative pow in Python

7

Ich habe dieses Problem

%Vor%

irgendeinen Vorschlag?

    
JuanPablo 06.11.2010, 19:21
quelle

5 Antworten

25

(- 1.07) 1.3 ist keine reelle Zahl, daher der Math-Domain-Fehler.

Wenn Sie eine komplexe Zahl benötigen, muss ein b in e b ln a umgeschrieben werden, z. B.

%Vor%

Wenn Sie nur NaN zurückgeben wollen, fangen Sie diese Ausnahme ab.

%Vor%

Übrigens, in Python wird normalerweise die eingebaute a ** b für die Erhöhung der Macht verwendet, nicht math.pow(a, b) .

%Vor%     
kennytm 06.11.2010, 19:23
quelle
9

Benutze pow nicht und mache den Exponenten komplex (füge 0j hinzu). Hier ist ein Beispiel:

%Vor%

Keine Notwendigkeit für mathematische Funktionen:)

    
Gabi Purcaru 06.11.2010 19:26
quelle
2

Ich benutze Python 2.5.4 und ich bekomme das:

%Vor%

Welche Python-Version verwenden Sie?

    
alexy13 06.11.2010 19:23
quelle
1

Nicht ganzzahlige Kräfte komplexer (und negativer) Zahlen beinhalten eine wichtige Subtilität. Die Exponentialfunktion ist auf der realen Linie injektiv; h. exp (a) = exp (b) impliziert a = b. Dies ist NICHT so auf der komplexen Ebene. Da exp (2 * pi * i) = 1, ist die Exponentialfunktion 2 * pi * i-periodisch.

Das führt zu dem Problem: Welchen Zweig der Log-Funktion benutzen wir? Diese Frage ist eine der zentralen Fragen der komplexen Analyse.

Python reagiert intelligent auf diese Situation. Sofern Sie nicht explizit den Konstruktor für komplexe Zahlen verwenden, werden Sie in reales handeln. Da die Teilmächtigkeiten von Negativen NIEMALS real sind, löst Python eine Ausnahme aus.

    
ncmathsadist 04.12.2010 14:28
quelle
0

Aus dem Titel dieses Posts, der anzeigt, dass die Macht negativ ist, ist es möglich, dass Sie eigentlich 1,3 -1,07 wollten anstatt 1.07 1.3 ?

    
Captain Lepton 07.11.2010 14:58
quelle

Tags und Links