Simulink.f​indBlocksO​fType for Multiple Types

The function Simulink.findBlocksOfType finds blocks of one type (e.g. 'Mux') in a Simulink subsystem or model. Is there a direct way to find a set of blocks of multiple types (e.g. 'Mux' and 'Demux') in a model? I tried passing a cell array with two values:
blockhandles = Simulink.findBlocksOfType(sys, {'Mux', 'Demux'});
However, this resulted, as was to be expected based on the Simulink.findBlocksOfType help, in an error message:
Error using Simulink.internal.findBlocksOfType
Invalid input for argument 2 (rhs2):
Value must be a character vector or string scalar.
Thus, is there a way to do a single search for multiple block types in the spirit of the attempt above, or do I need to repeat the search for each individual block type?

 採用された回答

Fangjun Jiang
Fangjun Jiang 2019 年 10 月 28 日

0 投票

vdp;
Option=Simulink.FindOptions('RegExp',true);
Simulink.findBlocks('vdp', 'BlockType','Gain|Outport',Option)

1 件のコメント

Gerrit
Gerrit 2019 年 11 月 1 日
I see you're having me look into 'regular expressions' now; every day is a school day. It works well, so thanks!

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

その他の回答 (0 件)

カテゴリ

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

製品

リリース

R2018b

質問済み:

2019 年 10 月 28 日

コメント済み:

2019 年 11 月 1 日

Community Treasure Hunt

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

Start Hunting!

Translated by