在Python类中调用odeint

2024-10-02 02:35:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在python类的方法中调用odeint:

从整合导入odeint

等级考试:

@staticmethod
def mathfunc(y, t arg1, arg2):
    x , xdot = y
    #some equations
    return xdot, xddot

def numericalsim(self, y0, t):
    y = odeint(mathfunc, y0, t, args(self.param1, self.param2))
    return y

但是,我得到了一个错误:名称'mathfunc'没有定义。 请你帮我在班里打电话给odeint好吗。在


Tags: 方法selfreturndefsomearg1arg2xdot
2条回答

你能分享一下你是如何导入你的模块的吗? 因为它是一个静态方法,所以你需要用你的类来调用它。 像这样:

y = odeint(SomeClass.mathfunc, y0, t, args(self.param1, self.param2))

希望有帮助。在

要调用静态函数,需要将类名放在方法之前,请看下面的完整示例:

def odeint(f, n):
  return f(n)

class A:

  @staticmethod
  def mathfunc(a):
      return a+1

  def numericalsim(self, n):
      y = odeint(A.mathfunc, n)
      return y

相关问题 更多 >

    热门问题