Documentation Center 
Operating point specifications
opspec = operspec(sys)
opspec = operspec(sys) returns the operating point specifications object for steady state operating point analysis using findop. The Simulink^{®} model must be open.
opspec 
Operating point specification object. After creating the operating point object, you can modify the operating point states and input levels. For example, opspec.States(1).Known = 1 specifies that the first model state value is known, and the value of the known state opspec.States(1).x = 2. The operating point object has these properties:

SteadyState Operating Point (Trimming) From Specifications
This example shows how to use findop to compute an operating point of a model from specifications.
Open Simulink model.
sys = 'watertank';
load_system(sys);
Create operating point specification object.
opspec = operspec(sys)
By default, all model states are specified to be at steady state.
Operating Specification for the Model watertank. (TimeVarying Components Evaluated at time t=0) States:  (1.) watertank/PID Controller/Integrator spec: dx = 0, initial guess: 0 (2.) watertank/WaterTank System/H spec: dx = 0, initial guess: 1 Inputs: None  Outputs: None 
operspec extracts the default operating point of the Simulink model with two states. The model does not have any rootlevel inport blocks and no rootlevel outport blocks or output constraints.
Configure specifications for the first model state.
opspec.States(1).SteadyState = 1; opspec.States(1).x = 2; opspec.States(1).Min = 0;
The first state must be at steady state and have an initial value of 2 with a lower bound of 0.
Configure specifications for the second model state.
opspec.States(2).Known = 1; opspec.States(2).x = 10;
The second state sets the desired height of the water in the tank at 10. Configuring the height as a known value keeps this value fixed when computing the operating point.
Find the operating point that meets these specifications.
[op,opreport] = findop(sys,opspec) bdclose(sys);
opreport describes how closely the optimization algorithm met the specifications at the end of the operating point search.
Operating Report for the Model watertank. (TimeVarying Components Evaluated at time t=0) Operating point specifications were successfully met. States:  (1.) watertank/PID Controller/Integrator x: 1.26 dx: 0 (0) (2.) watertank/WaterTank System/H x: 10 dx: 0 (0) Inputs: None  Outputs: None 
dx indicates the time derivative of each state. The actual dx values of zero indicate that the operating point is at steady state. The desired dx value is in parentheses.
Initialize SteadyState Operating Point Search Using Simulation
This example shows how to use findop to compute an operating point of a model from specifications, where the initial state values are extracted from a simulation snapshot.
Open Simulink model.
sys = 'watertank'; load_system(sys);
Extract an operating point from simulation after 10 time units.
opsim = findop(sys,10);
Create operating point specification object.
By default, all model states are specified to be at steady state.
opspec = operspec(sys);
Configure initial values for operating point search.
opspec = initopspec(opspec,opsim);
Find the steady state operating point that meets these specifications.
[op,opreport] = findop(sys,opspec) bdclose(sys);
opreport describes the optimization algorithm status at the end of the operating point search.
Operating Report for the Model watertank. (TimeVarying Components Evaluated at time t=0) Operating point specifications were successfully met. States:  (1.) watertank/PID Controller/Integrator x: 1.26 dx: 0 (0) (2.) watertank/WaterTank System/H x: 10 dx: 1.1e014 (0) Inputs: None  Outputs: None 
dx, which is the time derivative of each state, is effectively zero. This value of the state derivative indicates that the operating point is at steady state.
Operating Point (Trim Analysis) With Output Constraint
This example shows how to use addoutputspec to specify an output constraint to the operating point specification object for computing the operating point.
Open Simulink model.
sys = 'scdspeed'; load_system(sys);
Create operating point specification object.
opspec = operspec(sys)
By default, opspec specifies that the operating point is at steady state, or equilibrium.
Operating Specification for the Model scdspeed. (TimeVarying Components Evaluated at time t=0) States:  (1.) scdspeed/Throttle & Manifold/Intake Manifold/p0 = 0.543 bar spec: dx = 0, initial guess: 0.543 (2.) scdspeed/Vehicle Dynamics/w = T//J w0 = 209 rad//s spec: dx = 0, initial guess: 209 Inputs:  (1.) scdspeed/Throttle perturbation initial guess: 0 Outputs: None 
operspec extracts the default operating point of the Simulink model with two states and one rootlevel inport block. There are no rootlevel outport blocks or output constraints.
Fix the first output port of the Vehicle Dynamics to 2000 RPM.
opspec = addoutputspec(op_spec,'scdspeed/rad//s to rpm',1); opspec.Outputs.Known = 1; opspec.Outputs.y = 2000;
Find the operating point that meets this specification.
op = findop(sys,op_spec)
Operating Point Search Report:  Operating Report for the Model scdspeed. (TimeVarying Components Evaluated at time t=0) Operating point specifications were successfully met. States:  (1.) scdspeed/Throttle & Manifold/Intake Manifold/p0 = 0.543 bar x: 0.544 dx: 2.66e013 (0) (2.) scdspeed/Vehicle Dynamics/w = T//J w0 = 209 rad//s x: 209 dx: 8.48e012 (0) Inputs:  (1.) scdspeed/Throttle perturbation u: 0.00382 [Inf Inf] Outputs:  (1.) scdspeed/rad//s to rpm y: 2e+003 (2e+003)