我正在建立三个不同的ODE模型。solve_ivp的打印输出是每个ODE的三个列表。我如何打印三个列表中每个列表的最后一个值? print(sol.y[-1])只给出最后一个列表。
tspan = [0, 10000] #seconds
t = np.linspace(tspan[0], tspan[1])
initial = [20, 0, 0]
sol = solve_ivp(model, tspan, initial)
print(sol.y)
输出。
[[2.00000000e+01 1.99990001e+01 1.99890061e+01 1.98895720e+01
1.89440444e+01 1.59285599e+01 1.27338290e+01 1.05115203e+01
9.25629525e+00 8.51028020e+00 7.92735437e+00 7.32952056e+00
6.63044941e+00 5.79660466e+00 5.07428476e+00 4.49779742e+00
3.97602595e+00 3.51484826e+00 3.13197614e+00]
[0.00000000e+00 9.99900471e-04 1.09934587e-02 1.10386319e-01
1.05191521e+00 3.99641947e+00 6.93123165e+00 8.65040780e+00
9.20098306e+00 9.08672531e+00 8.65293473e+00 8.04145441e+00
7.28001634e+00 6.36184974e+00 5.56499178e+00 4.93275862e+00
4.35948296e+00 3.85276205e+00 3.43484204e+00]
[0.00000000e+00 3.39461014e-09 4.10612220e-07 4.16734618e-05
4.04044408e-03 7.50206385e-02 3.34939397e-01 8.38071947e-01
1.54272170e+00 2.40299450e+00 3.41971090e+00 4.62902503e+00
6.08953425e+00 7.84154560e+00 9.36072346e+00 1.05694440e+01
1.16644911e+01 1.26323897e+01 1.34331818e+01]
使用
print(sol.y[:,-1])
遍历第一个指数的所有变体和第二个指数的最后一个数字。