# 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.

## See Also

Was this topic helpful?

Get trial now