Linearize the model and obtain the LinearizationAdvisor object.
opts = linearizeOptions('StoreAdvisor',true);
io(1) = linio('scdspeed/throttle (degrees)',1,'input');
io(2) = linio('scdspeed/rad//s to rpm',1,'output');
[sys,op,info] = linearize(mdl,io,opts);
advisor = info.Advisor;
Create compound query object for finding all blocks with one input and one output.
qSISO = linqueryHasInputs(1) & linqueryHasOutputs(1);
Find all SISO blocks using compound query object.
advSISO = find(advisor,qSISO)
advSISO =
LinearizationAdvisor with properties:
Model: 'scdspeed'
OperatingPoint: [1x1 opcond.OperatingPoint]
BlockDiagnostics: [1x10 linearize.advisor.BlockDiagnostic]
QueryType: '(Has 1 Inputs & Has 1 Outputs)'
Obtain Diagnostics for Potentially Problematic Blocks
Load Simulink model.
mdl = 'scdpendulum';
load_system(mdl)
Linearize the model and obtain LinearizationAdvisor object.
io = getlinio(mdl);
opt = linearizeOptions('StoreAdvisor',true);
[linsys,~,info] = linearize(mdl,io,opt);
advisor = info.Advisor;
Find blocks that are potentially problematic for linearization.
blocks = advise(advisor);
LinearizationAdvisor