"AttributeError:'list'对象没有属性'ravel'"

emm*_*mma 7 python numpy list

我有一个微分方程系统,需要计算雅可比矩阵.下面的代码抛出AttributeError: 'list' object has no attribute 'ravel'.我错过了什么?

import numpy as np
import numdifftools as ndt

def rhs(z, t=0):
    x,y = z

    xdot = (x/5 + y)*(-x**2+1)
    ydot = -x*(-y**2+1)

    return [xdot, ydot]

Jfun = ndt.Jacobian(rhs)

Jfun([1,1])
Run Code Online (Sandbox Code Playgroud)

Sau*_*tro 9

做就是了:

return np.array([xdot, ydot])
Run Code Online (Sandbox Code Playgroud)

代替.这应该工作......

  • @klim我发现这是基于你的错误信息的问题...因为`ravel`是`ndarray`对象的一个​​方法,很可能返回数组而不是列表会解决问题 (4认同)
  • 奇怪..我很确定我之前尝试过..但是,它工作了!非常感谢 - 我希望每一个问题都能在一条线上解决! (3认同)