Skip to content

Commit 5e99440

Browse files
committed
bump version
1 parent 853e75c commit 5e99440

4 files changed

Lines changed: 11 additions & 10 deletions

File tree

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name = "RobustAndOptimalControl"
22
uuid = "21fd56a4-db03-40ee-82ee-a87907bee541"
33
authors = ["Fredrik Bagge Carlson", "Marcus Greiff"]
4-
version = "0.2.3"
4+
version = "0.2.4"
55

66
[deps]
77
ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4"

src/glover_mcfarlane.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ end
154154

155155

156156
"""
157-
`Wh` = hanus(W)
157+
Wh = hanus(W)
158158
159159
Return `Wh` on Hanus form. `Wh` has twice the number of inputs, where the second half of the inputs are "actual inputs", e.g., potentially saturated. This is used to endow `W` with anti-windup protection.
160160
`W` must have an invertable `D` matrix and be minimum phase.

src/plotting.jl

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ specificationplot(sens::T, γ::Number; kwargs...) where {T<:LTISystem} =
9898

9999
@userplot MvNyquistplot
100100
"""
101-
fig = nyquistplot(sys, w; unit_circle=false, hz = false, kwargs...)
101+
fig = mvnyquistplot(sys, w; unit_circle=false, hz = false, kwargs...)
102102
103103
Create a Nyquist plot of the `LTISystem`. A frequency vector `w` must be
104104
provided.
@@ -108,16 +108,17 @@ If `hz=true`, the hover information will be displayed in Hertz, the input freque
108108
109109
`kwargs` is sent as argument to plot.
110110
"""
111-
nyquistplot
112-
@recipe function nyquistplot(p::MvNyquistplot; unit_circle=false, hz=false)
111+
mvnyquistplot
112+
@recipe function mvnyquistplot(p::MvNyquistplot; unit_circle=false, hz=false)
113+
length(p.args) == 2 || throw(ArgumentError("You must provide a frequency vector."))
113114
sys, w = p.args
114115
nw = length(w)
115116
framestyle --> :zerolines
116117
θ = range(0, stop=2π, length=100)
117118
S, C = sin.(θ), cos.(θ)
118-
L = freqresp(sys, w)
119-
dets = map(axes(L, 1)) do i
120-
det(I + L[i,:,:])
119+
L = freqresp(sys, w).parent
120+
dets = map(axes(L, 3)) do i
121+
det(I + L[:,:,i])
121122
end
122123
dets = vec(dets)
123124
redata = real.(dets)

test/test_reduction.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -156,14 +156,14 @@ end
156156

157157
# Pcl, S, CS, T = hinfsignals(P, G, C)
158158

159-
# Cr = controller_reduction(P,C,7, false)
159+
# Cr = RobustAndOptimalControl.controller_reduction(P,C,7, false)
160160
# Cr2 = baltrunc(C,n=7)[1]
161161
# Pclr, Sr, CSr, Tr = hinfsignals(P, G, Cr)
162162
# Pclr2, Sr2, CSr2, Tr2 = hinfsignals(P, G, Cr2)
163163
# bodeplot([Pcl, Pclr], plotphase=false, size=(1900,920))
164164
# bodeplot([C, Cr, Cr2])
165165

166-
# hinfn = ControlSystems._infnorm_two_steps_ct(minreal(Pcl-Pclr), :hinf, 1e-9, 1000, 1e-6)[1]
166+
# hinfn = hinfnorm2(minreal(Pcl-Pclr))[1]
167167
# @test hinfn ≈ 14.88609988 rtol=1e-3
168168
# @test isstable(Pclr)
169169

0 commit comments

Comments
 (0)