问题描述
我的问题如下:给定一个要集成的函数,odeint
多次调用它以执行一个集成步骤;有没有办法让 odeint 在每个集成步骤中只调用一次函数?
我的代码实际上非常标准,但为了清楚起见,我还是会发布它。
def sys1(state,t):
# unpack the state vector
x1 = state[0]
x2 = state[1]
x3 = state[2]
z = [state[2],state[1]]
z = np.reshape(z,(2,1))
v = - np.dot(K,z)
u = - state[2] + v
# equation
dx1 = (x1 ** 2) * x2 + (x1 ** 2) * u
dx2 = x3 + u
dx3 = x2
return dx1,dx2,dx3
state0 = [1,1,0]
t = np.arange(0.0,0.1,0.01)
state = odeint(sys1,state0,t)
似乎改变np.arange
中的步长并不能解决问题;使用 t=np.arange(0.0,0.09)
,sys2
被调用 5 次,而我只需要调用一次。
谢谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)