我试图在python类中的方法中调用odeint:
从scipy.integrate导入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‘没有定义。请你帮我在课堂上打电话给我好吗?
发布于 2018-10-19 17:58:18
您还能分享您如何导入模块吗?因为它是一个静态方法,所以需要使用类来调用它。就像这样:
y = odeint(SomeClass.mathfunc, y0, t, args(self.param1, self.param2))希望能帮上忙。
发布于 2018-10-19 17:59:13
要调用静态函数,需要将类名放在方法之前,请看下面的完整示例:
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 yhttps://stackoverflow.com/questions/52897644
复制相似问题