最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

find_system

システム、ブロック、ライン、端子、注釈の検索

説明

Objects = find_system は、サブシステムを含む、読み込まれたシステムとそれらのブロックを返します。

Objects = find_system(System) は、指定されたシステムとそのブロックを返します。

Objects = find_system(Name,Value) は、読み込まれたシステムと、1 つ以上の Name,Value のペアの引数で指定された基準を満たすそれらのシステム内のオブジェクトを返します。この構文を使用して検索条件を指定し、特定のパラメーター値を検索できます。検索条件はパラメーターと値のペアの前に指定します。

Objects = find_system(System,Name,Value) は、指定されたシステムの指定された基準を満たすオブジェクトを返します。

すべて折りたたむ

読み込まれたすべてのシステムとそのブロックの名前を返します。

load_system('vdp')
find_system
ans = 13x1 cell
    {'vdp'                     }
    {'vdp/Fcn'                 }
    {'vdp/More Info'           }
    {'vdp/More Info/Model Info'}
    {'vdp/Mu'                  }
    {'vdp/Mux'                 }
    {'vdp/Product'             }
    {'vdp/Scope'               }
    {'vdp/Sum'                 }
    {'vdp/x1'                  }
    {'vdp/x2'                  }
    {'vdp/Out1'                }
    {'vdp/Out2'                }

vdp を含む、読み込まれたシステムとライブラリを返します。

vdp システムとそのブロックを返します。

load_system({'vdp','fuelsys'})
find_system('vdp')
ans = 13x1 cell
    {'vdp'                     }
    {'vdp/Fcn'                 }
    {'vdp/More Info'           }
    {'vdp/More Info/Model Info'}
    {'vdp/Mu'                  }
    {'vdp/Mux'                 }
    {'vdp/Product'             }
    {'vdp/Scope'               }
    {'vdp/Sum'                 }
    {'vdp/x1'                  }
    {'vdp/x2'                  }
    {'vdp/Out1'                }
    {'vdp/Out2'                }

読み込まれたモデル (ブロック線図) のみの名前を返します。ライブラリはモデルとして扱われるため、ライブラリ名も返します。

load_system('vdp');
open_bd = find_system('type','block_diagram')
open_bd = 1x1 cell array
    {'vdp'}

sldemo_clutch システム内の Unlocked サブシステムの子であるすべての Goto ブロックの名前を返します。

load_system('sldemo_clutch');
find_system('sldemo_clutch/Unlocked','SearchDepth',1,'BlockType','Goto')
ans = 2x1 cell
    {'sldemo_clutch/Unlocked/Goto' }
    {'sldemo_clutch/Unlocked/Goto1'}

vdp システムを検索し、Gain 値が 1 に設定されているすべての Gain ブロックの名前を返します。

load_system('vdp');
find_system('vdp','BlockType','Gain','Gain','1')
ans = 1x1 cell array
    {'vdp/Mu'}

vdp システム内のすべてのラインと注釈のハンドルを取得します。'FindAll' を使用すると、指定したシステムの検索方法に関係なく、ハンドルが返されます。

load_system('vdp');
L = find_system('vdp','FindAll','on','type','line')
L = 17×1

   30.0011
   29.0011
   28.0011
   27.0011
   26.0011
   25.0011
   24.0011
   23.0011
   22.0011
   21.0011
      ⋮

A = find_system('vdp','FindAll','on','type','annotation')
A = 2×1

   32.0011
   31.0011

vdp システムと fuelsys システムで値が 0 のブロック ダイアログ ボックス パラメーターを検索します。

load_system({'vdp','fuelsys'})
find_system({'vdp','fuelsys'},'BlockDialogParams','0')
ans = 

    'vdp/x2'
    'vdp/Out1'
    'vdp/Out2'
    'fuelsys/Constant2'
    'fuelsys/Constant4'
    'fuelsys/Constant5'
    'fuelsys/engine …'
    'fuelsys/engine …'
    'fuelsys/engine …'
    'fuelsys/engine …'
				.
				.
				.

3 で始まるブロック ダイアログ パラメーター値をもつ、現在読み込まれているシステムの最上位にあるすべてのブロックを検索します。

load_system({'fuelsys','vdp'});
find_system('SearchDepth','1','regexp','on','BlockDialogParams','^3')
ans = 3x1 cell
    {'vdp/Scope'         }
    {'vdp/Scope'         }
    {'fuelsys/Nominal...'}

正規表現を使用して検索する場合は、一致させる文字ベクトルの一部を指定して、その文字ベクトルが含まれるすべてのオブジェクトを返すことができます。sldemo_clutch モデルのすべての Inport ブロックと Outport ブロックを検索します。

