dkpy.DkIterInteractiveOrder
- class dkpy.DkIterInteractiveOrder(controller_synthesis, structured_singular_value, d_scale_fit, max_fit_order=4)
Bases:
DkIterationD-K iteration with interactively selected fit orders.
- Parameters:
controller_synthesis (ControllerSynthesis)
structured_singular_value (StructuredSingularValue)
d_scale_fit (DScaleFit)
max_fit_order (int)
- __init__(controller_synthesis, structured_singular_value, d_scale_fit, max_fit_order=4)
Instantiate
DkIterInteractiveOrder.- Parameters:
controller_synthesis (dkpy.ControllerSynthesis) – A controller synthesis object.
structured_singular_value (dkpy.StructuredSingularValue) – A structured singular value computation object.
d_scale_fit (dkpy.DScaleFit) – A D-scale fit object.
max_fit_order (int) – Maximum fit order.
Examples
>>> eg = dkpy.example_skogestad2006_p325() >>> dk_iter = dkpy.DkIterInteractiveOrder( ... controller_synthesis=dkpy.HinfSynSlicot(), ... structured_singular_value=dkpy.SsvLmiBisection(), ... d_scale_fit=dkpy.DScaleFitSlicot(), ... max_fit_order=4, ... ) >>> omega = np.logspace(-3, 3, 61) >>> block_structure = [ ... dkpy.ComplexFullBlock(1, 1), ... dkpy.ComplexFullBlock(1, 1), ... dkpy.ComplexFullBlock(2, 2), ... ] >>> K, N, mu, d_scale_fit_info, info = dk_iter.synthesize( ... eg["P"], ... eg["n_y"], ... eg["n_u"], ... omega, ... block_structure, ... )
Methods
__init__(controller_synthesis, ...[, ...])Instantiate
DkIterInteractiveOrder.synthesize(P, n_y, n_u, omega, block_structure)Synthesize controller using D-K iteration.
- synthesize(P, n_y, n_u, omega, block_structure)
Synthesize controller using D-K iteration.
The
IterResultobjects returned by this function can be plotted usingplot_mu()andplot_D().- Parameters:
P (control.StateSpace) – Generalized plant, with
yanduas last outputs and inputs respectively.n_y (int) – Number of measurements (controller inputs).
n_u (int) – Number of controller outputs.
omega (np.ndarray) – Angular frequencies to evaluate D-scales (rad/s).
block_structure (Optional[List[uncertainty_structure.UncertaintyBlock], List[List[int]], np.ndarray]) – Uncertainty block structure representation.
- Returns:
Controller, closed-loop system, structured singular value, intermediate results for each iteration, and solution information. If a controller cannot by synthesized, the first three elements of the tuple are
None, but fit and solution information are still returned.- Return type:
Tuple[control.StateSpace, control.StateSpace, float, List[IterResult], Dict[str, Any]]
See also
IterResultIntermediate results for each iteration.
plot_mu()Plot structured singular value fit from an
IterResultobject.plot_D()Plot D-scale fit from an
IterResultobject.