push!(LOAD_PATH, pwd()) using MaxPlus, SparseArrays Base.show(io::IO, ::MIME"text/latex", x::MP) = show(io, MIME"text/plain", x) Base.show(io::IO, ::MIME"text/latex", A::MPAbstractVecOrMat) = show(io, MIME"text/plain", A) Base.show(io::IO, ::MIME"text/latex", S::MPSysLin) = show(io, MIME"text/plain", S) speye(MP,2,2) S1 = MPSysLin(MP([1 2; 3 4]), # A MP([0;0]), # B MP([0 0]), # C speye(MP,2,2), # D (optionel) spzeros(MP,2,1)) # x0 (optionel) S2 = MPSysLin(MP([1 2 3; 4 5 6; 7 8 9]), # A MP([0;0;0]), # B MP([0 0 0]), # C eye(MP,3,3)) # D # x0 to zeros vector S1.D S1.A S1.B S1.C S1.x0 full(S1.x0) tropshow(stdout, S1) show(stdout, "text/plain", S1) LaTeX(stdout, S1) # show(stdout, "text/latex", S1) using LaTeXStrings latexify(S1, name="S") = latexstring(name, "=", LaTeX(S1)) latexify(S1) S = S1 + S2; latexify(S) S = S1 | S2; latexify(S) S = S1 * S2; latexify(S) S = [S1 S2]; latexify(S) S = [S1; S2]; latexify(S) S = S1 / S2; latexify(S) # TODO S = mpexplicit(S1); latexify(S) u = Vector(MP(1:0.5:5)) y = mpsimul(S, u, true) # Retourne l'historiques des états mpsimul(S, u, false) # Retourne le dernier état calculé using Plots plot(u, y, label=["simulation"], legend=:topleft) u = [MP(1:0.5:5) MP(1:0.5:5)] y = mpsimul([S1 S2], u, true)