Get the Model's Sorted Execution Order Programmatically

Hello, I can display the Sorted Execution Order of a model as described at [1]. Is there a way to obtain the very same information programmatically from the command line in some "manipulable" form (e.g., cell array of strings in sorted order notation [2], etc.)?
get_param(gcs,'SortedOrder') is not what I want, because it enables the display of the sorted order on the diagram.
The sldebug/slist combination [3] displays the answer on the Matlab's console (basically at this point, I'd need to redirect the output to a variable to read/interpret it; any hint?).
Any other idea/approach?

1 件のコメント

Nesredin Mahmud
Nesredin Mahmud 2017 年 1 月 17 日
hello,
Unfortunately, I am also like you, looking for a similar functionality. Thank you for raising the question :)
Best, /Nas

サインインしてコメントする。

回答 (1 件)

Mark Lin
Mark Lin 2018 年 4 月 11 日

1 投票

Can we try using:
sortedlist = get_param(bdroot, 'SortedList');
While this will not give the s:b format as displayed in the model. It will return a vector of block handles with b - 1 as indices.
If you want to inspect the sort order of an Atomic Subsystem in your bdroot then give the handle of that subsystem instead of bdroot:
sortedlist_of_asys = get_param(gcbh, 'SortedList');

2 件のコメント

Jianfei
Jianfei 2024 年 3 月 29 日
Strange. Some of the output handles are not valid ...
Mukund Iyer
Mukund Iyer 2026 年 7 月 3 日 20:15
You can use ishandle command to remove invalid block handles.
sortedList = sortedList(ishandle(sortedList));
However, beware! 'SortedList' property is present only for SubSystems and not for any block types including Virtual Subsystems. Also make sure to run this once on the model:
set_param(bdroot,'SimulationCommand','update');

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeProgrammatic Model Editing についてさらに検索

質問済み:

2014 年 11 月 3 日

コメント済み:

2026 年 7 月 3 日 20:15

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by