【问题标题】:Julia Plots; how can I individually plot coupled equations graphs?朱莉娅情节;如何单独绘制耦合方程图?
【发布时间】:2018-10-21 17:14:52
【问题描述】:

我正在学习 Julia,特别是如何求解耦合微分方程。我正在查看微分方程的文档页面,并从中获取了以下代码:

using DifferentialEquations


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)
using Plots; plot(sol)

所以这会将 u[1]、u[2] 和 u[3] 绘制在同一张图上,但是我想知道如何为 u[1]、u[2] 和 u 绘制 3 个单独的图[3]?这在这里没有用,但对于数学微分方程,在不同的图表上绘制组件属性会很有用。

【问题讨论】:

    标签: plot julia differential-equations


    【解决方案1】:

    绘图命令are documented on this page。您可以看到vars 允许您选择要绘制的变量。因此,要制作一些子图,您可以执行以下操作:

    p1 = plot(sol, vars=1)
    p2 = plot(sol, vars=2)
    p3 = plot(sol, vars=3)
    plot(p1,p2,p3,layout=(3,1))
    

    如果您想绘制所有变量,@hesham_EE 描述的一个不错的小技巧是您只需提供一个布局,它会自动将其拆分为不同的图:

    plot(sol, layout = (3,1))
    

    【讨论】:

      【解决方案2】:

      您可以在一个图中以网格的形式执行此操作:

      plot(sol, layout = (3,1))
      

      或者,如果您愿意,您可以在自己的情节中绘制每一个。例如,要绘制第一个,您可以这样做:

      plot(sol[1,:])
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-12-23
        • 1970-01-01
        • 2018-11-27
        • 1970-01-01
        • 1970-01-01
        • 2014-12-20
        • 1970-01-01
        相关资源
        最近更新 更多