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.
openExample("scdairframeTRIM")
alpha_ini = -0.21;
v_ini = 933;
To open 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 initial specifications in 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 Linear Analysis Workspace, double-click the operating point.
In the Edit dialog box, the three constraint violations are highlighted in red.
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.