Main Content

Identify and Fix Common Linearization Issues

如果你的线性化的结果并不如预期,you can identify common linearization issues using the Linearization Advisor. The Linearization Advisor collects diagnostic information regarding individual block linearizations. Using this information, you can:

  • View linearization details and operating points for each linearized block in your model.

  • Identify potentially problematic blocks that cause common linearization issues.

  • Determine which blocks are on and off the linearization path and which blocks contribute to the model linearization result.

  • Search linearization results for blocks that meet specified criteria.

Enable Linearization Advisor

Since collecting diagnostic information adds linearization overhead, the Linearization Advisor is disabled by default. To collect diagnostic information, you must enable the Linearization Advisor before you linearize your model.

To enable the Linearization Advisor, in theModel Linearizer, on theLinear Analysistab, selectLinearization Advisor.

When you select this option and linearize your model, the software opens anAdvisortab for troubleshooting your linearization results.

Tip

To make viewing the diagnostic information easier, you can minimize the data browser.

On theAdvisortab, you can gain insight into your model linearization by querying the diagnostic information. To do so, use the built-in queries in theQueriessection, or create custom queries in theManage Queriessection.

When you run a query, the navigation tree lists the linearized blocks in your model that match the query search criteria. The tree structure reflects the model hierarchy.

To view a table of all blocks that match the search criteria, in the navigation tree, click the top-level model name. You can also view all blocks in a subsystem that satisfy the query by clicking the subsystem name. Each entry in the table summarizes the linearization diagnostics for a single block.

To view detailed diagnostic information for a block in a table, in the corresponding row, clickBlock Info. You can troubleshoot the block linearization using the detailed diagnostic information. For more information, seeBlock Linearization Troubleshooting.

For an example of interactive troubleshooting using the Linearization Advisor, seeTroubleshoot Linearization Results in Model Linearizer.

Tip

If you close theAdvisortab for a given linearization, you can reopen it from thePlots and Resultstab.

In theLinear Analysis Workspace, select the linearized model you want to troubleshoot. Then, clickView Advisor. This option is only available if you enabled the Linearization Advisor before linearizing the model.

You can also create aLinearizationAdvisorobject when you linearize models at the command line. You can then troubleshoot the linearization results using theadviseandfindfunctions. For an example, seeTroubleshoot Linearization Results at Command Line.

Blocks That Are Potentially Problematic for Linearization

As a starting point for troubleshooting, the Linearization Advisor searches the linearization diagnostic information for blocks that can cause common linearization issues. These potentially problematic blocks are on the linearization path and satisfy at least one of the following criteria.

Criteria Description
Blocks with linearization diagnostic messages Diagnostic messages indicate blocks with configurations or linearizations that correspond to common linearization problems.
Blocks that linearize to zero Blocks with zero linearizations do not contribute to the linearization result and can remove other blocks from the linearization result.
Blocks with substituted linearizations Errors in defining substitute linearizations can be difficult to diagnose.

For more information on the linearization path, seeLinearization Path.

In theModel Linearizer, the diagnostic information for these blocks is listed on theAdvisortab when the tab first opens. Also, to access this diagnostic information at any time, in theQueriessection, clickLinearization Advice.

You can troubleshoot the linearizations of these blocks using the Linearization Advisor. For more information on troubleshooting block linearizations using diagnostic information, seeBlock Linearization Troubleshooting.

At the command line, theadvisefunction returns diagnostic information for these blocks.

Blocks with Linearization Diagnostic Messages

Linearization diagnostic messages indicate blocks with properties or linearizations that correspond to common linearization problems. Fixing linearization issues identified in diagnostic messages is a good first step when troubleshooting your linearization.

Some block configurations that can generate diagnostic messages include:

  • Blocks with non-floating-point input or output signals and no predefined exact linearization. Such blocks linearize to zero and generate diagnostic messages.

  • Discontinuous blocks linearized at an operating point near a discontinuity. If such blocks are not treated as a gain during linearization, the software can generate diagnostic messages regarding their linearization.

  • Blocks with least one input/output pair that linearizes to zero which causes a zero input/output pair in the overall model linearization.

  • Blocks that do not support linearization because they do not have a predefined exact linearization and do not support numerical perturbation.

Some diagnostic messages propose solutions to their corresponding linearization issues. For example, when an input signal is outside the saturation limits of aSaturationblock, the diagnostic message proposes treating the block as a gain during linearization.

Blocks That Linearize to Zero

