Use set_param () to change the value of one parameter of multiple blocks without using a for-loop
4 ビュー (過去 30 日間)
古いコメントを表示
Is there any alternative to this code?
v = find_system(model,'BlockType','Constant')
for k = 1:length(v)
set_param(v{k},'Value','0')
end
I'm working with a very large model and this code is very inefficient (more than 1 hour).
I would like to avoid the use of the for-loop, setting all the values at the same time. Is it possible?
0 件のコメント
回答 (1 件)
Monika Jaskolka
2017 年 12 月 7 日
The only alternative that I am aware of is using arrayfun like so:
arrayfun(@(x) set_param(v, 'Value', '0'), v)
However, arrayfun is slower than a for loop (see https://www.mathworks.com/matlabcentral/answers/42335-array-cellfun-vs-for-loop).
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Programmatic Model Editing についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!