Note: This page has been translated by MathWorks. Click here to see

To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

Tune fixed-structure control systems modeled in MATLAB

`systune`

tunes fixed-structure control
systems subject to both soft and hard design goals. `systune`

can
tune multiple fixed-order, fixed-structure control elements distributed
over one or more feedback loops. For an overview of the tuning workflow,
see Automated Tuning Workflow.

This command tunes control systems modeled in MATLAB^{®}. For
tuning Simulink^{®} models, use `slTuner`

to
create an interface to your Simulink model. You can then tune
the control system with `systune`

for `slTuner`

(requires Simulink
Control Design™).

```
[CL,fSoft]
= systune(CL0,SoftReqs)
```

```
[CL,fSoft,gHard]
= systune(CL0,SoftReqs,HardReqs)
```

```
[CL,fSoft,gHard]
= systune(CL0,SoftReqs,HardReqs,options)
```

```
[CL,fSoft,gHard,info]
= systune(___)
```

`[`

tunes
the free parameters of the control system model, `CL`

,`fSoft`

]
= systune(`CL0`

,`SoftReqs`

)`CL0`

,
to best meet the soft tuning requirements. The best achieved soft
constraint values are returned as `fSoft`

. For
robust tuning against real parameter uncertainty, use a control system
model with uncertain real parameters. For robust tuning against a
set of plant models, use an array of control system models `CL0`

.
(See Input Arguments.)

*x* is the vector of tunable parameters in
the control system to tune. `systune`

converts each
soft and hard tuning requirement `SoftReqs(i)`

and `HardReqs(j)`

into
normalized values *f _{i}*(

`systune`

then solves the constrained
minimization problem:Minimize $$\underset{i}{\mathrm{max}}{f}_{i}\left(x\right)$$ subject to $$\underset{j}{\mathrm{max}}{g}_{j}\left(x\right)<1$$, for $${x}_{\mathrm{min}}<x<{x}_{\mathrm{max}}$$.

*x _{min}* and

When you use both soft and hard tuning goals, the software approaches this optimization problem by solving a sequence of unconstrained subproblems of the form:

$$\underset{x}{\mathrm{min}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\mathrm{max}\left(\alpha f\left(x\right),g\left(x\right)\right).$$

The software adjusts the multiplier *α* so
that the solution of the subproblems converges to the solution of
the original constrained optimization problem.

`systune`

returns the control system with parameters tuned
to the values that best solve the minimization problem. `systune`

also
returns the best achieved values of *f _{i}*(

`fSoft`

and `gHard`

respectively.For information about the functions *f _{i}*(

`TuningGoal`

requirement
object.`systune`

uses the nonsmooth optimization algorithms
described in [1],[2],[3],[4]

`systune`

computes the *H _{∞}*
norm using the algorithm of [5]and structure-preserving eigensolvers from the SLICOT library. For more information about the
SLICOT library, see http://slicot.org.

The **Control System Tuner** app
provides a graphical interface to control system tuning.

[1] Apkarian, P. and D. Noll, "Nonsmooth H-infinity
Synthesis," *IEEE Transactions on Automatic Control*,
Vol. 51, No. 1, (2006), pp. 71–86.

[2] Apkarian, P. and D. Noll, "Nonsmooth Optimization
for Multiband Frequency-Domain Control Design," *Automatica*,
43 (2007), pp. 724–731.

[3] Apkarian, P., P. Gahinet, and C. Buhr, "Multi-model,
multi-objective tuning of fixed-structure controllers," *Proceedings
ECC* (2014), pp. 856–861.

[4] Apkarian, P., M.-N. Dao, and D. Noll, "Parametric
Robust Structured Control Design," *IEEE Transactions on
Automatic Control*, 2015.

[5] Bruisma, N.A. and M. Steinbuch, "A Fast
Algorithm to Compute the H_{∞}-Norm of
a Transfer Function Matrix," *System Control Letters*,
Vol. 14, No, 4 (1990), pp. 287–293.

`AnalysisPoint`

| `TuningGoal.Gain`

| `TuningGoal.Margins`

| `TuningGoal.Tracking`

| `genss`

| `looptune`

| `looptune (for slTuner)`

| `slTuner`

| `systune (for slTuner)`

| `systuneOptions`

| `viewGoal`