在用DifferentialEquations.jl解方程时得到的解后,sol是一个包含了时间数组和解的数组的东西。如果我想用循环一次输入多个不同的初始参数,然后得到多个不同sol,怎么把sol的值传递给不同的变量。或者有什么其他更好的办法吗。
function lorenz(du,u,p,t)
du[1] = 10.0*(u[2]-u[1])
du[2] = u[1]*(28.0-u[3]) - u[2]
du[3] = u[1]*u[2] - (8/3)*u[3]
end
u0 = [1.0;0.0;0.0]
tspan = (0.0,100.0)
prob = ODEProblem(lorenz,u0,tspan)
sol = solve(prob)
julia> sol
retcode: Success
Interpolation: 3rd order Hermite
t: 1287-element Array{Float64,1}:
0.0
3.5678604836301404e-5
0.0003924646531993154
0.0032624016752212923
0.00905808176456279
⋮
99.73556893651245
99.81512588011671
99.88533419341042
99.94751447208056
100.0
u: 1287-element Array{Array{Float64,1},1}:
[1.0, 0.0, 0.0]
[0.999643, 0.000998805, 1.78143e-8]
[0.996105, 0.0109654, 2.14696e-6]
[0.969359, 0.0897704, 0.000143801]
[0.924204, 0.242289, 0.00104616]
⋮
[9.24468, 15.6918, 16.6348]
[14.3434, 19.1929, 29.3336]
[14.753, 10.4484, 39.3374]
[10.2159, 1.29592, 37.3659]
[5.79036, -1.64216, 32.3329]