# hinffc

## Syntax

## Description

Full-control synthesis assumes the controller can directly affect both the state
vector *x* and the error signal *z*. Synthesis with
`hinffc`

is the dual of the full-information problem covered by
`hinffi`

. For general *H*_{∞}
synthesis, use `hinfsyn`

.

`[`

computes the `K`

,`CL`

,`gamma`

] = hinffc(`P`

,`nmeas`

)*H*_{∞}-optimal control law

$$u=\left[\begin{array}{c}{u}_{1}\\ {u}_{2}\end{array}\right]=Ky$$

for the plant `P`

. The plant is described by the state-space
equations:

$$\begin{array}{c}dx=Ax+{B}_{1}w+{u}_{1}\\ z={C}_{1}x+{D}_{11}w+{u}_{2}\\ y={C}_{2}x+{D}_{21}w.\end{array}$$

Here,

*w*represents the disturbance inputs*u*_{1}represents the inputs that affect the state vector*u*_{2}represents the inputs that affect the error*z*represents the error outputs to be kept small*y*represents the measurement outputs

`nmeas`

is the number of measurements *y*, which
must be the last outputs of `P`

. The gain matrix `K`

minimizes the *H*_{∞} norm of the closed-loop transfer
function `CL`

from the disturbance signals *w* to the
error signals *z*.

`[`

calculates a gain matrix for the target performance level `K`

,`CL`

,`gamma`

] = hinffc(`P`

,`nmeas`

,`gamTry`

)`gamTry`

.
Specifying `gamTry`

can be useful when the optimal achievable performance
is better than you need for your application. In that case, a less-than-optimal solution can
have smaller gains and be more numerically well-conditioned. If `gamTry`

is not achievable, `hinffc`

returns `[]`

for
`K`

and `CL`

, and `Inf`

for
`gamma`

.

`[`

specifies additional computation options. To create `K`

,`CL`

,`gamma`

] = hinffc(___,`opts`

)`opts`

, use `hinfsynOptions`

.
Specify `opts`

after all other input arguments.

## Input Arguments

## Output Arguments

## Algorithms

For information about the algorithms used for *H*_{∞}
synthesis, see `hinfsyn`

.

## References

[1] Doyle, J.C., K. Glover, P.
Khargonekar, and B. Francis. "State-space solutions to standard H_{2} and
H_{∞} control problems." *IEEE Transactions on
Automatic Control*, Vol 34, Number 8, August 1989, pp. 831–847.

## Version History

**Introduced in R2018b**