Main Content

Choose Batch Linearization Methods

Simulink® Control Design™ software provides multiple tools and methods for batch linearization. Which tool and method you choose depends on your application requirements and software preferences. The following table describes the batch linearization workflows supported by Simulink Control Design software.

Application DescriptionOperating Point Computation OptionsLinearization Workflow

Your model has more than one operating condition that does not depend on any varying model parameters. Use this approach when the model operating conditions depend only on the model states and inputs.

  • Batch trim your model for multiple operating point specifications, using a single model compilation when possible. Batch trimming is not supported in the Model Linearizer.

  • Trim the model separately for each operating point specification, which requires multiple model compilations. Use this option with the Model Linearizer.

  • Compute operating points at multiple simulation snapshot times.

  1. Compute operating points.

  2. Batch linearize the model at all operating points.

For an example, see:

Your model has a single operating condition, and you want to linearize the model at this operating point for varying model parameters. Examples of such an application include:

  • Studying the effect of component tolerances on model dynamics.

  • Examining controller robustness to variations in plant parameters.

  • Trim the model for a single operating point specification.

  • Compute an operating point at a simulation snapshot time.

  1. Compute operating point.

  2. Define parameter values for linearization.

  3. Batch linearize the model at the computed operating point for the specified parameter variations.

For an example, see:

Your model has multiple operating conditions that depend on the values of varying model parameters. Use this approach when creating linear time-varying (LTV) models.

  • Batch trim your model for the varying parameter values, using a single model compilation when possible. Batch trimming is not supported in the Model Linearizer.

  • Trim the model separately for each parameter value combination, which requires multiple model compilations. Use this option with the Model Linearizer.

  • Compute an operating point at a simulation snapshot for each parameter value combination.

  1. Define parameter values for trimming.

  2. Compute operating points for the specified parameter value variations.

  3. Batch linearize the model at the computed operating points using the corresponding parameter value combinations.

For an example, see:

In addition to varying operating points and model parameters, you can obtain multiple transfer functions from your system by varying the linearization I/O configuration using an slLinearizer interface. You can do so for a model with a single operating point and no parameter variation, and also for any of the batch linearization options in the preceding table. For more information, see Vary Operating Points and Obtain Multiple Transfer Functions Using slLinearizer Interface and Vary Parameter Values and Obtain Multiple Transfer Functions.

Choose Batch Linearization Tool

You can perform batch linearization using the Model Linearizer or at the MATLAB® command line using either the linearize function or an slLinearizer interface. Use the following table to choose a batch linearization tool.

Reasons to Use Model LinearizerReasons to Use linearizeReasons to Use slLinearizer
  • You are new to Simulink Control Design software.

  • You have experience with the Model Linearizer.

  • You do not want to batch trim your model, which is not supported in the Model Linearizer.

  • You are new to Simulink Control Design or have experience with Model Linearizer, and you prefer to work at the command line or in a repeatable script.

    The workflow for using linearize closely mirrors the workflow for linearizing models using the Model Linearizer. When you generate MATLAB code from the Model Linearizer to reproduce your session programmatically, this code uses linearize. You can easily modify this code to batch linearize a model.

  • You are extracting linearizations for a single transfer function; that is, only one I/O set.

  • You want to obtain multiple open-loop and closed-loop transfer functions without modifying the model or creating a linearization I/O set (using linio) for each transfer function.

  • You want to obtain multiple open-loop and closed-loop transfer functions without recompiling the model for each transfer function.

    You can also obtain multiple open-loop and closed-loop transfer functions using linearize or the Model Linearizer. However, the software recompiles the model each time you change the I/O set.

Related Topics