using DifferentialEquations
μ = 0.456
ϵ = 0.0357
function bluesky(du,u,p,t)
du[1] = u[1]*(2+μ-10(u[1]^2+u[2]^2)) + u[3]^2 + u[2]^2+2u[2]
du[2] = -u[3]^3-(1+u[2])*(u[3]^2+u[2]^2+2u[2])-4*u[1]+μ*u[2]
du[3] = (1+u[2])*u[3]^2+u[1]^2-ϵ
end
bluesky (generic function with 1 method)
u0 = [1.0;0.0;0.0]
tspan = (0.0,100.0)
prob = ODEProblem(bluesky,u0,tspan)
sol = solve(prob)
retcode: Success Interpolation: specialized 4th order "free" interpolation t: 533-element Array{Float64,1}: 0.0 0.000242794 0.00267074 0.0091564 0.0196942 0.034228 0.0547106 0.0828306 0.121833 0.175646 0.250851 0.361763 0.480232 ⋮ 97.327 97.5545 97.755 97.9734 98.1957 98.4781 98.7962 99.0634 99.3472 99.6414 99.9307 100.0 u: 533-element Array{Array{Float64,1},1}: [1.0, 0.0, 0.0] [0.998174, -0.000970108, 0.000233683] [0.980537, -0.0105562, 0.00252316] [0.938275, -0.0352128, 0.00825583] [0.881238, -0.0727312, 0.0165861] [0.818717, -0.120308, 0.0265473] [0.750202, -0.181046, 0.0384] [0.677017, -0.255469, 0.0517152] [0.595216, -0.346082, 0.0661592] [0.497891, -0.453002, 0.0804787] [0.371867, -0.573941, 0.0923551] [0.198736, -0.698181, 0.0979653] [0.0462886, -0.7658, 0.095936] ⋮ [-0.340419, 0.171288, -0.0124758] [-0.264768, 0.314069, 0.00164854] [-0.155254, 0.314244, 0.00354042] [-0.045482, 0.246791, -0.00189027] [0.0546987, 0.145436, -0.00962507] [0.166218, -0.0172594, -0.0157618] [0.212106, -0.229048, -0.0142034] [0.133021, -0.364671, -0.0147955] [-0.0280167, -0.369638, -0.0233519] [-0.225648, -0.160061, -0.0281007] [-0.340265, 0.175505, -0.0116722] [-0.329319, 0.236798, -0.00631381]
using Plots
plot(sol,vars=(1,2,3))
plt = path3d(1, xlim=(-3,3), ylim=(-3,3), zlim=(-3,3),
xlab = "x", ylab = "y", zlab = "z",
title = "Gavrilov-A. Shilnikov model", marker = 1)
# build an animated gif, saving every 10th frame
@gif for i=1:length(sol)
push!(plt, sol[i][1], sol[i][2], sol[i][3])
end every 3
INFO: Saved animation to /Users/noriakioshita/Github/julia/ml_page/julia/tmp.gif
function displayfile(mimetype, filename)
open(filename) do f
base64text = base64encode(f)
display("text/html", """<img src="data:$mimetype;base64,$base64text">""")
end
end
displayfile (generic function with 1 method)
displayfile("image/gif","./bluesky.gif")
# ちょっと遅くしたもの
displayfile("image/gif","./bluesky2.gif")
jupyter notebook で実行するとぐりぐり出来る
plotly()
plot(sol[1,:],sol[2,:],sol[3,:], size=(500, 500))