Matlab 在Simulink中获取多个选定块的句柄

Matlab 在Simulink中获取多个选定块的句柄,matlab,simulink,Matlab,Simulink,是否有任何方法可以使用simulink API获取所有选定块的句柄 假设我使用鼠标选择了几个块,如何使用simulink API以数组或单元格的形式获取所有选定块的句柄 使用gcbh时,它仅给出最近选择的块的句柄 基本上,我想自动生成相应的“从”所有选定的“转到”块块块,反之亦然 Matlab版本:2010b这将为您提供所有选定块的名称: blockNames = find_system('Type', 'Block', 'Selected', 'on') 通过迭代单元格数组并调用get_pa

是否有任何方法可以使用simulink API获取所有选定块的句柄

假设我使用鼠标选择了几个块,如何使用simulink API以数组或单元格的形式获取所有选定块的句柄

使用
gcbh
时,它仅给出最近选择的块的句柄

基本上,我想自动生成相应的“从”所有选定的“转到”块块块,反之亦然


Matlab版本:2010b

这将为您提供所有选定块的名称:

blockNames = find_system('Type', 'Block', 'Selected', 'on')
通过迭代单元格数组并调用
get_param(blockName,'handle')
,您应该能够获得块的句柄:


这并不能直接回答问题,但如果您想自动生成“From”块,我建议您从文件交换中执行以下操作:


我以前使用过它,它工作得很好。

如果您使用的是屏蔽子系统,请确保将
'LookUnderMasks'
设置为
'all'

find_system(gcs, ...
    'SearchDepth'   , 1,...
    'LookUnderMasks', 'all', ...
    'selected'      , 'on');

好的,我打开了一个模型,选择了一些块,运行了上面的命令,得到了一个空矩阵:S
>find_system('Type','Block','selected','on')ans=空单元格数组:0-by-1
似乎是2010b的问题,它在2013a对我有效。很遗憾,我在Matlab 2010b上有我的项目:(+1.在R2012b上对我有效。
'Selected'
的大小写无关紧要,但
'on'
必须是小写。还要注意,如果您只需要当前活动系统的选定块,则需要使用
查找系统(gcs(),'Type',…)
find_system(gcs, ...
    'SearchDepth'   , 1,...
    'LookUnderMasks', 'all', ...
    'selected'      , 'on');