有两个方法:
方法一:Simulink.BlockDiagram.getInitialState 命令
这里有一个例子:
open_system(docpath(fullfile(docroot, 'toolbox','simulink','examples','ex_execution_order')))
model = gcs;
states = Simulink.BlockDiagram.getInitialState(model);
if ~isempty(states)
for n=1:length(states.signals)
if strcmp(states.signals(n).label,'CSTATE')
states.signals(n).blockName
end
end
end
执行后的结果为:
'ex_execution_order/car dynamics/Integrator'
即,这个积分模块是模型中唯一的连续模块
方法二:sldebug和states命令
这里有一个例子:
open_system(docpath(fullfile(docroot, 'toolbox','simulink','examples','ex_execution_order')))
sldebug(gcs)
此时模型会进入debug模式,继续执行 states,会显示:
(sldebug @0): >> states
Continuous States for 'ex_execution_order':
等等内容,根据 Continuous States 的信息可知,积分模块是模型中唯一的连续模块。