Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用Python求解一个五阶多项式_Python_Syntax_Compiler Errors_Syntax Error - Fatal编程技术网

用Python求解一个五阶多项式

用Python求解一个五阶多项式,python,syntax,compiler-errors,syntax-error,Python,Syntax,Compiler Errors,Syntax Error,我认为从标题上可以很清楚地看出我在努力完成什么。那么,让我们继续代码: import math import numpy as np import scipy #from scipy import scipy.optimize.fsolve as sci_solve x0 = -5 def function(x): x**5 + x**4 + x**3 + x**2 + x + 1 #print sci_solve(function, x0) print scipy.

我认为从标题上可以很清楚地看出我在努力完成什么。那么,让我们继续代码:

import math

import numpy as np

import scipy

#from scipy import scipy.optimize.fsolve as sci_solve



x0 = -5

def function(x):

    x**5 + x**4 + x**3 + x**2 + x + 1

#print sci_solve(function, x0)

print scipy.optimize.fsolve(function, x0)
好的,当我运行这个代码时,我得到[-5.]。它什么时候只是打印了我的初始值,而不是这个方程的根?另外,当我运行代码时,在包含来自scipy import scipy.optimize.fsolve的代码行之前没有#作为sci#u solve和print sci#u solve(函数,x0),它给了我一个语法错误

我做错了什么


正如hcwhsa指出的,我忽略了向读者介绍我正在使用的python版本,对此我深表歉意。我使用的是2.7版

在这个问题之前,我从来没有听说过
scipy
模块(谢谢),但是从中给出的示例代码来看,似乎需要在
def函数(x)行后面的多项式前面加上
return
语句:

在这个问题之前,我从来没有听说过
scipy
模块(谢谢),但是从中给出的示例代码来看,您似乎需要在
def函数(x):
行后面给出的多项式前面放一个
return
语句:

from scipy import *

x0 = -5
p = poly1d([1, 1, 1, 1, 1, 1])

# evaluate for x = x0
p(x0)

# get roots
roots(p)
这将提供所有根,包括复杂的根。如果只需要实根,可以迭代根(p)(它是一个数组)并检查每个项的
imag
属性是否为0.0。

一种方法:

from scipy import *

x0 = -5
p = poly1d([1, 1, 1, 1, 1, 1])

# evaluate for x = x0
p(x0)

# get roots
roots(p)

这将提供所有根,包括复杂的根。如果只需要实根,可以迭代根(p)(它是一个数组)并检查每个项的
imag
属性是否为0.0。

好的,这有所帮助。它没有返回x0值,而是返回[-1.]。然而,我无法想象这是方程0=x^5+x^4+x^3+x^2+x+1的唯一根,请看这个-1是唯一的(真正的)解决方案。哦,的确如此。谢谢。好吧,这有点帮助。它没有返回x0值,而是返回[-1.]。然而,我无法想象这是方程0=x^5+x^4+x^3+x^2+x+1的唯一根,请看这个-1是唯一的(真正的)解决方案。哦,的确如此。非常感谢。