这是我们的第一个作业,我们要解决一个问题。我们尝试为曲线草图创建代码,但是我们的问题是必须将一些结果放入另一个函数中才能实现目标。我们只是获得用于结果的复数,但需要浮点数。
我们如何避免首先得到复数?
from sympy import *
function = input("function =") #x^5+x^4+x^3+x^2+x+1 for example
n1 = solve(function,x)
for n1 in solve(function,x):
print("n1 :",(N(n1)))
答案 0 :(得分:0)
您可以只检查结果是否真实:
from sympy import *
x = symbol.Symbol("x")
function = input("function =") #x^5+x^4+x^3+x^2+x+1 for example
n1 = solve(function,x)
for n1 in solve(function,x):
if n1.is_real:
print("n1 :",(N(n1)))
其他根仍然存在,但是现在您只能在真实空间中看到它们。
答案 1 :(得分:0)
您的示例(x**5 + x**4 + x**3 + x**2 + x + 1
)是5阶多项式,因此最多可以有5个根。在这种情况下,there is only one real root, and the rest are complex。
因此输出正是您所期望的
n1 : -1.00000000000000
n1 : -0.5 - 0.866025403784439*I
n1 : -0.5 + 0.866025403784439*I
n1 : 0.5 - 0.866025403784439*I
n1 : 0.5 + 0.866025403784439*I