Lösung des Problems von TypeError: Ausdruck kann nicht in Float konvertiert werden, wenn ein Symbolobjekt in einen komplexen Ausdruck in Python übergeben wird

Artikelverzeichnis

1.Problembeschreibung

Wenn ich Sympy verwende, um bestimmte Integralprobleme in Python zu lösen, definiere ich zuerst ein Symbolobjekt und übergebe das Symbolobjekt dann an einen komplexen Ausdruck. Bei der Berechnung des Ergebnisses tritt jedoch ein Fehler auf:

   q = complex(1,p**2)
   ...
   raise TypeError("can't convert expression to float")
TypeError: can't convert expression to float

Code:

# 声明变量p
p = symbols('p',real=True)
q = complex(1,p**2)

2.Lösung

Nach einer Online-Suche kann es daran liegen, dass die Verwendung der Funktion complex() zum Konvertieren in eine Pluralform einen Fehler meldet. Wenn der Quellcode nur in die folgende Form geändert wird, kann Python die Definition der Pluralform immer noch nicht identifizieren.

# 声明变量p
p = symbols('p',real=True)
q = 1 + pj
   q = 1 + pj
NameError: name 'pj' is not defined

Änderungsplan: Multiplizieren Sie vor j mit 1, um das Problem zu lösen

# 声明变量p
p = symbols('p',real=True)
q = 1 + p*1j

Guess you like

Origin blog.csdn.net/weixin_44547510/article/details/116863436