load_system('sldemo_clutch');
find_system('sldemo_clutch','regexp','on','blocktype','port')
ans = 39x1 cell
    {'sldemo_clutch/Friction...'                               }
    {'sldemo_clutch/Friction...'                               }
    {'sldemo_clutch/Friction...'                               }
    {'sldemo_clutch/Friction Mode Logic/Tin'                   }
    {'sldemo_clutch/Friction Mode Logic/Tfmaxs'                }
    {'sldemo_clutch/Friction Mode Logic/Break Apart...'        }
    {'sldemo_clutch/Friction Mode Logic/Break Apart...'        }
    {'sldemo_clutch/Friction Mode Logic/Break Apart...'        }
    {'sldemo_clutch/Friction Mode Logic/Lockup...'             }
    {'sldemo_clutch/Friction Mode Logic/Lockup...'             }
    {'sldemo_clutch/Friction Mode Logic/Lockup...'             }
    {'sldemo_clutch/Friction Mode Logic/Lockup...'             }
    {'sldemo_clutch/Friction Mode Logic/Lockup...'             }
    {'sldemo_clutch/Friction Mode Logic/Lockup...'             }
    {'sldemo_clutch/Friction Mode Logic/Lockup...'             }
    {'sldemo_clutch/Friction Mode Logic/Lockup...'             }
    {'sldemo_clutch/Friction Mode Logic/Lockup FSM/lock'       }
    {'sldemo_clutch/Friction Mode Logic/Lockup FSM/unlock'     }
    {'sldemo_clutch/Friction Mode Logic/Lockup FSM/locked'     }
    {'sldemo_clutch/Friction Mode Logic/Requisite Friction/Tin'}
    {'sldemo_clutch/Friction Mode Logic/Requisite Friction/Tf' }
    {'sldemo_clutch/Friction Mode Logic/locked'                }
    {'sldemo_clutch/Friction Mode Logic/lock'                  }
    {'sldemo_clutch/Friction Mode Logic/unlock'                }
    {'sldemo_clutch/Friction Mode Logic/Tf'                    }
    {'sldemo_clutch/Locked/Tin'                                }
    {'sldemo_clutch/Locked/w'                                  }
    {'sldemo_clutch/Unlocked/Tfmaxk'                           }
    {'sldemo_clutch/Unlocked/Tin'                              }
    {'sldemo_clutch/Unlocked/we'                               }
      ⋮

この例では、myModel に、ライブラリ リンクである単一のサブシステムが含まれています。モデルが最後に開かれた後に、ライブラリ内の対応するサブシステムに Gain ブロックが追加されています。

モデルを開きます。find_system を、'off' に設定した 'FollowLinks' と共に使用します。このコマンドは、サブシステムへのライブラリ リンクに従わず、最上位のサブシステムのみを返します。

open_system('myModel')
find_system(bdroot,'LookUnderMasks','on','FollowLinks', 'off')
ans = 

    'myModel'
    'myModel/Subsystem'

find_system を、'on' に設定した 'FollowLinks' と共に使用します。find_system はライブラリ リンクを更新し、サブシステムのブロックを返します。

find_system(bdroot,'LookUnderMasks','on','FollowLinks','on')
Updating Link: myModel/Subsystem/Gain
Updating Link: myModel/Subsystem/Gain

ans = 

    'myModel'
    'myModel/Subsystem'
    'myModel/Subsystem/Gain'

find_system にシステムをハンドルとして指定します。0 の値をもつブロック ダイアログ ボックス パラメーターを検索します。同じブロックに対する get_param を複数回呼び出す場合、ブロック ハンドルを使用する方が、ブロックの絶対パスを文字ベクトルとして指定するよりも効率的です。

load_system('vdp');
sys = get_param('vdp','Handle');
find_system(sys,'BlockDialogParams','0')
ans = 8×1

    3.0001
    4.0001
    8.0001
   11.0001
   12.0001
   12.0001
   13.0001
   13.0001

入力引数

すべて折りたたむ

検索するシステム。システムの絶対パス名、システムのパス名の cell 配列、ハンドル、ハンドルのベクトルとして指定します。

例: 'MyModel/Subsystem1'

例: {'vdp','fuelsys'}

名前と値のペアの引数

オプションのコンマ区切りされた Name,Value の引数ペアを指定します。ここで、Name は引数名、Value は対応する値です。Name は引用符で囲まなければなりません。Name1,Value1,...,NameN,ValueN のように、複数の名前と値のペア引数を任意の順序で指定できます。

