Rapid Stateflow.Transition finding
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Is there a rapid way to find all the 'Stateflow.Transition' from a state A, to a state B?
0 Kommentare
Akzeptierte Antwort
Siddharth
am 30 Mai 2013
You can do that using a simple MATLAB script using the Stateflow API. Find the Stateflow API below: http://www.mathworks.com/help/stateflow/programmatic-manipulation.html
Here is a simple example that looks for transitions between the states "upshifting" and "steady_state". To run the example, open the model sf_car and run the following code:
rt = sfroot;
transArray = rt.find('-isa','Stateflow.Transition');
len_transarray = length(transArray);
x = zeros(len_transarray,1);
y = zeros(len_transarray,1);
for i = 1: len_transarray
if ~isempty(strfind(get(get(transArray(i),'Source'),'LabelString'),'upshifting'))
x(i) = i;
end
if ~isempty(strfind(get(get(transArray(i),'Destination'),'LabelString'),'steady_state'))
y(i) = i;
end
end
output = transArray(find(x>0 & y > 0))
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Stateflow finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!