Main Content

Compute Steady-State Operating Points

An operating point of a dynamic system specifies the initial states and root-level input signals of the model at a particular time. For more information on operating points, see About Operating Points.

To find steady-state operating points you can use optimization-based searching or simulation snapshots.

Steady-State Operating Point Search (Trimming)

You can compute a steady-state operating point (or equilibrium operating point) using numerical optimization methods to meet your specifications. The resulting operating point consists of the equilibrium state values and corresponding model input levels. A successful operating point search finds an operating point very close to a true steady-state solution.

Use an optimization-based search when you have knowledge about the operating point states and the corresponding model input and output signal levels. You can use this knowledge to specify initial guesses or constraints for the following variables at equilibrium:

  • Initial state values

  • States at equilibrium

  • Maximum or minimum bounds on state values, input levels, and output levels

  • Known (fixed) state values, input levels, or output levels

Your operating point search might not converge to a steady-state operating point when you overconstrain the optimization by specifying:

  • Initial guesses for steady-state operating point values that are far away from the desired steady-state operating point.

  • Incompatible input, output, or state constraints at equilibrium.

You can control the accuracy of your operating point search by configuring the optimization algorithm settings.

Steady-State Operating Point from Simulation Snapshot

You can compute a steady-state operating point by simulating your model until it reaches a steady-state condition. To do so, specify initial conditions for the simulation that are near the desired steady-state operating point.

Use a simulation snapshot when the time it takes for the simulation to reach steady state is sufficiently short. The algorithm extracts operating point values once the simulation reaches steady state.

Simulation-based computations produce poor operating point results when you specify:

  • A simulation time that is insufficiently long to drive the model to steady state.

  • Initial conditions that do not cause the model to reach true equilibrium.

You can usually combine a simulation snapshot and an optimization-based search to improve your operating point results. For example, simulate your model until it reaches the neighborhood of steady state and use the resulting simulation snapshot to define the initial conditions for an optimization-based search.

Note

If your Simulink® model has internal states, do not linearize the model at an operating point you compute from a simulation snapshot. Instead, try linearizing the model using a simulation snapshot or at an operating point from optimization-based search. For more information, see Handle Blocks with Internal State Representation.

Which Model States Must Be at Steady State?

When computing a steady-state operating point, not all states are required to be at equilibrium. A pendulum is an example of a system where it is possible to find an operating point with all states at steady state. However, for other types of systems, there may not be an operating point where all states are at equilibrium, and the application does not require that all operating point states be at equilibrium.

For example, suppose that you build an automobile model for a cruise control application with these states:

  • Vehicle position and velocity

  • Fuel and air flow rates into the engine

If your goal is to study the automobile behavior at constant cruising velocity, you need an operating point with the velocity, air flow rate, and fuel flow rate at steady state. However, the position of the vehicle is not at steady state because the vehicle is moving at constant velocity. The lack of a steady-state position variable is fine for the cruise control application because the position does not have significant impact on the cruise control behavior. In this case, you do not need to overconstrain the optimization search for an operating point by requiring that all states be at equilibrium.

Similar situations also appear in aerospace systems when analyzing the dynamics of an aircraft under different maneuvers.

Choose Operating Point Search Tools

Simulink Control Design™ lets you search for operating points of your Simulink model both programmatically at the command line and interactively using one of two apps.

Search ToolWhen to Use
findop
  • Programmatically compute operating points

  • Compute operating points from specifications

  • Find operating points at simulation snapshots

  • Batch compute operating points for multiple specifications

  • Batch compute operating points for parameter variations

Steady State Manager
  • Interactively compute operating points

  • Compute operating points from specifications

  • Validate operating point search results against specifications

  • Find operating points at simulation snapshots

  • Generate MATLAB® code for computing operating points. This code can be reused for batch computation.

Model Linearizer
  • Interactively find operating points within a linearization context

  • Compute operating points from specifications

  • Find operating points at simulation snapshots

Trimming Using Simulink Control Design Versus Simulink

Simulink provides the trim command for steady-state operating point searches. However, findop in Simulink Control Design provides several advantages over using trim when performing an optimization-based operating point search.

 Simulink Control Design Operating Point Search Operating Point Search
User interfaceYesNo — Only trim is available.
Multiple optimization methodsYesNo — Only one optimization method
Constrain state, input, and output variables using upper and lower boundsYesNo
Specify the output value of blocks that are not connected to root model outportsYesNo
Steady-operating points for models with discrete statesYesNo
Model reference supportYesNo

Simscape™ Multibody™ integration

YesNo

See Also

|

Related Topics