## Validate Operating Point Against Specifications

When you compute an operating point based on input, output, or state
specifications, the Simulink^{®}
Control Design™ software indicates whether the specifications were successfully met
during the trimming process. If the trimming was unsuccessful, to determine the
specifications that could not be met, you must validate your trimmed operating
point against the original specifications.

### Validate Operating Point in **Steady State Manager**

When you compute an operating point using **Steady State Manager**,
the software creates an operating point report object and highlights any
operating point values that violate the constraints in the
specification.

For example, consider the `scdairframeTRIM`

model. Open the
model and set the speed and incidence angle parameters.

```
sys = 'scdairframeTRIM';
open_system(sys)
alpha_ini = -0.21;
v_ini = 933;
```

To open the **Steady State Manager**, in the Simulink model window, in the **Apps** gallery, click
**Steady State Manager**.

Create a trim specification for the model. On the **Steady
State** tab, click **Trim
Specification**.

In the **spec1** document, specify which states are known
and which are at steady state.

To trim the model, on the **Specification** tab, click
**Trim**
. The software generates an operating
point report and, in the corresponding **report1**
document, highlights any constraint violations in red

The optimization search could not find an operating point that satisfies the
specifications. As highlighted in **Steady State Manager**, the three
states specified to be at steady state are not. The highlighted state values
violate the specified constraints by more than the tolerance value specified
on the **Report** tab, in the **Validation
Tolerance** field. For steady-state conditions, the
**dx Minimum** and **dx Maximum**
constraints are both zero; that is, the rate of change for each state is
zero. In the trimmed operating point, the **Actual dx**
values violate these constraints.

For this model, specifying the second position state to be at steady state overconstrains the system, making a steady-state solution impossible.

To remove this steady-state constraint, update the specification. In the
**spec1** document, in the **Steady
State** column, clear the corresponding row.

On the **Specification** tab, click
**Trim**
. The software trims the model and opens
a corresponding **Report** tab. The resulting report shows
that there are no constraint violations.

You can also validate an existing operating point against a set of
specifications. For example, to check if the model initial conditions
satisfy the requirements in `spec1`

, first create an
operating point based on the model initial conditions. On the
**Steady State** tab, click **Operating
Point**. The software creates an operating point and opens a
corresponding **op1** document.

To validate this operating point against the specifications in
`spec1`

, on the **Operating Point**
tab, under **Validate Against**, select
`spec1`

.

The software creates an operating point report and opens a corresponding
**report3** document.

The model initial conditions do not satisfy the operating point specifications, as shown by the highlighted constraint violations.

### Validate Operating Point in **Model Linearizer**

When you compute an operating point using **Model Linearizer**, the
software does not highlight constraint violations. Instead, you must inspect
the operating point report information for any violations.

If you trim the model from the preceding **Steady State Manager**
example using the same specifications in the **Model Linearizer**,
the software creates an operating point in the **Data
Browser**, in the **Linear Analysis
Workspace**.

To check whether the operating point satisfies the specified constraints, in
the **Data Browser**, in the **Linear Analysis
Workspace**, double-click the operating point.

In the Edit dialog box, for the three steady-state specifications, the
trimmed state values in the **Actual dx** column violate
the zero **Desired dx** values.

### Validate Operating Point at the Command Line

When you compute an operating point at the command line, the `findop`

function outputs an operating point report to the Command Window by default. You can also return the operating point report as an output argument. For more information, see `findop`

. To validate your operating point against the specifications, you must check whether the operating point values satisfy the constraints.

For example, open the `scdairframeTRIM`

model and set the model parameters.

```
sys = 'scdairframeTRIM';
open_system(sys)
alpha_ini = -0.21;
v_ini = 933;
```

Create an operating point specification object, and specify which states are known and which are at steady state.

opspec = operspec(sys); opspec.States(1).Known = [1;1]; opspec.States(1).SteadyState = [0;1]; opspec.States(3).Known = [1;1]; opspec.States(3).SteadyState = [0;1]; opspec.States(2).Known = 1; opspec.States(2).SteadyState = 0; opspec.States(4).Known = 0; opspec.States(4).SteadyState = 1;

Trim the model.

op = findop(sys,opspec);

Operating point search report: ---------------------------------

opreport = Operating point search report for the Model scdairframeTRIM. (Time-Varying Components Evaluated at time t=0) Could not find a solution that satisfies all constraints. Relax the constraints to find a feasible solution. States: ---------- Min x Max dxMin dx dxMax __________ __________ __________ __________ __________ __________ (1.) scdairframeTRIM/Airframe Model/EOM/ Equations of Motion (Body Axes)/Position 0 0 0 -Inf 912.5028 Inf -3047.9999 -3047.9999 -3047.9999 0 -194.4931 0 (2.) scdairframeTRIM/Airframe Model/EOM/ Equations of Motion (Body Axes)/Theta 0 0 0 -Inf 0 Inf (3.) scdairframeTRIM/Airframe Model/EOM/ Equations of Motion (Body Axes)/U,w 912.5028 912.5028 912.5028 -Inf 25.3477 Inf -194.4931 -194.4931 -194.4931 0 273.1028 0 (4.) scdairframeTRIM/Airframe Model/EOM/ Equations of Motion (Body Axes)/q -Inf 0 Inf 0 31.1548 0 Inputs: ---------- Min u Max ____ ____ ____ (1.) scdairframeTRIM/delta -Inf 0 Inf Outputs: ---------- Min y Max ________ ________ ________ (1.) scdairframeTRIM/alpha -Inf -0.21 Inf (2.) scdairframeTRIM/V -Inf 933 Inf (3.) scdairframeTRIM/q -Inf 0 Inf (4.) scdairframeTRIM/az -Inf 263.2928 Inf (5.) scdairframeTRIM/gamma -Inf 0.21 Inf

In the operating point search report, the `dx`

values for the specified steady states have zero constraints, as indicated by the `0`

value in parentheses. The optimization search did not find a steady-state operating point, since all three of these states violate the constraints.