I am trying to run the example usage code provided in the README.md file of the ControlSystems.jl repository, but with the recent changes, it seems impossible to produce exactly the same stepplot() results with plot(step()) as the recent changes note suggests.
As another specific use example, how would one use the new replacement for stepplot() in the following?
using ControlSystems 
using Plots
pyplot()
M = 7
K = 2.8
fv = [1.5 5 20]
wn = sqrt(K/M)
zetas = fv ./ (M * 2 * wn) 
G = [ tf([wn^2], [1, 2*zeta*wn, wn^2]) for zeta in zetas ]
t = 0:0.01:40
stepplot(G, t, lw=3,  label=[L"F_v="*"$(fv[1])" L"F_v="*"$(fv[2])" L"F_v="*"$(fv[3])"])
Thanks.
             
            
              
              
              1 Like
            
            
           
          
            
            
              Hey and welcome to the community! Thanks for pointing out the problem in the readme, I’ll fix it.
There are no plot recipes for vectors of SimResult at the moment, but such recipes should perhaps be added.
Your example would currently look like this
M = 7
K = 2.8
fv = [1.5, 5, 20]
wn = sqrt(K/M)
zetas = fv ./ (M * 2 * wn) 
G = [ tf([wn^2], [1, 2*zeta*wn, wn^2]) for zeta in zetas ]
t = 0:0.01:40
plot()
for (G, lab) in zip(G, ["F_v="*"$(fv[1])" "F_v="*"$(fv[2])" "F_v="*"$(fv[3])"])
    plot!(step(G, t); lw=3, lab)
end
display(current())
             
            
              
              
              2 Likes
            
            
           
          
            
            
              https://github.com/JuliaControl/ControlSystems.jl/pull/594
you’ll soon be able to plot a vector of SimResult rather than writing a loop, then your example will be
plot(step.(G, Ref(t)); lw=3, label=["F_v="*"$(fv[1])" "F_v="*"$(fv[2])" "F_v="*"$(fv[3])"])
             
            
              
              
              4 Likes