フォルダ内に含まれる​指定した一つのモデル​ファイルのルートレベ​ルのI/O信号名が他​のモデルに存在するか​を確認する方法はあり​ますか?

2 Ansichten (letzte 30 Tage)
MathWorks Support Team
MathWorks Support Team am 24 Sep. 2019
フォルダ内に複数のモデルファイルを保管しています。
これらのモデルのルートレベルの信号は、それぞれ同名の信号と接続するように作成しています。
指定したモデルファイルのルートレベルのI-O信号名が、フォルダ内の他のモデルに存在するかを確認する方法を教えてください。

Akzeptierte Antwort

MathWorks Support Team
MathWorks Support Team am 24 Okt. 2019
Bearbeitet: MathWorks Support Team am 23 Okt. 2019
はい、可能です。
Inport/Outportブロックのブロック名を基準として確認する方法を紹介します。主な流れは次の通りです。
1. 指定するモデルとその他のモデルが保存されているフォルダ(※)を指定します。
(※)すべてのモデルファイルは同一フォルダに保存されていることを前提とします。
2. フォルダ内のすべてのモデルの入出力ポートの名前とポート番号を取得します。
3. コマンド setdiff を使用して指定するモデル以外のモデル名のリストを作成します。
4. コマンド ismember で指定するモデルが持つ Inport/Outport ブロック名と 3. で作成したリストのモデルが持つ Inport/Outport ブロック名を比較します。
5. 結果をエクセルに書き出します。
本回答上部より、サンプルファイルをダウンロードすることが可能です。
サンプルフォルダには m1~m5 の名前のモデルとサンプルの関数 checkInterface が含まれています。
解凍フォルダを "C:\test" とした場合、モデル m1 の入出力について確認するには、以下のコマンドを実行します。
>> checkInterface('m1', 'C:\test')

Weitere Antworten (0)

Kategorien

Mehr zu モデル化 finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!