logo

📂동역학

Kuznetsov p61

  • definition of bifurcation diagram

Codimension: Kuznetsov p63, strogatz p70

피리어드 더블링 바이퍼케이션

네이막-삭스 바이퍼케이션

동역학계로써의 이중 진자

Double Pendulum as a Dynamical System

P 91 Korsch H., Jodl H., Hartmann T. - Chaos_ A Program Collection for the PC-Springer (2008)

코드

h = 1e-4

function RK4(f, y)
    V1 = f(y)
    V2 = f(y + h*V1/2)
    V3 = f(y + h*V2/2)
    V4 = f(y + h*V3)
    return y + h/6*(V1 + 2V2 + 2V3 + V4)
end


g = 9.80665
l1 = 2
l2 = 1
m1 = 1
m2 = 1
λ = l1 / l2
μ = m2 / (m1 + m2)
g1 = g / l1
g2 = g / l2
function f(pppp)
    ϕ, ψ, Φ, Ψ = pppp

    ϕ̇ = Φ
    ψ̇ = Ψ
    Φ̇ = (μ*g1*sin(ψ)*cos(ψ-ϕ) + μ*(Φ^2)*sin(ψ-ϕ)*cos(ψ-ϕ) - g1*sin(ϕ) + (μ/λ)*(Ψ^2)*sin(ψ-ϕ)) / (1-μ*(cos(ψ-ϕ)^2))
    Ψ̇ = (g2*sin(ϕ)*cos(ψ-ϕ) - μ*(Ψ^2)*sin(ψ-ϕ)*cos(ψ-ϕ) - g2*sin(ψ) - λ*(Φ^2)*sin(ψ-ϕ)) / (1-μ*(cos(ψ-ϕ)^2))

    return [ϕ̇ , ψ̇ , Φ̇ , Ψ̇ ]
end

x_ = [[1.0,1,2,2]]
for t in 1:10000
    push!(x_, RK4(f, x_[end]))
end
_x_ = stack(x_, dims = 1)
ϕ = _x_[:, 1]
ψ = _x_[:, 2]

using Plots
plot(_x_[:,1])
x1 = +l1*sin.(ϕ)
y1 = -l1*cos.(ϕ)
x2 = +l1*sin.(ϕ) + l2*sin.(ψ)
y2 = -l1*cos.(ϕ) - l2*cos.(ψ)

using CSV, DataFrames
df = DataFrame(; ϕ, ψ, x1, x2, y1, y2)
# df = DataFrame(_x_, ["phi", "psi", "Phi", "Psi"])
CSV.write("traj1.csv", df, bom = true)

퍼뮤테이션 엔트로피

http://materias.df.uba.ar/dnla2019c1/files/2019/03/permutation_entropy.pdf

오토마타

  • 폰 노이만 네이버후드