bdroot causes problems in MATLAB 2017b

6 次查看(过去 30 天)
Hi,
I have a script that makes use of bdroot multiple times to fetch the top level model. The script works absolutely fine in MATLAB 2015b. We recently migrated our project to MATLAB 2017b. The bdroot command fetchs me the top level model only the first time and there after outputs 'simulink'. Is this a bug in MATLAB 2017b or is there some new feature in this version that changes the bdroot in the background.
Thanks in advance.
Best regards, Vamsi

采纳的回答

Fangjun Jiang
Fangjun Jiang 2018-11-7
Something may have changed from R2015b to R2017b but I would say that your usage of bdroot() for this purpose is not robust. "Simulink" is the opened Simulink library file name. bdroot without input argument could return any root level model name depending on which one is activated.
Use bdroot(block) or bdroot(BlockHandle) to return the root level model name of the selected block. Or, use ModelName=bdroot once when it is certain and pass the ModelName to other places.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Programmatic Model Editing 的更多信息

产品


版本

R2017b

Community Treasure Hunt

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

Start Hunting!

Translated by