Resolviendo el problema de TypeError: no se puede convertir la expresión en flotante al pasar un objeto Símbolo a una expresión compleja en Python

Directorio de artículos

1.Descripción del problema

Cuando uso Sympy para resolver problemas integrales definidos en Python, primero defino un objeto Símbolo y luego paso el objeto Símbolo a una expresión compleja, pero se produce un error durante el cálculo del resultado:

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

Código:

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

2.Solución

Después de buscar en línea, puede deberse a que el uso de la función compleja () para convertir a un número plural informará un error. Si el código fuente solo se modifica a la siguiente forma, Python aún no puede identificar la definición de la forma plural.

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

Plan de modificación: multiplica por 1 delante de j para resolver el problema

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

Supongo que te gusta

Origin blog.csdn.net/weixin_44547510/article/details/116863436
Recomendado
Clasificación