Simulink.f​indBlocksO​fType for Multiple Types

10 次查看(过去 30 天)
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
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 个)

类别

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

产品


版本

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by