You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/diskmargin.jl
+19-8Lines changed: 19 additions & 8 deletions
Original file line number
Diff line number
Diff line change
@@ -117,6 +117,12 @@ function Disk(; α, σ)
117
117
end
118
118
119
119
Disk(dm::Diskmargin) =Disk(dm.γmin, dm.γmax)
120
+
121
+
"""
122
+
nyquist(d::Disk)
123
+
124
+
Transform a `Disk` representing a diskmargin to a exclusion disk in the Nyquist plane. This can be useful for visualizing a diskmargin in the Nyquist plane.
125
+
"""
120
126
ControlSystems.nyquist(d::Disk) =Disk(-inv(d.γmin), -inv(d.γmax)) # translate the disk to a nyquist exclusion disk
121
127
122
128
"""
@@ -133,14 +139,7 @@ The margins are aviable as fields of the returned objects, see [`Diskmargin`](@r
133
139
134
140
# Arguments:
135
141
- `L`: A loop-transfer function.
136
-
- `σ`: If little is known about the distribution of gain variations then σ = 0
137
-
is a reasonable choice as it allows for a gain increase or decrease by the same relative amount.
138
-
The choice σ < 0 is justified if the gain can decrease by a larger factor than it can increase.
139
-
Similarly, the choice σ > 0 is justified when the gain can increase by a larger factor than it can
140
-
decrease.
141
-
If σ = −1 then the disk margin condition is αmax = inv(MT). This margin is related to the robust
142
-
stability condition for models with multiplicative uncertainty of the form P (1 + δ).
143
-
If σ = +1 then the disk margin condition is αmax = inv(MS)
142
+
- `σ`: If little is known about the distribution of gain variations then σ = 0 is a reasonable choice as it allows for a gain increase or decrease by the same relative amount. *The choice σ < 0* is justified if the gain can decrease by a larger factor than it can increase. Similarly, *the choice σ > 0* is justified when the gain can increase by a larger factor than it can decrease. *If σ = −1* then the disk margin condition is αmax = inv(MT). This margin is related to the robust stability condition for models with multiplicative uncertainty of the form P (1 + δ). If σ = +1 then the disk margin condition is αmax = inv(MS)
144
143
- `kwargs`: Are sent to the [`hinfnorm`](@ref) calculation
145
144
- `ω`: If a vector of frequencies is supplied, the frequency-dependent disk margin will be computed, see example below.
146
145
@@ -167,6 +166,11 @@ function diskmargin(L::LTISystem, σ::Real=0; kwargs...)
167
166
diskmargin(L, σ, ω0)
168
167
end
169
168
169
+
"""
170
+
diskmargin(L::LTISystem, σ::Real, ω)
171
+
172
+
Calculate the diskmargin at a particular frequency or vector of frequencies. If `ω` is a vector, you get a frequency-dependent diskmargin plot if you plot the returned value.
0 commit comments