例: 'SearchDepth','0','LookUnderMasks','none','BlockType','Goto' は、マスク サブシステムを除く、読み込まれたシステムで Goto ブロックを検索します。

関数 find_system を使用する場合、Name,Value のペアの引数には、検索条件およびパラメーター名と値のペアを含めることができます。検索条件は任意の順序で指定できますが、パラメーター名と値のペアの前に宣言しなければなりません。

ブロック パラメーターのリストの詳細については、ブロック固有のパラメーターを参照してください。

指定された値のブロック ダイアログ ボックス パラメーターを検索するオプション。'BlockDialogParams' と文字ベクトルまたは string スカラーで構成されるコンマ区切りのペアとして指定します。このペアは他の検索条件のペアに従わなければなりません。

比較時に大文字と小文字を区別するオプション。'CaseSensitive' と、大文字と小文字を区別して検索することを表す 'on' または 'off' で構成されるコンマ区切りのペアとして指定します。

システム内のライン、端子、注釈を検索に含めるオプション。'FindAll''on' または 'off' で構成されるコンマ区切りのペアとして指定します。このオプションが 'on' に設定されている場合、System 引数の指定にかかわらず、find_system はハンドルのベクトルを返します。

最初の結果のみを返して検索を停止するオプション。'FirstResultOnly''on' または 'off' で構成されるコンマ区切りのペアとして指定します。

モデルで参照サブシステム内を確認し、'LookInsideSubsystemReference''on' または 'off' で構成されるコンマ区切りのペアとして指定された子ブロックをリストするオプションです。

ライブラリ ブロック内へリンクをたどるオプション。'FollowLinks''on' または 'off' で構成されるコンマ区切りのペアとして指定します。検索するシステムを指定しない場合、'FollowLinks''on' または 'off' のどちらに設定されても、find_system の結果には読み込まれたライブラリが含まれます。'FollowLinks''LookUnderMasks' と共に使用すると、サブシステムでライブラリ リンクを更新できます。サブシステムのライブラリ リンクを更新するを参照してください。

コメント付きブロックを検索に含めるオプション。'IncludeCommented''on' または 'off' で構成されるコンマ区切りのペアとして指定します。

部分的に読み込まれた任意のモデルを読み込むオプション。'LoadFullyIfNeeded' と、モデルを読み込む 'on' または読み込みを無効にする 'off' で構成されるコンマ区切りのペアとして指定します。たとえば、読み込み関連の警告が表示されるのを防ぐために、このオプションを使用します。

マスク内を検索するオプション。'LookUnderMasks' と次のいずれかのオプションで構成されるコンマ区切りのペアとして指定します。

  • 'graphical' — ワークスペースやダイアログをもたないマスク サブシステムも検索します。

  • 'none' — マスク サブシステムを検索しません。

  • 'functional' — ダイアログをもたないマスク サブシステムも検索します。

  • 'all' — すべてのマスク サブシステムを検索します。

  • 'on' — すべてのマスク サブシステムを検索します。

  • 'off' — マスク サブシステムを検索しません。

検索式を正規表現として取り扱うオプション。'RegExp' と、検索式を正規表現として取り扱う 'on' または 'off' で構成されるコンマ区切りのペアとして指定します。MATLAB® 正規表現の詳細については、正規表現を参照してください。

指定されたレベルに検索の深さを限定するオプション。'SearchDepth' と正の整数の文字ベクトルまたは string スカラーで構成されるコンマ区切りのペアとして指定します。たとえば、読み込まれたシステムのみを検索する場合は '0'、最上位システムを構成するブロックとサブシステムを検索する場合は '1'、最上位システムとその子システムを検索する場合は '2' を指定します。既定では、すべてのレベルを検索します。

バリアントを検索するオプション。'Variants' と次のいずれかのオプションで構成されるコンマ区切りのペアとして指定します。

  • 'ActiveVariants' — アクティブな Variant Subsystem のみを検索します。

  • 'AllVariants' — すべてのバリアントを検索します。

  • 'ActivePlusCodeVariants' — プリプロセッサの条件が生成される場合、すべてのバリアントを検索します。そうでない場合は、アクティブなバリアントのみを検索します。

この検索条件は、Variant Subsystem とモデル バリアントにのみ適用されます。

出力引数

すべて折りたたむ

検出された一致するオブジェクト。以下として返されます。

  • System をパス名またはパス名の cell 配列として指定した場合、またはシステムを指定しなかった場合は、パス名の cell 配列

  • System をハンドルまたはハンドルのベクトルとして指定した場合は、ハンドルのベクトル

R2006a より前に導入