在scipy.integrate.ode中增加步长

时间:2015-12-12 02:40:20

标签: python python-2.7 scipy

我使用scipy.integrate.ode来解决问题。我设置了t0=0t1=100。但是当我运行代码时,我发现t的步长太小而且花费的时间太多了。这是我的代码的一部分:

t0 = 0
t1 = 1
ode45 = ode(func)
ode45.set_integrator('vode', method='bdf', order=15, nsteps=1)
ode45.set_initial_value(y0, t0)
while ode45.successful() and ode45.t < t1:
    ode45.integrate(t1, step=True)
    lorenzT.append(ode45.t)
    lorenzY.append(ode45.y)

这是我在循环中打印t时的结果:

...
t=0.0180750420686
t=0.0184795480338
t=0.0185806745251
t=0.0186818010164
t=0.018866421428
t=0.0192500222631
t=0.0196336230983
t=0.0200172239334
t=0.0204008247685
t=0.0207844256037
t=0.0211680264388
t=0.0214862880003
t=0.0218045495617
t=0.0221228111232
t=0.0226012818558
t=0.0230797525885
t=0.0231993702716
t=0.0233189879548
t=0.023438605638
t=0.0237217832039
t=0.0240049607698
t=0.0242881383358
t=0.0244043822203
t=0.0245206261048
t=0.0248245961619
t=0.0253513596254
...

我不知道在什么时间t达到100.我想在t中获得更大的步长。

0 个答案:

没有答案