Main Content

delete_block

Simulink システムからのブロックの削除

説明

delete_block(blockArg) は、指定されたブロックをシステムから削除します。ブロックを削除する前にシステムを開きます。

すべて折りたたむ

次の入力引数のいずれかを指定して関数 delete_block を使用することで、ライブラリからブロックをプログラムによって削除できます。

  • ブロック名を含む絶対ブロック パス (たとえば、'myModel/mySubsystem/myblock')

  • ブロック ハンドル

この例では、絶対ブロック パスを使用してブロックをプログラムによって削除する方法を示します。

1 つのブロックの削除

ピッチ レート フィルターを f14 モデルから削除します。

例を開きます。次に、モデルを読み込むか開きます。

open_system('f14')

このタスクを完了するために必要なブロックの正確な名前もモデル内のブロックの場所もわからないとします。

関数 find_system を使用して f14 モデルのすべてのブロックの絶対ブロック パスを取得します。

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

filter または Filter という単語が含まれているパスに結果を絞り込みます。

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')

複数のブロックの削除

他の 2 つのフィルター ブロックを削除します。

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

次の入力引数のいずれかを指定して関数 delete_block を使用することで、ライブラリからブロックをプログラムによって削除できます。

  • ブロック名を含む絶対ブロック パス (たとえば、'myModel/mySubsystem/myblock')

  • ブロック ハンドル

この例では、ブロック ハンドルを使用してブロックをプログラムによって削除する方法を示します。

1 つのブロックの削除

ピッチ レート フィルターを f14 モデルから削除します。

例を開きます。次に、モデルを読み込むか開きます。

open_system('f14')

Controller サブシステム内の Pitch Rate Lead Filter という名前の Transfer Function ブロックのハンドルを取得します。

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

ハンドルを使用してブロックを削除します。

delete_block(h)

ブロックが削除されたことを確認するために、Controller サブシステムを開きます。

open_system('f14/Controller')

複数のブロックの削除

Controller サブシステム内の Alpha-sensor Low-pass Filter および Stick Prefilter という名前の Transfer Function ブロックのハンドルを取得します。

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

他の 2 つのフィルター ブロックを削除します。

delete_block([h1, h2])

入力引数

すべて折りたたむ

削除するブロック。ブロックの絶対パス名、ハンドル、ハンドルのベクトル、ハンドルまたはブロック パス名の 1 次元 cell 配列または string 配列として指定します。

例: 'vdp/Mu'

例: [handle1 handle2]

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

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

バージョン履歴

R2006a より前に導入

参考