(- 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)
.
Benutze pow nicht und mache den Exponenten komplex (füge 0j
hinzu). Hier ist ein Beispiel:
Keine Notwendigkeit für mathematische Funktionen:)
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.
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 ?