【发布时间】:2018-10-27 23:44:59
【问题描述】:
求解微分方程并绘制结果时,如何增加绘制的数据点数量?我有
using DifferentialEquations
using Plots
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 = [5.0;0.0;0.0]
tspan = (0.0,100000.0)
prob = ODEProblem(lorenz,u0,tspan)
sol = solve(prob)
plot(sol, vars = 1, xlims = (10,100000),xscale =:log)
具体来说,当使用 PyPlots 之类的东西时,我可以使用:
x = linspace(0,100000,num=10000)
我将 num = 10000 设置为增加了样本数量并允许更高的数据点分辨率以实现更长的积分时间跨度。
显而易见的答案是使用 PyPlots,但我不确定是否可以将 PyPlots 与 DifferentialEquations 包一起使用。很高兴知道这是如何为 Plots 完成的。 (根据函数的不同,有些图非常参差不齐)。
【问题讨论】:
-
我在@ChrisRackauckas 对采样部分发表评论后编辑了答案。请查看最新版本。
标签: julia differential-equations plots.jl differentialequations.jl