Python 错误:函数及其Jacobian必须是可调用函数
错误:函数及其雅可比矩阵必须是可调用函数。我怎么解决这个问题Python 错误:函数及其Jacobian必须是可调用函数,python,odeint,Python,Odeint,错误:函数及其雅可比矩阵必须是可调用函数。我怎么解决这个问题 #!/usr/bin/env python from sympy import * from scipy.integrate import odeint from matplotlib import pyplot as plt from scipy import optimize as opt import numpy as np x = Symbol('x') def f(x): y = 100*(1-x**2)
#!/usr/bin/env python
from sympy import *
from scipy.integrate import odeint
from matplotlib import pyplot as plt
from scipy import optimize as opt
import numpy as np
x = Symbol('x')
def f(x):
y = 100*(1-x**2)**2+(1-x)**2
return y
def steepestDescent(f,x0,x):
#y = np.zeros(100)
for i in range(100):
y = odeint(f,x0,x)
x0 = x0-0.1*y;
return x0
if __name__ == '__main__':
x = np.linspace(-8,8,100)
plt.plot(x,f(x),x,steepestDescent(f(x),2,x))
plt.show()
请发布包含回溯的实际错误消息。在代码中的任何地方都看不到您实际上在调用雅可比矩阵。您想要实现什么?我猜问题在于,您在调用
plt()
和最陡下降()
时调用了f(x)
,而不是将函数f
作为参数传递给这些方法。