How to get list of constant blocks in model and its default value in Matlab?

50 views (last 30 days)
I would like to see the names of all the constant blocks in my model along with its default values, is there any way to get it?

Accepted Answer

Stephen
Stephen on 30 Aug 2018
I would recommend you investigate the "find_system" function in the help files.
The first command you need is likely some variant of:
constantBlocks = find_system(bdroot,'LookUnderMasks','all','BlockType','Constant');
I'm not certain what you mean by the "default" values of the constant blocks. But the find_system command will give you a list of constant blocks, which you can cycle through access the strings in the "Value" parameter on each block, if that's what you're looking for.
numConstant = size(constantBlocks,1);
blockValues = cell(numConstant,1);
for ptr = 1:numConstant
blockValues{ptr} = get_param(constantBlocks{ptr},'Value');
end
From there, you should be able to see the value, or evaluate the parameter assigned to the value.
  2 Comments
Vamsee Nama
Vamsee Nama on 30 Aug 2018
Thanks, I was using third party Block sets where the constant blocks have a parameter called default value, I was able to extract the values also by modifying a bit of your code.
Mahalakshmi Sivakumar
Mahalakshmi Sivakumar on 2 Mar 2021
do i need to insert any piece of code before this scripts because I got error kindly help me

Sign in to comment.

More Answers (1)

Akhlaq Ahmad
Akhlaq Ahmad on 17 Apr 2022
100x^2+20xy+13y^2 now how can I get only constant in term of matrix or

Categories

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

Tags

Community Treasure Hunt

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

Start Hunting!