Main Content

delete_block

Simulink 系统中删除模块

说明

delete_block(blockArg) 从系统中删除指定的模块。在删除模块之前,请打开系统。

示例

示例

全部折叠

您可以使用具有以下输入参量之一的 delete_block 函数以编程方式从库中删除模块:

  • 包括模块名称的完整模块路径,例如 'myModel/mySubsystem/myblock'

  • 模块句柄

此示例说明如何使用完整模块路径以编程方式删除模块。

删除一个模块

f14 模型中删除俯仰速率滤波器。

打开示例。然后,加载或打开该模型。

open_system('f14')

假设您不知道完成此任务所需的模块的确切名称或模块在模型中的位置。

使用 find_system 函数获取 f14 模型中所有模块的完整模块路径。

Paths=find_system('f14','Type','Block');

将结果缩小到包含单词 filterFilter 的路径。

FilterPaths=Paths(contains(Paths,{sprintf('Filter'),sprintf('filter')}));
disp(FilterPaths)
    {'f14/Controller/Alpha-sensor...'}
    {'f14/Controller/Pitch Rate...'  }
    {'f14/Controller/Stick...'       }

指定一个包含多行的完整模块路径时,请用空格指定到新行的转换。俯仰速率滤波器的完整模块路径是 'f14/Controller/Pitch Rate Lead Filter'

使用完整模块路径删除该模块。

delete_block('f14/Controller/Pitch Rate Lead Filter')

要验证该模块是否已删除,请打开 Controller 子系统。

open_system('f14/Controller')

删除多个模块

删除另外两个滤波器模块。

delete_block({'f14/Controller/Alpha-sensor Low-pass Filter','f14/Controller/Stick Prefilter'})

您可以使用具有以下输入参量之一的 delete_block 函数以编程方式从库中删除模块:

  • 包括模块名称的完整模块路径,例如 'myModel/mySubsystem/myblock'

  • 模块句柄

此示例说明如何使用模块句柄以编程方式删除模块。

删除一个模块

f14 模型中删除俯仰速率滤波器。

打开示例。然后,加载或打开该模型。

open_system('f14')

获取 Controller 子系统中名为 Pitch Rate Lead Filter 的 Transfer Function 模块的句柄。

h=getSimulinkBlockHandle('f14/Controller/Pitch Rate Lead Filter')
h = 
397.0020

使用句柄删除该模块。

delete_block(h)

要验证该模块是否已删除,请打开 Controller 子系统。

open_system('f14/Controller')

删除多个模块

获取 Controller 子系统中名为 Alpha-sensor Low-pass FilterStick Prefilter 的 Transfer Function 模块的句柄。

h1=getSimulinkBlockHandle('f14/Controller/Alpha-sensor Low-pass Filter');
h2=getSimulinkBlockHandle('f14/Controller/Stick Prefilter');

删除另外两个滤波器模块。

delete_block([h1, h2])

输入参数

全部折叠

要删除的模块,指定为完整模块路径名称、句柄、句柄向量,或者由句柄或模块路径名称组成的一维元胞数组或字符串数组。

示例: 'vdp/Mu'

示例: [handle1 handle2]

示例: {'vdp/Mu' 'vdp/Out1' 'vdp/Out2'}

示例: "vdp/Out"+(1:2)

版本历史记录

在 R2006a 之前推出

另请参阅