我使用scipy.integrate.ode来解决问题。我设置了t0=0
和t1=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中获得更大的步长。