首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Python类中调用odeint

在Python类中调用odeint
EN

Stack Overflow用户
提问于 2018-10-19 17:53:02
回答 2查看 794关注 0票数 1

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

从scipy.integrate导入odeint

班级考试:

代码语言:javascript
复制
@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‘没有定义。请你帮我在课堂上打电话给我好吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-10-19 17:58:18

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

代码语言:javascript
复制
y = odeint(SomeClass.mathfunc, y0, t, args(self.param1, self.param2))

希望能帮上忙。

票数 2
EN

Stack Overflow用户

发布于 2018-10-19 17:59:13

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

代码语言:javascript
复制
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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52897644

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档