Query object for finding blocks that have diagnostic messages regarding their linearization
linqueryHasDiagnostics creates a custom query object for
finding all the blocks in a linearization result that have diagnostic messages regarding
When you linearize a Simulink® model, you can create a
LinearizationAdvisor object that contains diagnostic information about individual
block linearizations. To find block linearizations that satisfy specific criteria, you can use
with custom query objects. Alternatively, you can analyze linearization diagnostics using the
Linearization Advisor in the Model Linearizer. For more information on finding
specific blocks in linearization results, see Find Blocks in Linearization Results Matching Specific Criteria.
creates a query object for finding all the blocks in a
query = linqueryHasDiagnostics
LinearizationAdvisor object that have diagnostic messages
regarding their linearization.
QueryType — Query type
'Has Diagnostics' (default) | character vector
Query type, specified as
Description — Query description
'Blocks that have Linearization Diagnostic
Messages' (default) | character vector
Query description, specified as
'Blocks that have Linearization
Diagnostic Messages'. You can add your own description to the
query object using this property.
After creating a
linqueryHasDiagnostics query object, you can:
Find all the blocks in a
LinearizationAdvisorobject that have diagnostic messages regarding their linearization by using the
linqueryHasDiagnosticsquery directly with the
CompoundQueryobject by logically combining the
linqueryHasDiagnosticsquery with other query objects.
|Find blocks in linearization results that match specific criteria|
Find All Blocks with Linearization Diagnostic Messages
Load the Simulink model.
mdl = 'scdpendulum'; load_system(mdl)
Linearize the model and obtain the
opts = linearizeOptions('StoreAdvisor',true); io = getlinio(mdl); [sys,op,info] = linearize(mdl,io,opts); advisor = info.Advisor;
Create query object, and find all blocks with diagnostic messages regarding their linearization.
qDiag = linqueryHasDiagnostics; advDiag = find(advisor,qDiag)
advDiag = LinearizationAdvisor with properties: Model: 'scdpendulum' OperatingPoint: [1x1 opcond.OperatingPoint] BlockDiagnostics: [1x1 linearize.advisor.BlockDiagnostic] QueryType: 'Has Diagnostics'
You can also create custom queries for finding specific blocks in linearization results using the Linearization Advisor in the Model Linearizer. For more information, see Find Blocks in Linearization Results Matching Specific Criteria.
Introduced in R2017b