Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Julia Differentialsequations.jl在特定点的输出_Julia_Differential Equations - Fatal编程技术网

Julia Differentialsequations.jl在特定点的输出

Julia Differentialsequations.jl在特定点的输出,julia,differential-equations,Julia,Differential Equations,我正在尝试使用Julia提供的Differentialsequations.jl。我设法让它工作,但我想知道如何在特定的时间点生成输出。文档对此并不清楚,我还没有找到一个这样的例子。我当前使用的代码来自教程: 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]

我正在尝试使用Julia提供的Differentialsequations.jl。我设法让它工作,但我想知道如何在特定的时间点生成输出。文档对此并不清楚,我还没有找到一个这样的例子。我当前使用的代码来自教程:

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 = [1.0;0.0;0.0]
tspan = (0.0,100.0)
prob = ODEProblem(lorenz,u0,tspan)
sol = solve(prob)

plot(sol,vars=(1,2,3))
目前它产生了1287分,我不知道它是如何决定的。我的问题是,如果我想在0到100之间生成20个点,该怎么办?

演示了为此目的使用
saveat
。示范是:

sol = solve(prob,reltol=1e-6,saveat=0.1)
它将保存在0.0、0.1、。。。在你的例子中。在其右下方,应注意:

更一般地说,saveat可以是要保存的时间点的任意集合

例如,我们可以使用save at仅在t=30、60和78时保存,如下所示:

sol = solve(prob,saveat=[30.0,60.0,78.0])
这些例子应该为您指明正确的方向。有关更多详细信息,请参阅