Avoid searching the commented out logic seach in Stateflow API.
1 次查看(过去 30 天)
显示 更早的评论
I'm using a script to find all the parameters used in Stateflow logic of the model.
rt = sfroot;
m= rt.find('-isa','Stateflow.Chart'); % If not used in Simulink , Check in stateflow
params_sf = m.find('-isa', 'Stateflow.Data','Name',c_name);
*c_name - has the parameter name
But the only issue in this finds the parameters which are involved also in commented out statecharts.
How can i avoid searching in Commented out statecharts ??
0 个评论
采纳的回答
Uday Pradhan
2020-12-14
Hi Arjun,
According to my understanding, you want ignore the charts that are commented in the Stateflow logic of your model. To do this, you can create a custom filtering function to be used along with "find". Example:
f = @(h) (strcmp(get_param(h.path,'Commented'),'off')); %for the chart, return true if it is not commented
m = rt.find('-isa','Stateflow.Chart','-and','-function',f); %only returns those charts which are uncommented
I hope this helps!
7 个评论
Uday Pradhan
2020-12-14
get_param(blockName,'Commented') returns 'on' or 'off' according to if the block is commneted or not. So I used this property to check if a chart if commented or not. In its present form:
f = @(rt)(strcmp(get_param(rt,'Commented'),'off'));%for the chart, return true if it is not commented
m = rt.find('-isa','Stateflow.Chart','-and','-function',f);
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!