Accelerating the pace of engineering and science

# linoptions

Set options for linearization and finding operating points

 Note:   linoptions will be removed in a future version. Instead, use: linearizeOptions — Create options for commands that perform linearization, such as linearize, slLinearizer, slTuner, and linlft.findopOptions — Create options for operating point searches using findop.

## Syntax

opt=linoptions
opt=linoptions('Property1','Value1','Property2','Value2',...)

## Alternatives

As an alternative to the linoptions function, set options for linearization and finding operating points in the Simulink® Control Design™ GUI.

## Description

opt=linoptions creates a linearization options object with the default settings. The variable, opt, is passed to the functions findop and linearize to specify options for finding operating points and linearization.

opt=linoptions('Property1','Value1','Property2','Value2',...) creates a linearization options object, opt, in which the option given by Property1 is set to the value given in Value1, the option given by Property2 is set to the value given in Value2, etc. The variable, opt, is passed to the functions findop and linearize to specify options for finding operating points and linearization.

The following options can be set with linoptions:

LinearizationAlgorithm

Set to 'numericalpert' to enable numerical-perturbation linearization (as in Simulink 3.0 software) where root-level inports and states are numerically perturbed. Linearization annotations are ignored and root-level inports and outports are used instead.

Default is 'blockbyblock'.

SampleTime

The time at which the signal is sampled. Nonzero for discrete systems, 0 for continuous systems, -1 (default) to use the longest sample time that contributes to the linearized model.

UseFullBlockNameLabels

Set to 'off' (default) to use truncated names for the linearization I/Os and states in the linearized model. Set to 'on' to use the full block path to name the linearization I/Os and states in the linearized models.

UseBusSignalLabels

Set to 'off' (default) to use bus signal channel number to label I/Os on bus signals in your linearization results. Set to 'on' to use bus signal names to label I/Os on bus signals in your linearization results. Bus signal names appear in the results when the I/O points are located at the output of the following blocks:
• Root-level inport block containing a bus object

• Bus creator block

• Subsystem block whose source traces back to one of the following:

• Output of a bus creator block

• Root-level inport by passing through only virtual or nonvirtual subsystem boundaries

 Note:   You cannot use this option when your model has mux/bus mixtures. For information on how to avoid buses used as muxes, see Prevent Bus and Mux Mixtures in the Simulink documentation.

BlockReduction

Set to 'on' (default) to eliminate from the linearized model those blocks that are not in the path of the linearization. Block reduction eliminates the states of blocks in dead linearization paths from your linearization results. Some examples of dead linearization paths are linearization paths that include:

• Blocks that linearize to zero

• Switch blocks that are not active along the path

• Disabled subsystems

• Signals marked as open-loop linearization points

The linearization result of the model shown in the following figure includes only two states. It does not include states from the two blocks outside the linearization path. These states do not appear because these blocks are on a dead linearization path with a block that linearizes to zero (the zero gain block).

Set to 'off' to return a linearized model that includes all of the states of the model.

IgnoreDiscreteStates

Set to 'on' when performing continuous linearization (SampleTime set to 0) to remove any discrete states from the linearization and accept the D value for all blocks with discrete states. Set to 'off' (default) to include discrete states.

RateConversionMethod

When you linearize a multirate system, set this option to one of the following rate conversion methods:

• 'zoh' (default) to use the zero order rate conversion method

• 'tustin' to use the Tustin (bilinear) method

• 'prewarp' to use the Tustin approximation with prewarping

• 'upsampling_zoh' to upsample discrete states when possible and to use 'zoh' otherwise

• 'upsampling_tustin' to upsample discrete states when possible and to use 'tustin' otherwise

• 'upsampling_prewarp' to upsample discrete states when possible and to use 'prewarp' otherwise

 Note:   When you select 'prewarp' or 'upsampling_prewarp', set the PreWarpFreq option to the desired prewarp frequency.
 Note:   You can only upsample when you convert discrete states to a new sample time that is an integer-value-times faster than the sampling time of the original system.

For more information, and examples, on methods and algorithms for rate conversions and linearization of multirate models, see:

PreWarpFreq

The critical frequency Wc (in rad/sec) used by the 'prewarp' option when linearizing a multirate system.

UseExactDelayModel

Set to 'on' to return a linear model with an exact delay representation. Set to 'off' (default) to return a model with approximate delays.

NumericalPertRel

Set the perturbation level for obtaining the linear model (default value is 1e-5). The perturbation of the system's states is specified by:

$\text{NumericalPertRel}+{10}^{-3}×\text{NumericalPertRel}×|x|$

The perturbation of the system's inputs is specified by:

$\text{NumericalPertRel}+{10}^{-3}×\text{NumericalPertRel}×|u|$

NumericalXPert

Individually set the perturbation levels for the system's states using an operating point object. Use the operpoint function to create an operating point object for the model.

NumericalUPert

Individually set the perturbation levels for the system's inputs using an operating point object. Use the operpoint function to create an operating point object for the model.

OptimizationOptions

Set options for use with the optimization algorithms. These options are the same as those set with optimset. For more information on these algorithms, see the Optimization Toolbox™ documentation.

OptimizerType

Set optimizer type to be used by trim optimization if the Optimization Toolbox software is installed. The available optimizer types are:

• graddescent_elim, the default optimizer, enforces an equality constraint to force the time derivatives of states to be zero (dx/dt=0, x(k+1)=x(k)) and the output signals to be equal to their specified ‘Known' value. The optimizer fixes the states, x, and inputs, u, that are marked as ‘Known' in an operating point specification and then optimizes the remaining variables.

• graddescent, enforces an equality constraint to force the time derivatives of states to be zero (dx/dt=0, x(k+1)=x(k)) and the output signals to be equal to their specified ‘Known' value. findop also minimizes the error between the states, x, and inputs, u, that are marked as ‘Known' in an operating point specification. If there are not any inputs or states marked as ‘Known', findop attempts to minimize the deviation between the initial guesses for x and u and their trimmed values.

• lsqnonlin fixes the states, x, and inputs, u, that are marked as 'Known' in an operating point specification and optimizes the remaining variables. The algorithm then tries to minimize both the error in the time derivatives of the states (dx/dt=0, x(k+1)=x(k)) and the error between the outputs and their specified 'Known' value.

• simplex uses the same cost function as lsqnonlin with the direct search optimization routine found in fminsearch.

See the Optimization Toolbox documentation for more information on these algorithms. If you do not have the Optimization Toolbox software, you can access the documentation at http://www.mathworks.com/support/.

DisplayReport

Set to 'on' to display the operating point summary report when running findop. Set to 'off' to suppress the display of this report.