A common cause of linearization issues is a block that unexpectedly linearizes to a gain of zero. To diagnose the cause of a zero block linearization, you can consider:

  • Any corresponding diagnostic messages. These messages can highlight common causes of zero linearizations and propose potential solutions.

  • The block operating point; that is the values of the block states and inputs at the model operating point used for linearization. For example, if the input to a saturation block is outside the block saturation limits, and the block is not configured to linearize as a gain, the block linearizes to zero.

  • The block parameters. For example, if a block is configured to use non-floating-point inputs or states and is linearized using numerical perturbation, it linearizes to zero.

A zero block linearization does not necessarily indicate a linearization problem; that is, you may expect a block to linearize to zero under the expected operating conditions of the model. For example, if aTrigonometric Fcnblock is configured as asinfunction and the input value isπ/2at the model operating point, then the block linearizes to zero.

Blocks with Substituted Linearizations

Errors in defining a custom block linearization can be difficult to diagnose. After fixing issues related to diagnostic messages and zero linearizations, if your model still does not linearize as expected, verify that any substituted block linearizations in your model are correct.

For more information on specifying substitute block linearizations, seeWhen to Specify Individual Block Linearization.

Find Specific Blocks in Linearization Results

If your model still does not linearize as you expect after fixing linearization issues related to potentially problematic blocks, you can query the Linearization Advisor for additional block diagnostic information. You can gain insight into your model linearization using this information. For example, you can investigate:

  • Blocks that are linearized using numerical perturbation.

  • Sampling rates of block linearizations in multirate models by finding blocks with a specified sample time.

  • Blocks that have delays that can cause linearization issues.

  • Blocks that are not on the linearization path.

For more information, seeFind Blocks in Linearization Results Matching Specific Criteria.

Linearization Path

The linearization path is the graphical connection in the Simulink®model from the linearization inputs to the linearization outputs. A block is on the linearization path if at least one linearization input is connected to at least one linearization output through that block. For more information on specifying linearization inputs and outputs, seeSpecify Portion of Model to Linearize.

When a block is on the linearization path, its linearization can contribute to the overall model linearization. Blocks that linearize to zero do not contribute to the model linearization and can prevent branches of the linearization path from contributing to the model linearization.

Blocks that are not on the linearization path can still affect the linearization of other blocks, and therefore the model linearization, by modifying the operating points or parameters of the other blocks. For example, consider the followingProductblock that is on the linearization path (highlighted in blue):

The constant block is not on the linearization path. However, the value of the constant affects the operating point of theProductblock, which in turn affects the linearization from the first input of theProductblock to the output.

Highlight Linearization Path

线性化形象化块路径和视图s that contribute to the model linearization, you can highlight the linearization path in the Simulink model using the Linearization Advisor. A block is on the linearization path if there is a signal path from at least one linearization input to at least one linearization output that passes through the block.

After you linearize your model with the Linearization Advisor enabled, to highlight the linearization path, in theModel Linearizer, on theAdvisortab, clickHighlight Linearization Path.

The software highlights the linearization path in the model, showing which blocks are on the path and which blocks contribute to the model linearization. Blocks highlighted in:

  • Blue are on the linearization path and numerically influence the model linearization.

  • Red are on the linearization path, but have no influence on the model linearization due to at least one block on the linearization path that is linearized to zero.

  • Gray are not on the linearization path and do not contribute to the model linearization.

To turn off the highlighting, close the Linearization path dialog box.

You can also highlight the linearization path from the command line using thehighlightfunction.

Troubleshoot Batch Linearizations

If you linearize your model at multiple operating points, you can troubleshoot each resulting linear model using Linearization Advisor.

After batch linearizing the model, on theAdvisortab, in theSelect Operating Pointdrop-down list, select the operating point for which you want to troubleshoot the linearization.

If you batch linearized your model using:

  • Parameter variation, the linearization summary shows the parameter values that correspond to the selected operating point.

  • Multiple simulation snapshot times, the linearization summary shows the time at which the model was linearized.

  • Multiple trimmed operating points, the linearization summary does not show additional information about the operating point. To view details about the operating points, on theLinear Analysistab, in theOperating Pointdrop-down list, select the operating point array used for linearization. In the same drop-down list, selectEdit.

    Then, in the Edit dialog box, in theSelect Operating Pointdrop-down list, select an operating point. The location of the operating point in this drop-down list corresponds to the location in the drop-down list on theAdvisortab.

See Also

Apps

Functions

Related Topics