Troubleshooting Linearization Results
If your model does not linearize as expected, you can use the Simulink® Control Design™ troubleshooting tools to diagnose and fix linearization issues. For more information, see Linearization Troubleshooting Overview. When linearizing models in the Model Linearizer or at the command line, you can find blocks in your model that are potentially problematic for linearization. For more information, see Identify and Fix Common Linearization Issues.
Some Simulink blocks can produce poor linearization results. Typically, you must specify custom linearizations for such blocks. For more information, see When to Specify Individual Block Linearization.
|Find blocks that are potentially problematic for linearization|
|Find blocks in linearization results that match specific criteria|
|Highlight linearization path in Simulink model|
|Obtain diagnostic information for block linearizations|
|Obtain list of blocks in |
|Query object for finding blocks that are potentially problematic for linearization|
|Query object for finding all linearized blocks|
|Query object for finding blocks that contribute to the model linearization result|
|Query object for finding blocks that have diagnostic messages regarding their linearization|
|Query object for finding blocks with specified number of inputs|
|Query object for finding blocks with specified number of states|
|Query object for finding blocks with specified number of outputs|
|Query object for finding blocks with specified sample time|
|Query object for finding blocks with at least one input/output pair that linearizes to zero|
|Query object for finding blocks that have custom block linearizations specified|
|Query object for finding blocks of the specified type|
|Query object for finding blocks linearized using their defined exact linearization|
|Query object for finding blocks linearized using numerical perturbation|
|Query object for finding blocks that are on the linearization path|
|Query object for finding blocks that linearize to zero|
|Diagnostic information for troubleshooting linearization results|
|Diagnostic information for individual block linearization|
|Operating point at which block is linearized|
|Complex query object for finding specific blocks in linearization results|
If you do not get expected results when you linearize your Simulink model, you can diagnose and fix potential linearization issues using Simulink Control Design troubleshooting tools.
Troubleshoot Simulink model linearizations using the Linearization Advisor.
- Troubleshoot Linearization Results in Model Linearizer
- Troubleshoot Linearization Results at Command Line
- Find Blocks in Linearization Results Matching Specific Criteria
- Block Linearization Troubleshooting
Large Simulink models and blocks with complex initialization functions can cause slow linearization.
Custom Block Linearizations
Some Simulink blocks, including those with sharp discontinuities, can produce poor linearization results. Typically, you must specify custom linearizations for such blocks.
- Specify Linear System for Block Linearization Using MATLAB Expression
- Specify D-Matrix System for Block Linearization Using Function
- Augment Block Linearization
You can specify a custom linearization for a Simulink block or subsystem that cannot be linearized.
You can use System Identification Toolbox™ software to identify a linear system for a model component that does not linearize well, and use the identified system to specify its linearization.
Blocks that do not have preprogrammed analytic Jacobians linearize using numerical perturbation. You can change the perturbation level for your application, which changes the linearization results.
Models and Blocks with Special Characteristics
Subsystems that contain PWM signals do not linearize well due to discontinuities in the signal.
You can linearize models using exact representations or Padé approximations of continuous-time delays.
You can linearize a Simulink model that contains blocks with different sample times.
Since linearization occurs at a specific moment in time, the trigger event for an externally scheduled subsystem never happens.
Blocks that have non-floating-point signals or states and have no preprogrammed exact linearization automatically linearize to zero. Linearizing such blocks requires converting all signals to double precision.
You can linearize models with Simscape™ components using Simulink Control Design software.