关于FractionalDiffEq.jl包中分数阶模型计算结果的画图问题

求各位大佬指点,最近了解到Julia中FractionalDiffEq.jl包可以进行分数阶时滞系统的仿真,在运行以下实例后,得到图像结果是3个参数的时序图在同一张图中(如下图所示)。

using FractionalDiffEq, Plots
α=[0.94, 0.94, 0.94]; ϕ=[0.2, 0, 0.5]; τ=0.009; T=1.4; h=0.001
function delaychen!(dy, y, ϕ, t)
	a=35; b=3; c=27
	dy[1] = a*(y[2]-ϕ[1])
	dy[2] = (c-a)*ϕ[1]-y[1]*y[3]+c*y[2]
	dy[3] = y[1]*y[2]-b*ϕ[3]
end
prob = FDDESystem(delaychen!, ϕ, α, τ, T)
sol=solve(prob, h, DelayABM())
plot(sol, title="Fractional Order Chen Delayed System")

想请教一下大家,数据类型FDDESystemSolution可以进行哪些操作?如何将3个参数的数据分开画3个时序图?如何画二维或三维相图?
求大佬解答指导,万分感谢!

通过问VS Code 的CodeGeeX,我解决了我的问题
sol.uFDDESystemSolution 类型对象中的信号向量,因此可以通过操作sol.u来达到想要的目的

plot(sol.u[1, :])
plot(sol.u[2, :])
plot(sol.u[3, :])
plot(sol.u[1, :],sol.u[2, :],sol.u[3, :])

@QQiri 你好,很抱歉这么晚看到问题,FractionalDiffEq.jl之前是很简单的直接对算法得出的数值解进行了导出,所以之前的版本只能这样画图,为了解决这个问题我们正在进行大规模的求解器重构,加入更多的SciML规范的使用形式(所以上次的release还是停留在三月份),目前估计还需要一段时间才能完成重构,如果有什么问题可以直接联系我 :grinning:

1 个赞