bdroot causes problems in MATLAB 2017b

6 views (last 30 days)
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

Accepted Answer

Fangjun Jiang
Fangjun Jiang on 7 Nov 2018
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.

More Answers (0)

Categories

Find more on Programmatic Model Editing in Help Center and File Exchange

Products


Release

R2017b

Community Treasure Hunt

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

Start Hunting!